<?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:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Atk" version="1.0"/>
  <include name="Cogl" version="17"/>
  <include name="GL" version="1.0"/>
  <include name="GObject" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <include name="Mtk" version="17"/>
  <include name="Pango" version="1.0"/>
  <package name="mutter-clutter-17"/>
  <c:include name="clutter/clutter-pango.h"/>
  <c:include name="clutter/clutter.h"/>
  <doc:format name="gi-docgen"/>
  <namespace name="Clutter"
             version="17"
             shared-library="libmutter-clutter-17.so.0"
             c:identifier-prefixes="Clutter"
             c:symbol-prefixes="clutter">
    <alias name="PipelineGroup" c:type="ClutterPipelineGroup">
      <source-position filename="clutter/clutter/clutter-pipeline-cache.h"
                       line="28"/>
      <type name="gpointer" c:type="gpointer"/>
    </alias>
    <function-macro name="ACTOR"
                    c:identifier="CLUTTER_ACTOR"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-actor.h" line="47"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACTOR_BOX_INIT"
                    c:identifier="CLUTTER_ACTOR_BOX_INIT"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-types.h"
           line="139">A simple macro for initializing a #ClutterActorBox when declaring
it, e.g.:

```c
  ClutterActorBox box = CLUTTER_ACTOR_BOX_INIT (0, 0, 400, 600);
```</doc>
      <source-position filename="clutter/clutter/clutter-types.h" line="153"/>
      <parameters>
        <parameter name="x_1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-types.h"
               line="141">the X coordinate of the top left corner</doc>
        </parameter>
        <parameter name="y_1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-types.h"
               line="142">the Y coordinate of the top left corner</doc>
        </parameter>
        <parameter name="x_2">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-types.h"
               line="143">the X coordinate of the bottom right corner</doc>
        </parameter>
        <parameter name="y_2">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-types.h"
               line="144">the Y coordinate of the bottom right corner</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACTOR_CLASS"
                    c:identifier="CLUTTER_ACTOR_CLASS"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-actor.h" line="48"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACTOR_GET_CLASS"
                    c:identifier="CLUTTER_ACTOR_GET_CLASS"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-actor.h" line="51"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ACTOR_NODE"
                    c:identifier="CLUTTER_ACTOR_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="92"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Action"
           c:symbol-prefix="action"
           c:type="ClutterAction"
           parent="ActorMeta"
           abstract="1"
           glib:type-name="ClutterAction"
           glib:get-type="clutter_action_get_type"
           glib:type-struct="ActionClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-action.c"
           line="25">Abstract class for event-related logic

#ClutterAction is an abstract base class for event-related actions that
modify the user interaction of a [class@Actor], just like
[class@Constraint] is an abstract class for modifiers of an actor's
position or size.

Implementations of #ClutterAction are associated to an actor and can
provide behavioral changes when dealing with user input - for instance
drag and drop capabilities, or scrolling, or panning - by using the
various event-related signals provided by [class@Actor] itself.</doc>
      <source-position filename="clutter/clutter/clutter-action.h" line="63"/>
      <virtual-method name="handle_event">
        <source-position filename="clutter/clutter/clutter-action.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="action" transfer-ownership="none">
            <type name="Action" c:type="ClutterAction*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="const ClutterEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="register_sequence">
        <source-position filename="clutter/clutter/clutter-action.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Action" c:type="ClutterAction*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="const ClutterEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="sequence_cancelled">
        <source-position filename="clutter/clutter/clutter-action.h"
                         line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="action" transfer-ownership="none">
            <type name="Action" c:type="ClutterAction*"/>
          </instance-parameter>
          <parameter name="sprite" transfer-ownership="none">
            <type name="Sprite" c:type="ClutterSprite*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="setup_sequence_relationship">
        <source-position filename="clutter/clutter/clutter-action.h"
                         line="60"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="action_1" transfer-ownership="none">
            <type name="Action" c:type="ClutterAction*"/>
          </instance-parameter>
          <parameter name="action_2" transfer-ownership="none">
            <type name="Action" c:type="ClutterAction*"/>
          </parameter>
          <parameter name="sprite" transfer-ownership="none">
            <type name="Sprite" c:type="ClutterSprite*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_phase" c:identifier="clutter_action_get_phase">
        <source-position filename="clutter/clutter/clutter-action.h"
                         line="95"/>
        <return-value transfer-ownership="none">
          <type name="EventPhase" c:type="ClutterEventPhase"/>
        </return-value>
        <parameters>
          <instance-parameter name="action" transfer-ownership="none">
            <type name="Action" c:type="ClutterAction*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="ActorMeta" c:type="ClutterActorMeta"/>
      </field>
    </class>
    <record name="ActionClass"
            c:type="ClutterActionClass"
            glib:is-gtype-struct-for="Action">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-action.h"
           line="41">The ClutterActionClass structure contains only private data</doc>
      <source-position filename="clutter/clutter/clutter-action.h" line="63"/>
      <field name="parent_class" readable="0" private="1">
        <type name="ActorMetaClass" c:type="ClutterActorMetaClass"/>
      </field>
      <field name="handle_event">
        <callback name="handle_event">
          <source-position filename="clutter/clutter/clutter-action.h"
                           line="51"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="action" transfer-ownership="none">
              <type name="Action" c:type="ClutterAction*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Event" c:type="const ClutterEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="sequence_cancelled">
        <callback name="sequence_cancelled">
          <source-position filename="clutter/clutter/clutter-action.h"
                           line="54"/>
          <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="ClutterAction*"/>
            </parameter>
            <parameter name="sprite" transfer-ownership="none">
              <type name="Sprite" c:type="ClutterSprite*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="register_sequence">
        <callback name="register_sequence">
          <source-position filename="clutter/clutter/clutter-action.h"
                           line="57"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Action" c:type="ClutterAction*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Event" c:type="const ClutterEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="setup_sequence_relationship">
        <callback name="setup_sequence_relationship">
          <source-position filename="clutter/clutter/clutter-action.h"
                           line="60"/>
          <return-value transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </return-value>
          <parameters>
            <parameter name="action_1" transfer-ownership="none">
              <type name="Action" c:type="ClutterAction*"/>
            </parameter>
            <parameter name="action_2" transfer-ownership="none">
              <type name="Action" c:type="ClutterAction*"/>
            </parameter>
            <parameter name="sprite" transfer-ownership="none">
              <type name="Sprite" c:type="ClutterSprite*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="Actor"
           c:symbol-prefix="actor"
           c:type="ClutterActor"
           parent="GObject.InitiallyUnowned"
           glib:type-name="ClutterActor"
           glib:get-type="clutter_actor_get_type"
           glib:type-struct="ActorClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-actor.c"
           line="25">The basic element of the scene graph

The ClutterActor class is the basic element of the scene graph in Clutter,
and it encapsulates the position, size, and transformations of a node in
the graph.

## Actor transformations

Each actor can be transformed using methods like [method@Actor.set_scale]
or [method@Actor.set_rotation_angle]. The order in which the transformations are
applied is decided by Clutter and it is the following:

 1. translation by the origin of the [property@Actor:allocation] property
 2. translation by the actor's [property@Actor:z-position] property
 3. translation by the actor's [property@Actor:pivot-point] property
 4. scaling by the [property@Actor:scale-x] and [property@Actor:scale-y] factors
 5. rotation around the [property@Actor:rotation-angle-x]
 6. rotation around the [property@Actor:rotation-angle-y]
 7. rotation around the [property@Actor:rotation-angle-z]
 8. negative translation by the actor's [property@Actor:pivot-point]

## Modifying an actor's geometry

Each actor has a bounding box, called [property@Actor:allocation]
which is either set by its parent or explicitly through the
[method@Actor.set_position] and [method@Actor.set_size] methods.
Each actor also has an implicit preferred size.

An actor’s preferred size can be defined by any subclass by
overriding the [vfunc@Actor.get_preferred_width] and the
[vfunc@Actor.get_preferred_height] virtual functions, or it can
be explicitly set by using [method@Actor.set_width] and
[method@Actor.set_height].

An actor’s position can be set explicitly by using
[method@Actor.set_x] and [method@Actor.set_y]; the coordinates are
relative to the origin of the actor’s parent.

## Managing actor children

Each actor can have multiple children, by calling
[method@Clutter.Actor.add_child] to add a new child actor, and
[method@Clutter.Actor.remove_child] to remove an existing child. #ClutterActor
will hold a reference on each child actor, which will be released when
the child is removed from its parent, or destroyed using
[method@Clutter.Actor.destroy].

```c
 ClutterActor *actor = clutter_actor_new ();

 // set the bounding box of the actor
 clutter_actor_set_position (actor, 0, 0);
 clutter_actor_set_size (actor, 480, 640);

 // set the background color of the actor
 clutter_actor_set_background_color (actor, &amp;COGL_COLOR_INIT (0xf5, 0x79, 0x00, 0xff));

 // set the bounding box of the child, relative to the parent
 ClutterActor *child = clutter_actor_new ();
 clutter_actor_set_position (child, 20, 20);
 clutter_actor_set_size (child, 80, 240);

 // set the background color of the child
 clutter_actor_set_background_color (child, &amp;COGL_COLOR_INIT (0x00, 0x00, 0xff, 0xff));

 // add the child to the actor
 clutter_actor_add_child (actor, child);
```

Children can be inserted at a given index, or above and below
another child actor. The order of insertion determines the order of the
children when iterating over them. Iterating over children is performed
by using [method@Clutter.Actor.get_first_child], [method@Clutter.Actor.get_previous_sibling],
[method@Clutter.Actor.get_next_sibling], and [method@Clutter.Actor.get_last_child]. It is
also possible to retrieve a list of children by using
[method@Clutter.Actor.get_children], as well as retrieving a specific child at a
given index by using [method@Clutter.Actor.get_child_at_index].

If you need to track additions of children to a [type@Clutter.Actor], use
the [signal@Clutter.Actor::child-added] signal; similarly, to track
removals of children from a ClutterActor, use the
[signal@Clutter.Actor::child-removed] signal.

## Painting an actor

There are three ways to paint an actor:

 - set a delegate #ClutterContent as the value for the [property@Clutter.Actor:content] property of the actor
 - subclass #ClutterActor and override the [vfunc@Clutter.Actor.paint_node] virtual function
 - subclass #ClutterActor and override the [vfunc@Clutter.Actor.paint] virtual function.

A #ClutterContent is a delegate object that takes over the painting
operations of one, or more actors. The #ClutterContent painting will
be performed on top of the [property@Clutter.Actor:background-color] of the actor,
and before calling the actor's own implementation of the
[vfunc@Clutter.Actor.paint_node] virtual function.

```c
ClutterActor *actor = clutter_actor_new ();

// set the bounding box
clutter_actor_set_position (actor, 50, 50);
clutter_actor_set_size (actor, 100, 100);

// set the content; the image_content variable is set elsewhere
clutter_actor_set_content (actor, image_content);
```

The [vfunc@Clutter.Actor.paint_node] virtual function is invoked whenever
an actor needs to be painted. The implementation of the virtual function
must only paint the contents of the actor itself, and not the contents of
its children, if the actor has any.

The #ClutterPaintNode passed to the virtual function is the local root of
the render tree; any node added to it will be rendered at the correct
position, as defined by the actor's [property@Clutter.Actor:allocation].

```c
static void
my_actor_paint_node (ClutterActor     *actor,
                     ClutterPaintNode *root)
{
  ClutterPaintNode *node;
  ClutterActorBox box;

  // where the content of the actor should be painted
  clutter_actor_get_allocation_box (actor, &amp;box);

  // the cogl_texture variable is set elsewhere
  node = clutter_texture_node_new (cogl_texture, &amp;COGL_COLOR_INIT (255, 255, 255, 255),
                                   CLUTTER_SCALING_FILTER_TRILINEAR,
                                   CLUTTER_SCALING_FILTER_LINEAR);

  // paint the content of the node using the allocation
  clutter_paint_node_add_rectangle (node, &amp;box);

  // add the node, and transfer ownership
  clutter_paint_node_add_child (root, node);
  clutter_paint_node_unref (node);
}
```

The [vfunc@Clutter.Actor.paint] virtual function function gives total
control to the paint sequence of the actor itself, including the
children of the actor, if any. It is strongly discouraged to override
the [vfunc@Clutter.Actor.paint] virtual function and it will be removed
when the Clutter API changes.

## Handling events on an actor

A #ClutterActor can receive and handle input device events, for
instance pointer events and key events, as long as its
[property@Clutter.Actor:reactive] property is set to %TRUE.

Once an actor has been determined to be the source of an event,
Clutter will traverse the scene graph from the top-level actor towards the
event source, emitting the [signal@Clutter.Actor::captured-event] signal on each
ancestor until it reaches the source; this phase is also called
the "capture" phase. If the event propagation was not stopped, the graph
is walked backwards, from the source actor to the top-level, and the
[signal@Clutter.Actor::event signal] is emitted, alongside eventual event-specific
signals like [signal@Clutter.Actor::button-press-event] or [signal@Clutter.Actor::motion-event];
this phase is also called the "bubble" phase.

At any point of the signal emission, signal handlers can stop the propagation
through the scene graph by returning %CLUTTER_EVENT_STOP; otherwise, they can
continue the propagation by returning %CLUTTER_EVENT_PROPAGATE.

## Animation

Animation is a core concept of modern user interfaces; Clutter provides a
complete and powerful animation framework that automatically tweens the
actor's state without requiring direct, frame by frame manipulation from
your application code. You have two models at your disposal:

 - an implicit animation model
 - an explicit animation model

The implicit animation model of Clutter assumes that all the
changes in an actor state should be gradual and asynchronous; Clutter
will automatically transition an actor's property change between the
current state and the desired one without manual intervention, if the
property is defined to be animatable in its documentation.

By default, in the 1.0 API series, the transition happens with a duration
of zero milliseconds, and the implicit animation is an opt in feature to
retain backwards compatibility.

Implicit animations depend on the current easing state; in order to use
the default easing state for an actor you should call the
[method@Clutter.Actor.save_easing_state] function:

```c
// assume that the actor is currently positioned at (100, 100)

// store the current easing state and reset the new easing state to
// its default values
clutter_actor_save_easing_state (actor);

// change the actor's position
clutter_actor_set_position (actor, 500, 500);

// restore the previously saved easing state
clutter_actor_restore_easing_state (actor);
```

The example above will trigger an implicit animation of the
actor between its current position to a new position.

Implicit animations use a default duration of 250 milliseconds,
and a default easing mode of %CLUTTER_EASE_OUT_CUBIC, unless you call
[method@Clutter.Actor.set_easing_mode] and [method@Clutter.Actor.set_easing_duration]
after changing the easing state of the actor.

It is possible to animate multiple properties of an actor
at the same time, and you can animate multiple actors at the same
time as well, for instance:

```c
clutter_actor_save_easing_state (actor);

// animate the actor's opacity and depth
clutter_actor_set_opacity (actor, 0);
clutter_actor_set_z_position (actor, -100);

clutter_actor_restore_easing_state (actor);

clutter_actor_save_easing_state (another_actor);

// animate another actor's opacity
clutter_actor_set_opacity (another_actor, 255);
clutter_actor_set_z_position (another_actor, 100);

clutter_actor_restore_easing_state (another_actor);
```

Changing the easing state will affect all the following property
transitions, but will not affect existing transitions.

It is important to note that if you modify the state on an
animatable property while a transition is in flight, the transition's
final value will be updated, as well as its duration and progress
mode by using the current easing state; for instance, in the following
example:

```c
clutter_actor_save_easing_state (actor);
clutter_actor_set_easing_duration (actor, 1000);
clutter_actor_set_x (actor, 200);
clutter_actor_restore_easing_state (actor);

clutter_actor_save_easing_state (actor);
clutter_actor_set_easing_duration (actor, 500);
clutter_actor_set_x (actor, 100);
clutter_actor_restore_easing_state (actor);
```

the first call to [method@Clutter.Actor.set_x] will begin a transition
of the [property@Clutter.Actor:x] property from the current value to the value of
200 over a duration of one second; the second call to [method@Clutter.Actor.set_x]
will change the transition's final value to 100 and the duration to 500
milliseconds.

It is possible to receive a notification of the completion of an
implicit transition by using the [signal@Clutter.Actor::transition-stopped]
signal, decorated with the name of the property. In case you want to
know when all the currently in flight transitions are complete, use
the [signal@Clutter.Actor::transitions-completed] signal instead.

It is possible to retrieve the [class@Clutter.Transition] used by the
animatable properties by using [method@Clutter.Actor.get_transition] and using
the property name as the transition name.

The explicit animation model supported by Clutter requires that
you create a #ClutterTransition object, and optionally set the initial
and final values. The transition will not start unless you add it to the
#ClutterActor.

```c
ClutterTransition *transition;

transition = clutter_property_transition_new_for_actor (actor, "opacity");
clutter_timeline_set_duration (CLUTTER_TIMELINE (transition), 3000);
clutter_timeline_set_repeat_count (CLUTTER_TIMELINE (transition), 2);
clutter_timeline_set_auto_reverse (CLUTTER_TIMELINE (transition), TRUE);
clutter_transition_set_from (transition, G_TYPE_UINT, 255);
clutter_transition_set_to (transition, G_TYPE_UINT, 0);

clutter_actor_add_transition (actor, "animate-opacity", transition);
```

The example above will animate the [property@Clutter.Actor:opacity] property
of an actor between fully opaque and fully transparent, and back, over
a span of 3 seconds. The animation does not begin until it is added to
the actor.

The explicit animation API applies to all #GObject properties,
as well as the custom properties defined through the [iface@Clutter.Animatable]
interface, regardless of whether they are defined as implicitly
animatable or not.

The explicit animation API should also be used when using custom
animatable properties for [class@Clutter.Action], [class@Clutter.Constraint], and
[class@Clutter.Effect] instances associated to an actor; see the section on
custom animatable properties below for an example.

Finally, explicit animations are useful for creating animations
that run continuously, for instance:

```c
// this animation will pulse the actor's opacity continuously
ClutterTransition *transition;
ClutterInterval *interval;

transition = clutter_property_transition_new_for_actor (actor, "opacity");

// we want to animate the opacity between 0 and 255
clutter_transition_set_from (transition, G_TYPE_UINT, 0);
clutter_transition_set_to (transition, G_TYPE_UINT, 255);

// over a one second duration, running an infinite amount of times
clutter_timeline_set_duration (CLUTTER_TIMELINE (transition), 1000);
clutter_timeline_set_repeat_count (CLUTTER_TIMELINE (transition), -1);

// we want to fade in and out, so we need to auto-reverse the transition
clutter_timeline_set_auto_reverse (CLUTTER_TIMELINE (transition), TRUE);

// and we want to use an easing function that eases both in and out
clutter_timeline_set_progress_mode (CLUTTER_TIMELINE (transition),
                                    CLUTTER_EASE_IN_OUT_CUBIC);

// add the transition to the desired actor to start it
clutter_actor_add_transition (actor, "opacityAnimation", transition);
```

## Implementing an actor

Careful consideration should be given when deciding to implement
a #ClutterActor sub-class. It is generally recommended to implement a
sub-class of #ClutterActor only for actors that should be used as leaf
nodes of a scene graph.

By overriding the [vfunc@Clutter.Actor.get_preferred_width] and
[vfunc@Clutter.Actor.get_preferred_height] virtual functions it is
possible to change or provide the preferred size of an actor; similarly,
by overriding the [vfunc@Clutter.Actor.allocate] virtual function it is
possible to control the layout of the children of an actor. Make sure to
always chain up to the parent implementation of the
[vfunc@Clutter.Actor.allocate] virtual function.

In general, it is strongly encouraged to use delegation and composition
instead of direct subclassing.

## Custom animatable properties

#ClutterActor allows accessing properties of [class@Clutter.Action],
[class@Clutter.Effect], and [class@Clutter.Constraint] instances associated to an actor
instance for animation purposes, as well as its [class@Clutter.LayoutManager].

In order to access a specific [class@Clutter.Action] or a [class@Clutter.Constraint]
property it is necessary to set the [property@Clutter.ActorMeta:name] property on the
given action or constraint.

The property can be accessed using the following syntax:

```
  @&lt;section&gt;.&lt;meta-name&gt;.&lt;property-name&gt;
```

 - the initial `@` is mandatory
 - the `section` fragment can be one between "actions", "constraints", "content",
   and "effects"
 - the `meta-name` fragment is the name of the action, effect, or constraint, as
   specified by the #ClutterActorMeta:name property of #ClutterActorMeta
 - the `property-name` fragment is the name of the action, effect, or constraint
   property to be animated.

The example below animates a [class@Clutter.BindConstraint] applied to an actor
using an explicit transition. The `rect` actor has a binding constraint
on the `origin` actor, and in its initial state is overlapping the actor
to which is bound to.

As the actor has only one [class@Clutter.LayoutManager], the syntax for accessing its
properties is simpler:

```
  @layout.&lt;property-name&gt;
```

```c
constraint = clutter_bind_constraint_new (origin, CLUTTER_BIND_X, 0.0);
clutter_actor_meta_set_name (CLUTTER_ACTOR_META (constraint), "bind-x");
clutter_actor_add_constraint (rect, constraint);

constraint = clutter_bind_constraint_new (origin, CLUTTER_BIND_Y, 0.0);
clutter_actor_meta_set_name (CLUTTER_ACTOR_META (constraint), "bind-y");
clutter_actor_add_constraint (rect, constraint);

clutter_actor_set_reactive (origin, TRUE);

g_signal_connect (origin, "button-press-event",
                  G_CALLBACK (on_button_press),
                  rect);
```

On button press, the rectangle "slides" from behind the actor to
which is bound to, using the #ClutterBindConstraint:offset property to
achieve the effect:

```c
gboolean
on_button_press (ClutterActor *origin,
                 ClutterEvent *event,
                 ClutterActor *rect)
{
  ClutterTransition *transition;

  // the offset that we want to apply; this will make the actor
  // slide in from behind the origin and rest at the right of
  // the origin, plus a padding value
  float new_offset = clutter_actor_get_width (origin) + h_padding;

  // the property we wish to animate; the "@constraints" section
  // tells Clutter to check inside the constraints associated
  // with the actor; the "bind-x" section is the name of the
  // constraint; and the "offset" is the name of the property
  // on the constraint
  const char *prop = "@constraints.bind-x.offset";

  // create a new transition for the given property
  transition = clutter_property_transition_new_for_actor (rect, prop);

  // set the easing mode and duration
  clutter_timeline_set_progress_mode (CLUTTER_TIMELINE (transition),
                                      CLUTTER_EASE_OUT_CUBIC);
  clutter_timeline_set_duration (CLUTTER_TIMELINE (transition), 500);

  // create the interval with the initial and final values
  clutter_transition_set_from (transition, G_TYPE_FLOAT, 0.f);
  clutter_transition_set_to (transition, G_TYPE_FLOAT, new_offset);

  // add the transition to the actor; this causes the animation
  // to start. the name "offsetAnimation" can be used to retrieve
  // the transition later
  clutter_actor_add_transition (rect, "offsetAnimation", transition);

  // we handled the event
  return CLUTTER_EVENT_STOP;
}
```</doc>
      <source-position filename="clutter/clutter/clutter-actor.h" line="244"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Animatable"/>
      <constructor name="new" c:identifier="clutter_actor_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7567">Creates a new #ClutterActor.

A newly created actor has a floating reference, which will be sunk
when it is added to another actor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="267"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="7575">the newly created #ClutterActor</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <virtual-method name="allocate" invoker="allocate">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="8780">Assigns the size of a #ClutterActor from the given @box.

This function should only be called on the children of an actor when
overriding the [vfunc@Clutter.Actor.allocate] virtual function.

This function will adjust the stored allocation to take into account
the alignment flags set in the [property@Clutter.Actor:x-align] and
[property@Clutter.Actor:y-align] properties, as well as the margin values set in
the[property@Clutter.Actor:margin-top], [property@Clutter.Actor:margin-right],
[property@Clutter.Actor:margin-bottom], and
[property@Clutter.Actor:margin-left] properties.

This function will respect the easing state of the #ClutterActor and
interpolate between the current allocation and the new one if the
easing state duration is a positive value.

Actors can know from their allocation box whether they have moved
with respect to their parent actor. The @flags parameter describes
additional information about the allocation, for instance whether
the parent has moved with respect to the stage, for example because
a grandparent's origin has moved.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="185"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8782">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8783">new allocation of the actor, in parent-relative coordinates</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="apply_transform">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="112">virtual function, used when applying the transformations
  to an actor before painting it or when transforming coordinates or
  the allocation; if the transformation calculated by this function may
  have changed, the cached transformation must be invalidated by calling
  clutter_actor_invalidate_transform(); it must chain up to the parent's
  implementation</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="189"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="matrix" transfer-ownership="none">
            <type name="Graphene.Matrix" c:type="graphene_matrix_t*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="button_press_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="124">class handler for [signal@Clutter.Actor::button-press-event]</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="195"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="ClutterEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="button_release_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="125">class handler for
  [signal@Clutter.Actor::button-release-event]</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="197"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="ClutterEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="calculate_resource_scale">
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="234"/>
        <return-value transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="phase" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="captured_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="134">signal class closure for [signal@Clutter.Actor::captured-event]</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="211"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="ClutterEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="child_added">
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="237"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="child_removed">
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="239"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="destroy" invoker="destroy">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7583">Destroys an actor.  When an actor is destroyed, it will break any
references it holds to other objects.  If the actor is inside a
container, the actor will be removed.

When you destroy a container, its children will be destroyed as well.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="172"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7585">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="enter_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="132">signal class closure for [signal@Clutter.Actor::enter-event]</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="207"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="ClutterEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="123">class handler for [signal@Clutter.Actor::event]</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="193"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="ClutterEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_accessible" invoker="get_accessible">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="5469">Returns the accessible object that describes the actor to an
assistive technology.

If no class-specific #AtkObject implementation is available for the
actor instance in question, it will inherit an #AtkObject
implementation from the first ancestor class for which such an
implementation is defined.

The documentation of the [https://gnome.pages.gitlab.gnome.org/at-spi2-core/atk/](ATK)
library contains more information about accessible objects and
their uses.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="219"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="5485">the #AtkObject associated with @actor</doc>
          <type name="Atk.Object" c:type="AtkObject*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="5471">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_paint_volume">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="142">virtual function, for sub-classes to define their
  #ClutterPaintVolume</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="222"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="volume" transfer-ownership="none">
            <type name="PaintVolume" c:type="ClutterPaintVolume*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_preferred_height"
                      invoker="get_preferred_height">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="8390">Computes the requested minimum and natural heights for an actor,
or if they are already computed, returns the cached values.

An actor may not get its request - depending on the layout
manager that's in effect.

A request should not incorporate the actor's scale or translation;
those transformations do not affect layout, only rendering.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="181"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8392">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="for_width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8393">available width to assume in computing desired height,
  or a negative value to indicate that no width is defined</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="min_height_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8395">return location for minimum height,
  or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="natural_height_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8397">return location for natural
  height, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_preferred_width" invoker="get_preferred_width">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="8226">Computes the requested minimum and natural widths for an actor,
optionally depending on the specified height, or if they are
already computed, returns the cached values.

An actor may not get its request - depending on the layout
manager that's in effect.

A request should not incorporate the actor's scaleor translation;
those transformations do not affect layout, only rendering.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="177"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8228">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="for_height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8229">available height when computing the preferred width,
  or a negative value to indicate that no height is defined</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="min_width_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8231">return location for minimum width,
  or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="natural_width_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8233">return location for the natural
  width, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="has_overlaps" invoker="has_overlaps">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15155">Asks the actor's implementation whether it may contain overlapping
primitives.

For example; Clutter may use this to determine whether the painting
should be redirected to an offscreen buffer to correctly implement
the opacity property.

Custom actors can override the default response by implementing the
[vfunc@Clutter.Actor.has_overlaps]. See
[method@Clutter.Actor.set_offscreen_redirect] for more information.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="225"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="15170">%TRUE if the actor may have overlapping primitives, and
  %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15157">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="hide" invoker="hide">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="1816">Flags an actor to be hidden. A hidden actor will not be
rendered on the stage.

Actors are visible by default.

If this function is called on an actor without a parent, the
[property@Clutter.Actor:show-on-set-parent] property will be set to %FALSE
as a side-effect.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="161"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="1818">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="hide_all">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="80">virtual function for containers and composite actors, to
  determine which children should be shown when calling
  clutter_actor_hide_all() on the actor. Defaults to calling
  clutter_actor_hide(). This virtual function is deprecated and it
  should not be overridden.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="162"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="key_focus_in">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="135">signal class closure for [signal@Clutter.Actor::key-focus-in]</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="213"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="key_focus_out">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="136">signal class closure for [signal@Clutter.Actor::key-focus-out]</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="214"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="key_press_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="128">signal class closure for [signal@Clutter.Actor::key-press-event]</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="201"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="ClutterEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="key_release_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="129">signal class closure for
  [signal@Clutter.Actor::key-release-event]</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="203"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="ClutterEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="leave_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="133">signal class closure for [signal@Clutter.Actor::leave-event]</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="209"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="ClutterEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="map" invoker="map">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="1482">Sets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly maps
and realizes its children if they are visible. Does nothing if the
actor is not visible.

Calling this function is strongly discouraged: the default
implementation of [vfunc@Clutter.Actor.map] will map all the children
of an actor when mapping its parent.

When overriding map, it is mandatory to chain up to the parent
implementation.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="165"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="1484">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="motion_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="131">signal class closure for [signal@Clutter.Actor::motion-event]</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="205"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="ClutterEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="paint" invoker="paint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="3481">Renders the actor to display.

This function should not be called directly by applications.
Call clutter_actor_queue_redraw() to queue paints, instead.

This function is context-aware, and will either cause a
regular paint or a pick paint.

This function will call the [vfunc@Clutter.Actor.paint] virtual
function.

This function does not paint the actor if the actor is set to 0,
unless it is performing a pick paint.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="167"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="3483">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="paint_node">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="148">virtual function for creating paint nodes and attaching
  them to the render tree</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="227"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="root" transfer-ownership="none">
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </parameter>
          <parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="parent_set">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="118">signal class handler for the [signal@Clutter.Actor::parent-set]</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="169"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="old_parent" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="pick" invoker="pick">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="3773">Asks @actor to perform a pick.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="173"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="3775">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="pick_context" transfer-ownership="none">
            <type name="PickContext" c:type="ClutterPickContext*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="queue_relayout" invoker="queue_relayout">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7839">Indicates that the actor's size request or other layout-affecting
properties may have changed. This function is used inside #ClutterActor
subclass implementations, not by applications directly.

Queueing a new layout automatically queues a redraw as well.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="216"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7841">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="realize"
                      invoker="realize"
                      deprecated="1"
                      deprecated-version="1.16">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="1880">Realization informs the actor that it is attached to a stage. It
can use this to allocate resources if it wanted to delay allocation
until it would be rendered. However it is perfectly acceptable for
an actor to create resources before being realized because Clutter
only ever has a single rendering context so that actor is free to
be moved from one stage to another.

This function does nothing if the actor is already realized.

Because a realized actor must have realized parent actors, calling
clutter_actor_realize() will also realize all parents of the actor.

This function does not realize child actors, except in the special
case that realizing the stage, when the stage is visible, will
suddenly map (and thus realize) the children of the stage.</doc>
        <doc-deprecated xml:space="preserve">Actors are automatically realized, and nothing
  requires explicit realization.</doc-deprecated>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="163"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="1882">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="resource_scale_changed">
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="233"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="scroll_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="127">signal class closure for [signal@Clutter.Actor::scroll-event]</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="199"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="ClutterEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="show" invoker="show">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="1723">Flags an actor to be displayed. An actor that isn't shown will not
be rendered on the stage.

Actors are visible by default.

If this function is called on an actor without a parent, the
[property@Clutter.Actor:show-on-set-parent] will be set to %TRUE as a side
effect.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="160"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="1725">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="touch_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="150">signal class closure for [signal@Clutter.Actor::touch-event]</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="231"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="ClutterEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="unmap" invoker="unmap">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="1621">Unsets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly
unmaps its children if they were mapped.

Calling this function is not encouraged: the default #ClutterActor
implementation of [vfunc@Clutter.Actor.unmap] will also unmap any
eventual children by default when their parent is unmapped.

When overriding [vfunc@Clutter.Actor.unmap], it is mandatory to
chain up to the parent implementation.

It is important to note that the implementation of the
[vfunc@Clutter.Actor.unmap] virtual function may be called after
the [vfunc@Clutter.Actor.destroy] or the [vfunc@GObject.Object.dispose]
implementation, but it is guaranteed to be called before the
[vfunc@GObject.Object.finalize] implementation.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="166"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="1623">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="unrealize"
                      invoker="unrealize"
                      deprecated="1"
                      deprecated-version="1.16">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="1985">Unrealization informs the actor that it may be being destroyed or
moved to another stage. The actor may want to destroy any
underlying graphics resources at this point. However it is
perfectly acceptable for it to retain the resources until the actor
is destroyed because Clutter only ever uses a single rendering
context and all of the graphics resources are valid on any stage.

Because mapped actors must be realized, actors may not be
unrealized if they are mapped. This function hides the actor to be
sure it isn't mapped, an application-visible side effect that you
may not be expecting.

This function should not be called by application code.

This function should not really be in the public API, because
there isn't a good reason to call it. ClutterActor will already
unrealize things for you when it's important to do so.

If you were using clutter_actor_unrealize() in a dispose
implementation, then don't, just chain up to ClutterActor's
dispose.

If you were using clutter_actor_unrealize() to implement
unrealizing children of your container, then don't, ClutterActor
will already take care of that.</doc>
        <doc-deprecated xml:space="preserve">Actors are automatically unrealized, and nothing
  requires explicit realization.</doc-deprecated>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="164"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="1987">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="add_accessible_state"
              c:identifier="clutter_actor_add_accessible_state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="18931">This method adds @state as one of the accessible states for
@actor. The list of states of an actor describes the current state
of user interface element @actor and is provided so that assistive
technologies know how to present @actor to the user.

Usually you will have no need to add accessible states for an
object, as the accessible object can extract most of the states
from the object itself.
This method is only required when one cannot extract the
information automatically from the object itself (i.e.: a generic
container used as a toggle menu item will not automatically include
the toggled state).</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="326"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18933">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18934">#AtkStateType state to add</doc>
            <type name="Atk.StateType" c:type="AtkStateType"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_action" c:identifier="clutter_actor_add_action">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13734">Adds @action to the list of actions applied to @self

A #ClutterAction can only belong to one actor at a time

The #ClutterActor will hold a reference on @action until either
[method@Clutter.Actor.remove_action] or [method@Clutter.Actor.clear_actions]
is called</doc>
        <source-position filename="clutter/clutter/clutter-action.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13736">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="action" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13737">a #ClutterAction</doc>
            <type name="Action" c:type="ClutterAction*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_action_full"
              c:identifier="clutter_actor_add_action_full">
        <source-position filename="clutter/clutter/clutter-action.h"
                         line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="phase" transfer-ownership="none">
            <type name="EventPhase" c:type="ClutterEventPhase"/>
          </parameter>
          <parameter name="action" transfer-ownership="none">
            <type name="Action" c:type="ClutterAction*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_action_with_name"
              c:identifier="clutter_actor_add_action_with_name">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13757">A convenience function for setting the name of a #ClutterAction
while adding it to the list of actions applied to @self

This function is the logical equivalent of:

```c
  clutter_actor_meta_set_name (CLUTTER_ACTOR_META (action), name);
  clutter_actor_add_action (self, action);
```</doc>
        <source-position filename="clutter/clutter/clutter-action.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13759">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13760">the name to set on the action</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="action" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13761">a #ClutterAction</doc>
            <type name="Action" c:type="ClutterAction*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_child" c:identifier="clutter_actor_add_child">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="11255">Adds @child to the children of @self.

This function will acquire a reference on @child that will only
be released when calling [method@Clutter.Actor.remove_child].

This function will take into consideration the depth
of @child, and will keep the list of children sorted.

This function will emit the [signal@Clutter.Actor::child-added] signal
on @self.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="630"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11257">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11258">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_constraint"
              c:identifier="clutter_actor_add_constraint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13937">Adds @constraint to the list`of `ClutterConstraint`s applied
to @self

The #ClutterActor will hold a reference on the @constraint until
either [method@Clutter.Actor.remove_constraint] or
[method@Clutter.Actor.clear_constraints] is called.</doc>
        <source-position filename="clutter/clutter/clutter-constraint.h"
                         line="83"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13939">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="constraint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13940">a #ClutterConstraint</doc>
            <type name="Constraint" c:type="ClutterConstraint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_constraint_with_name"
              c:identifier="clutter_actor_add_constraint_with_name">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13973">A convenience function for setting the name of a #ClutterConstraint
while adding it to the list of constraints applied to @self

This function is the logical equivalent of:

```c
  clutter_actor_meta_set_name (CLUTTER_ACTOR_META (constraint), name);
  clutter_actor_add_constraint (self, constraint);
```</doc>
        <source-position filename="clutter/clutter/clutter-constraint.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13975">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13976">the name to set on the constraint</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="constraint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13977">a #ClutterConstraint</doc>
            <type name="Constraint" c:type="ClutterConstraint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_effect" c:identifier="clutter_actor_add_effect">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14189">Adds @effect to the list of [class@Clutter.Effect]s applied to @self

The #ClutterActor will hold a reference on the @effect until either
[method@Clutter.Actor.remove_effect] or [method@Clutter.Actor.clear_effects] is
called.</doc>
        <source-position filename="clutter/clutter/clutter-effect.h"
                         line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14191">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14192">a #ClutterEffect</doc>
            <type name="Effect" c:type="ClutterEffect*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_effect_with_name"
              c:identifier="clutter_actor_add_effect_with_name">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14214">A convenience function for setting the name of a #ClutterEffect
while adding it to the list of effectss applied to @self

This function is the logical equivalent of:

```c
  clutter_actor_meta_set_name (CLUTTER_ACTOR_META (effect), name);
  clutter_actor_add_effect (self, effect);
```</doc>
        <source-position filename="clutter/clutter/clutter-effect.h"
                         line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14216">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14217">the name to set on the effect</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14218">a #ClutterEffect</doc>
            <type name="Effect" c:type="ClutterEffect*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_transition"
              c:identifier="clutter_actor_add_transition">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16794">Adds a @transition to the #ClutterActor's list of animations.

The @name string is a per-actor unique identifier of the @transition: only
one #ClutterTransition can be associated to the specified @name.

The @transition will be started once added.

This function will take a reference on the @transition.

This function is usually called implicitly when modifying an animatable
property.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="825"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16796">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16797">the name of the transition to add</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16798">the #ClutterTransition to add</doc>
            <type name="Transition" c:type="ClutterTransition*"/>
          </parameter>
        </parameters>
      </method>
      <method name="allocate" c:identifier="clutter_actor_allocate">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="8780">Assigns the size of a #ClutterActor from the given @box.

This function should only be called on the children of an actor when
overriding the [vfunc@Clutter.Actor.allocate] virtual function.

This function will adjust the stored allocation to take into account
the alignment flags set in the [property@Clutter.Actor:x-align] and
[property@Clutter.Actor:y-align] properties, as well as the margin values set in
the[property@Clutter.Actor:margin-top], [property@Clutter.Actor:margin-right],
[property@Clutter.Actor:margin-bottom], and
[property@Clutter.Actor:margin-left] properties.

This function will respect the easing state of the #ClutterActor and
interpolate between the current allocation and the new one if the
easing state duration is a positive value.

Actors can know from their allocation box whether they have moved
with respect to their parent actor. The @flags parameter describes
additional information about the allocation, for instance whether
the parent has moved with respect to the stage, for example because
a grandparent's origin has moved.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="366"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8782">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8783">new allocation of the actor, in parent-relative coordinates</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </parameter>
        </parameters>
      </method>
      <method name="allocate_align_fill"
              c:identifier="clutter_actor_allocate_align_fill">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="12917">Allocates @self by taking into consideration the available allocation
area; an alignment factor on either axis; and whether the actor should
fill the allocation on either axis.

The @box should contain the available allocation width and height;
if the x1 and y1 members of #ClutterActorBox are not set to 0, the
allocation will be offset by their value.

This function takes into consideration the geometry request specified by
the [property@Clutter.Actor:request-mode] property, and the text direction.

This function is useful for fluid layout managers using legacy alignment
flags. Newly written layout managers should use the
[property@Clutter.Actor:x-align] and [property@Clutter.Actor:y-align]
properties, instead, and just call [method@Clutter.Actor.allocate]
inside their [vfunc@Clutter.Actor.allocate] implementation.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="379"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12919">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12920">a #ClutterActorBox, containing the available width and height</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </parameter>
          <parameter name="x_align" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12921">the horizontal alignment, between 0 and 1</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="y_align" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12922">the vertical alignment, between 0 and 1</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="x_fill" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12923">whether the actor should fill horizontally</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="y_fill" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12924">whether the actor should fill vertically</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="allocate_available_size"
              c:identifier="clutter_actor_allocate_available_size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="12749">Allocates @self taking into account the #ClutterActor's
preferred size, but limiting it to the maximum available width
and height provided.

This function will do the right thing when dealing with the
actor's request mode.

The implementation of this function is equivalent to:

```c
  if (request_mode == CLUTTER_REQUEST_HEIGHT_FOR_WIDTH)
    {
      clutter_actor_get_preferred_width (self, available_height,
                                         &amp;min_width,
                                         &amp;natural_width);
      width = CLAMP (natural_width, min_width, available_width);

      clutter_actor_get_preferred_height (self, width,
                                          &amp;min_height,
                                          &amp;natural_height);
      height = CLAMP (natural_height, min_height, available_height);
    }
  else if (request_mode == CLUTTER_REQUEST_WIDTH_FOR_HEIGHT)
    {
      clutter_actor_get_preferred_height (self, available_width,
                                          &amp;min_height,
                                          &amp;natural_height);
      height = CLAMP (natural_height, min_height, available_height);

      clutter_actor_get_preferred_width (self, height,
                                         &amp;min_width,
                                         &amp;natural_width);
      width = CLAMP (natural_width, min_width, available_width);
    }
  else if (request_mode == CLUTTER_REQUEST_CONTENT_SIZE)
    {
      clutter_content_get_preferred_size (content, &amp;natural_width, &amp;natural_height);

      width = CLAMP (natural_width, 0, available_width);
      height = CLAMP (natural_height, 0, available_height);
    }

  box.x1 = x; box.y1 = y;
  box.x2 = box.x1 + available_width;
  box.y2 = box.y1 + available_height;
  clutter_actor_allocate (self, &amp;box);
```

This function can be used by fluid layout managers to allocate
an actor's preferred size without making it bigger than the area
available for the container.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="373"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12751">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12752">the actor's X coordinate</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12753">the actor's Y coordinate</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="available_width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12754">the maximum available width, or -1 to use the
  actor's natural width</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="available_height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12756">the maximum available height, or -1 to use the
  actor's natural height</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="allocate_preferred_size"
              c:identifier="clutter_actor_allocate_preferred_size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="12875">Allocates the natural size of @self.

This function is a utility call for #ClutterActor implementations
that allocates the actor's preferred natural size. It can be used
by fixed layout managers (like #ClutterGroup or so called
'composite actors') inside the [vfunc@Clutter.Actor.allocate]
implementation to give each child exactly how much space it
requires, regardless of the size of the parent.

This function is not meant to be used by applications. It is also
not meant to be used outside the implementation of the
#ClutterActorClass.allocate virtual function.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="369"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12877">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12878">the actor's X coordinate</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12879">the actor's Y coordinate</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </method>
      <method name="apply_relative_transform_to_point"
              c:identifier="clutter_actor_apply_relative_transform_to_point">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="2586">Transforms @point in coordinates relative to the actor into
ancestor-relative coordinates using the relevant transform
stack (i.e. scale, rotation, etc).

If @ancestor is %NULL the ancestor will be the #ClutterStage. In
this case, the coordinates returned will be the coordinates on
the stage before the projection is applied. This is different from
the behaviour of clutter_actor_apply_transform_to_point().</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="796"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="2588">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="ancestor"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="2589">A #ClutterActor ancestor, or %NULL to use the
  default #ClutterStage</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="point" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="2591">A point as #graphene_point3d_t</doc>
            <type name="Graphene.Point3D" c:type="const graphene_point3d_t*"/>
          </parameter>
          <parameter name="vertex"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="2592">The translated #graphene_point3d_t</doc>
            <type name="Graphene.Point3D" c:type="graphene_point3d_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="apply_transform_to_point"
              c:identifier="clutter_actor_apply_transform_to_point">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="2680">Transforms @point in coordinates relative to the actor
into screen-relative coordinates with the current actor
transformation (i.e. scale, rotation, etc)</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="792"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="2682">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="point" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="2683">A point as #graphene_point3d_t</doc>
            <type name="Graphene.Point3D" c:type="const graphene_point3d_t*"/>
          </parameter>
          <parameter name="vertex"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="2684">The translated #graphene_point3d_t</doc>
            <type name="Graphene.Point3D" c:type="graphene_point3d_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="bind_model" c:identifier="clutter_actor_bind_model">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="18279">Binds a #GListModel to a #ClutterActor.

If the #ClutterActor was already bound to a #GListModel, the previous
binding is destroyed.

The existing children of #ClutterActor are destroyed when setting a
model, and new children are created and added, representing the contents
of the @model. The #ClutterActor is updated whenever the @model changes.
If @model is %NULL, the #ClutterActor is left empty.

When a #ClutterActor is bound to a model, adding and removing children
directly is undefined behaviour.4</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="866"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18281">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="model"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18282">a #GListModel</doc>
            <type name="Gio.ListModel" c:type="GListModel*"/>
          </parameter>
          <parameter name="create_child_func"
                     transfer-ownership="none"
                     scope="notified"
                     closure="2"
                     destroy="3">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18283">a function that creates #ClutterActor instances
  from the contents of the @model</doc>
            <type name="ActorCreateChildFunc"
                  c:type="ClutterActorCreateChildFunc"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18285">user data passed to @create_child_func</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="notify" transfer-ownership="none" scope="async">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18286">function called when unsetting the @model</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="bind_model_with_properties"
              c:identifier="clutter_actor_bind_model_with_properties"
              introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="18394">Binds a #GListModel to a #ClutterActor.

Unlike clutter_actor_bind_model(), this function automatically creates
a child #ClutterActor of type @child_type, and binds properties on the
items inside the @model to the corresponding properties on the child,
for instance:

```c
  clutter_actor_bind_model_with_properties (actor, model,
                                            MY_TYPE_CHILD_VIEW,
                                            "label", "text", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE,
                                            "icon", "image", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE,
                                            "selected", "selected", G_BINDING_BIDIRECTIONAL,
                                            "active", "active", G_BINDING_BIDIRECTIONAL,
                                            NULL);
```

is the equivalent of calling clutter_actor_bind_model() with a
#ClutterActorCreateChildFunc of:

```c
  ClutterActor *res = g_object_new (MY_TYPE_CHILD_VIEW, NULL);

  g_object_bind_property (item, "label", res, "text", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE);
  g_object_bind_property (item, "icon", res, "image", G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE);
  g_object_bind_property (item, "selected", res, "selected", G_BINDING_BIDIRECTIONAL);
  g_object_bind_property (item, "active", res, "active", G_BINDING_BIDIRECTIONAL);

  return res;
```

If the #ClutterActor was already bound to a #GListModel, the previous
binding is destroyed.

When a #ClutterActor is bound to a model, adding and removing children
directly is undefined behaviour.

See also: clutter_actor_bind_model()4</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="872"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18396">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="model" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18397">a #GListModel</doc>
            <type name="Gio.ListModel" c:type="GListModel*"/>
          </parameter>
          <parameter name="child_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18398">the type of #ClutterActor to use when creating
  children mapping to items inside the @model</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="first_model_property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18400">the first property of @model to bind</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18401">tuples of property names on the @model, on the child, and the
  #GBindingFlags used to bind them, terminated by %NULL</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_actions" c:identifier="clutter_actor_clear_actions">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13919">Clears the list of actions applied to @self</doc>
        <source-position filename="clutter/clutter/clutter-action.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13921">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_constraints"
              c:identifier="clutter_actor_clear_constraints">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14121">Clears the list of constraints applied to @self</doc>
        <source-position filename="clutter/clutter/clutter-constraint.h"
                         line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14123">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="clear_effects" c:identifier="clutter_actor_clear_effects">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14347">Clears the list of effects applied to @self</doc>
        <source-position filename="clutter/clutter/clutter-effect.h"
                         line="110"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14349">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="contains" c:identifier="clutter_actor_contains">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="11621">Determines if @descendant is contained inside @self (either as an
immediate child, or as a deeper descendant). If @self and
@descendant point to the same actor then it will also return %TRUE.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="673"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="11630">whether @descendent is contained within @self</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11623">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="descendant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11624">A #ClutterActor, possibly contained in @self</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="continue_paint"
              c:identifier="clutter_actor_continue_paint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="3678">Run the next stage of the paint sequence. This function should only
be called within the implementation of the ‘run’ virtual of a
#ClutterEffect. It will cause the run method of the next effect to
be applied, or it will paint the actual actor if the current effect
is the last effect in the chain.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="285"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="3680">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="continue_pick" c:identifier="clutter_actor_continue_pick">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="3872">Run the next stage of the pick sequence. This function should only
be called within the implementation of the ‘pick’ virtual of a
#ClutterEffect. It will cause the run method of the next effect to
be applied, or it will pick the actual actor if the current effect
is the last effect in the chain.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="294"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="3874">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="pick_context" transfer-ownership="none">
            <type name="PickContext" c:type="ClutterPickContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_pango_context"
              c:identifier="clutter_actor_create_pango_context">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13175">Creates a #PangoContext for the given actor. The #PangoContext
is already configured using the appropriate font map, resolution
and font options.

See also [method@Clutter.Actor.get_pango_context].</doc>
        <source-position filename="clutter/clutter/pango/clutter-actor-pango.h"
                         line="38"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="13185">the newly created #PangoContext.
  Use g_object_unref() on the returned value to deallocate its
  resources</doc>
          <type name="Pango.Context" c:type="PangoContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13177">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="create_pango_layout"
              c:identifier="clutter_actor_create_pango_layout">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13205">Creates a new #PangoLayout from the same #PangoContext used
by the #ClutterActor. The #PangoLayout is already configured
with the font map, resolution and font options, and the
given @text.

If you want to keep around a #PangoLayout created by this
function you will have to connect to the #ClutterBackend::font-changed
and #ClutterBackend::resolution-changed signals, and call
pango_layout_context_changed() in response to them.</doc>
        <source-position filename="clutter/clutter/pango/clutter-actor-pango.h"
                         line="41"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="13220">the newly created #PangoLayout.
  Use g_object_unref() when done</doc>
          <type name="Pango.Layout" c:type="PangoLayout*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13207">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="text"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13208">the text to set on the #PangoLayout, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_texture_paint_node"
              c:identifier="clutter_actor_create_texture_paint_node">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="18483">Creates a #ClutterPaintNode initialized using the state of the
given #ClutterActor, ready to be used inside the implementation
of the #ClutterActorClass.paint_node virtual function.

The returned paint node has the geometry set to the size of the
[property@Clutter.Actor:content-box] property; it uses the filters specified
in the [property@Clutter.Actor:minification-filter]
and [property@Clutter.Actor:magnification-filter]
properties; and respects the [property@Clutter.Actor:content-repeat] property.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="288"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="18498">The newly created #ClutterPaintNode4</doc>
          <type name="PaintNode" c:type="ClutterPaintNode*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18485">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="texture" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18486">a #CoglTexture</doc>
            <type name="Cogl.Texture" c:type="CoglTexture*"/>
          </parameter>
        </parameters>
      </method>
      <method name="destroy" c:identifier="clutter_actor_destroy">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7583">Destroys an actor.  When an actor is destroyed, it will break any
references it holds to other objects.  If the actor is inside a
container, the actor will be removed.

When you destroy a container, its children will be destroyed as well.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="304"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7585">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="destroy_all_children"
              c:identifier="clutter_actor_destroy_all_children">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="11501">Destroys all children of @self.

This function releases the reference added by inserting a child
actor in the list of children of @self, and ensures that the
[signal@Clutter.Actor::destroy] signal is emitted on each child of the
actor.

By default, #ClutterActor will emit the [signal@Clutter.Actor::destroy] signal
when its reference count drops to 0; the default handler of the
[signal@Clutter.Actor::destroy] signal will destroy all the children of an
actor. This function ensures that all children are destroyed, instead
of just removed from @self, unlike [method@Clutter.Actor.remove_all_children]
which will merely release the reference and remove each child.

Unless you acquired an additional reference on each child of @self
prior to calling [method@Clutter.Actor.remove_all_children] and want to reuse
the actors, you should use [method@Clutter.Actor.destroy_all_children] in
order to make sure that children are destroyed and signal handlers
are disconnected even in cases where circular references prevent this
from automatically happening through reference counting alone.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="654"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11503">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="event" c:identifier="clutter_actor_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="11815">This function is used to emit an event on the main stage.
You should rarely need to use this function, except for
synthetising events.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="616"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="11825">the return value from the signal emission: %TRUE
  if the actor handled the event, or %FALSE if the event was
  not handled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11817">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11818">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </parameter>
          <parameter name="capture" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11819">%TRUE if event in in capture phase, %FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_abs_allocation_vertices"
              c:identifier="clutter_actor_get_abs_allocation_vertices">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="2763">Calculates the transformed screen coordinates of the four corners of
the actor; the returned vertices relate to the #ClutterActorBox
coordinates  as follows:

 - v[0] contains (x1, y1)
 - v[1] contains (x2, y1)
 - v[2] contains (x1, y2)
 - v[3] contains (x2, y2)</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="789"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="2765">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="verts"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="2766">Pointer to a location of an array
  of 4 #graphene_point3d_t where to store the result.</doc>
            <array zero-terminated="0"
                   c:type="graphene_point3d_t*"
                   fixed-size="4">
              <type name="Graphene.Point3D" c:type="graphene_point3d_t"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="get_accessible"
              c:identifier="clutter_actor_get_accessible">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="5469">Returns the accessible object that describes the actor to an
assistive technology.

If no class-specific #AtkObject implementation is available for the
actor instance in question, it will inherit an #AtkObject
implementation from the first ancestor class for which such an
implementation is defined.

The documentation of the [https://gnome.pages.gitlab.gnome.org/at-spi2-core/atk/](ATK)
library contains more information about accessible objects and
their uses.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="321"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="5485">the #AtkObject associated with @actor</doc>
          <type name="Atk.Object" c:type="AtkObject*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="5471">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_accessible_name"
              c:identifier="clutter_actor_get_accessible_name"
              glib:get-property="accessible-name">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="18831">Gets the accessible name for this widget. See
clutter_actor_set_accessible_name() for more information.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="319"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="18838">a character string representing the accessible name
of the widget.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18833">widget to get the accessible name for</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_accessible_role"
              c:identifier="clutter_actor_get_accessible_role"
              glib:get-property="accessible-role">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="18892">Gets the #AtkRole for this widget. See
clutter_actor_set_accessible_role() for more information.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="314"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="18899">accessible #AtkRole for this widget</doc>
          <type name="Atk.Role" c:type="AtkRole"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18894">widget to get the accessible role for</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_action" c:identifier="clutter_actor_get_action">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13894">Retrieves the #ClutterAction with the given name in the list
of actions applied to @self</doc>
        <source-position filename="clutter/clutter/clutter-action.h"
                         line="85"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="13902">a #ClutterAction for the given
  name, or %NULL. The returned #ClutterAction is owned by the
  actor and it should not be unreferenced directly</doc>
          <type name="Action" c:type="ClutterAction*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13896">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13897">the name of the action to retrieve</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_actions" c:identifier="clutter_actor_get_actions">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13872">Retrieves the list of actions applied to @self</doc>
        <source-position filename="clutter/clutter/clutter-action.h"
                         line="88"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="13878">a copy
  of the list of `ClutterAction`s. The contents of the list are
  owned by the #ClutterActor. Use g_list_free() to free the resources
  allocated by the returned #GList</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Action"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13874">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_allocation_box"
              c:identifier="clutter_actor_get_allocation_box">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="8552">Gets the layout box an actor has been assigned. The allocation can
only be assumed valid inside a paint() method; anywhere else, it
may be out-of-date.

An allocation does not incorporate the actor's scale or translation;
those transformations do not affect layout, only rendering.

Do not call any of the clutter_actor_get_allocation_*() family
of functions inside the implementation of the get_preferred_width()
or get_preferred_height() virtual functions.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="389"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8554">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="box"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8555">the function fills this in with the actor's allocation</doc>
            <type name="ActorBox" c:type="ClutterActorBox*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_background_color"
              c:identifier="clutter_actor_get_background_color"
              glib:get-property="background-color">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16064">Retrieves the color set using [method@Clutter.Actor.set_background_color].</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="597"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16066">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="color"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16067">return location for a #CoglColor</doc>
            <type name="Cogl.Color" c:type="CoglColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_child_at_index"
              c:identifier="clutter_actor_get_child_at_index">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15257">Retrieves the actor at the given @index_ inside the list of
children of @self.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="660"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="15265">a pointer to a #ClutterActor,
  or %NULL</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15259">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="index_" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15260">the position in the list of children</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_child_transform"
              c:identifier="clutter_actor_get_child_transform"
              glib:get-property="child-transform">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="18076">Retrieves the child transformation matrix set using
[method@Clutter.Actor.set_child_transform]; if none is currently set,
the @transform matrix will be initialized to the identity matrix.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="767"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18078">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="transform"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18079">a #graphene_matrix_t</doc>
            <type name="Graphene.Matrix" c:type="graphene_matrix_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_children" c:identifier="clutter_actor_get_children">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10778">Retrieves the list of children of @self.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="656"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="10784">A newly
  allocated #GList of `ClutterActor`s. Use g_list_free() when
  done.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Actor"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10780">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_clip" c:identifier="clutter_actor_get_clip">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10735">Gets the clip area for @self, if any is set.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="516"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10737">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="xoff"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10738">return location for the X offset of
  the clip rectangle, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="yoff"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10740">return location for the Y offset of
  the clip rectangle, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10742">return location for the width of
  the clip rectangle, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10744">return location for the height of
  the clip rectangle, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_clip_to_allocation"
              c:identifier="clutter_actor_get_clip_to_allocation"
              glib:get-property="clip-to-allocation">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14173">Retrieves the value set using clutter_actor_set_clip_to_allocation()</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="525"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="14179">%TRUE if the #ClutterActor is clipped to its allocation</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14175">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_color_state"
              c:identifier="clutter_actor_get_color_state"
              glib:get-property="color-state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17992">Retrieves the color_state of a [class@Actor] set by
[method@Actor.set_color_state].</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="588"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="17999">the #ClutterColorState</doc>
          <type name="ColorState" c:type="ClutterColorState*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17994">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_constraint"
              c:identifier="clutter_actor_get_constraint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14096">Retrieves the #ClutterConstraint with the given name in the list
of constraints applied to @self</doc>
        <source-position filename="clutter/clutter/clutter-constraint.h"
                         line="98"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="14104">a #ClutterConstraint for the given
  name, or %NULL. The returned #ClutterConstraint is owned by the
  actor and it should not be unreferenced directly</doc>
          <type name="Constraint" c:type="ClutterConstraint*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14098">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14099">the name of the constraint to retrieve</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_constraints"
              c:identifier="clutter_actor_get_constraints">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14074">Retrieves the list of constraints applied to @self</doc>
        <source-position filename="clutter/clutter/clutter-constraint.h"
                         line="96"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="14080">a copy
  of the list of `ClutterConstraint`s. The contents of the list are
  owned by the #ClutterActor. Use g_list_free() to free the resources
  allocated by the returned #GList</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Constraint"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14076">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content"
              c:identifier="clutter_actor_get_content"
              glib:get-property="content">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17279">Retrieves the contents of @self.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="560"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="17285">a pointer to the #ClutterContent
  instance, or %NULL if none was set</doc>
          <type name="Content" c:type="ClutterContent*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17281">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content_box"
              c:identifier="clutter_actor_get_content_box"
              glib:get-property="content-box">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17355">Retrieves the bounding box for the #ClutterContent of @self.

The bounding box is relative to the actor's allocation.

If no #ClutterContent is set for @self, or if @self has not been
allocated yet, then the result is undefined.

The content box is guaranteed to be, at most, as big as the allocation
of the #ClutterActor.

If the #ClutterContent used by the actor has a preferred size, then
it is possible to modify the content box by using the
[property@Clutter.Actor:content-gravity] property.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="591"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17357">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="box"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17358">the return location for the bounding
  box for the #ClutterContent</doc>
            <type name="ActorBox" c:type="ClutterActorBox*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_content_gravity"
              c:identifier="clutter_actor_get_content_gravity"
              glib:get-property="content-gravity">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17337">Retrieves the content gravity as set using
[method@Clutter.Actor.set_content_gravity].</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="565"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="17344">the content gravity</doc>
          <type name="ContentGravity" c:type="ClutterContentGravity"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17339">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content_repeat"
              c:identifier="clutter_actor_get_content_repeat"
              glib:get-property="content-repeat">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17919">Retrieves the repeat policy for a #ClutterActor set by
[method@Clutter.Actor.set_content_repeat].</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="578"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="17926">the content repeat policy</doc>
          <type name="ContentRepeat" c:type="ClutterContentRepeat"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17921">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content_scaling_filters"
              c:identifier="clutter_actor_get_content_scaling_filters">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17603">Retrieves the values set using [method@Clutter.Actor.set_content_scaling_filters].</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="571"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17605">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="min_filter"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17606">return location for the minification
  filter, or %NULL</doc>
            <type name="ScalingFilter" c:type="ClutterScalingFilter*"/>
          </parameter>
          <parameter name="mag_filter"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17608">return location for the magnification
  filter, or %NULL</doc>
            <type name="ScalingFilter" c:type="ClutterScalingFilter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_context"
              c:identifier="clutter_actor_get_context"
              glib:get-property="context">
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="679"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="12715">the Clutter context</doc>
          <type name="Context" c:type="ClutterContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12713">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_easing_delay"
              c:identifier="clutter_actor_get_easing_delay">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17044">Retrieves the delay that should be applied when tweening animatable
properties.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="820"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="17051">a delay, in milliseconds</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17046">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_easing_duration"
              c:identifier="clutter_actor_get_easing_duration">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16936">Retrieves the duration of the tweening for animatable
properties of @self for the current easing state.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="815"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="16943">the duration of the tweening, in milliseconds</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16938">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_easing_mode"
              c:identifier="clutter_actor_get_easing_mode">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16991">Retrieves the easing mode for the tweening of animatable properties
of @self for the current easing state.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="810"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="16998">an easing mode</doc>
          <type name="AnimationMode" c:type="ClutterAnimationMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16993">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_effect" c:identifier="clutter_actor_get_effect">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14322">Retrieves the #ClutterEffect with the given name in the list
of effects applied to @self</doc>
        <source-position filename="clutter/clutter/clutter-effect.h"
                         line="107"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="14330">a #ClutterEffect for the given
  name, or %NULL. The returned #ClutterEffect is owned by the
  actor and it should not be unreferenced directly</doc>
          <type name="Effect" c:type="ClutterEffect*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14324">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14325">the name of the effect to retrieve</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_effects" c:identifier="clutter_actor_get_effects">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14296">Retrieves the `ClutterEffect`s applied on @self, if any</doc>
        <source-position filename="clutter/clutter/clutter-effect.h"
                         line="105"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="14302">a list
  of `ClutterEffect`s, or %NULL. The elements of the returned
  list are owned by Clutter and they should not be freed. You should
  free the returned list using g_list_free() when done</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Effect"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14298">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_first_child"
              c:identifier="clutter_actor_get_first_child"
              glib:get-property="first-child">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16125">Retrieves the first child of @self.

The returned pointer is only valid until the scene graph changes; it
is not safe to modify the list of children of @self while iterating
it.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="667"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="16135">a pointer to a #ClutterActor,
  or %NULL</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16127">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_fixed_position"
              c:identifier="clutter_actor_get_fixed_position">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="9505">This function gets the fixed position of the actor, if set. If there
is no fixed position set, this function returns %FALSE and doesn't set
the x and y coordinates.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="406"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="9515">%TRUE if the fixed position is set, %FALSE if it isn't</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9507">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9508">return location for the X coordinate, or %NULL</doc>
            <type name="gfloat" c:type="float*"/>
          </parameter>
          <parameter name="y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9509">return location for the Y coordinate, or %NULL</doc>
            <type name="gfloat" c:type="float*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_fixed_position_set"
              c:identifier="clutter_actor_get_fixed_position_set"
              glib:get-property="fixed-position-set">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="8980">Checks whether an actor has a fixed position set (and will thus be
unaffected by any layout manager).</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="414"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="8987">%TRUE if the fixed position is set on the actor</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8982">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_height"
              c:identifier="clutter_actor_get_height"
              glib:get-property="height">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="9763">Retrieves the height of a #ClutterActor.

If the actor has a valid allocation, this function will return the
height of the allocated area given to the actor.

If the actor does not have a valid allocation, this function will
return the actor's natural height, that is the preferred height of
the actor.

If you care whether you get the preferred height or the height that
has been assigned to the actor, you should probably call a different
function like [method@Clutter.Actor.get_allocation_box] to retrieve the
allocated size [method@Clutter.Actor.get_preferred_height] to retrieve the
preferred height.

If an actor has a fixed height, for instance a height that has been
assigned using [method@Clutter.Actor.set_height], the height returned will
be the same value.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="427"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="9786">the height of the actor, in pixels</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9765">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_last_child"
              c:identifier="clutter_actor_get_last_child"
              glib:get-property="last-child">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16146">Retrieves the last child of @self.

The returned pointer is only valid until the scene graph changes; it
is not safe to modify the list of children of @self while iterating
it.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="669"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="16156">a pointer to a #ClutterActor,
  or %NULL</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16148">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_layout_manager"
              c:identifier="clutter_actor_get_layout_manager"
              glib:get-property="layout-manager">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15544">Retrieves the #ClutterLayoutManager used by @self.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="453"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="15550">a pointer to the
  #ClutterLayoutManager, or %NULL</doc>
          <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15546">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_margin" c:identifier="clutter_actor_get_margin">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15803">Retrieves all the components of the margin of a #ClutterActor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="488"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15805">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="margin"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15806">return location for a #ClutterMargin</doc>
            <type name="Margin" c:type="ClutterMargin*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_margin_bottom"
              c:identifier="clutter_actor_get_margin_bottom"
              glib:get-property="margin-bottom">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15896">Retrieves the bottom margin of a #ClutterActor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="473"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="15902">the bottom margin</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15898">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_margin_left"
              c:identifier="clutter_actor_get_margin_left"
              glib:get-property="margin-left">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15940">Retrieves the left margin of a #ClutterActor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="478"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="15946">the left margin</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15942">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_margin_right"
              c:identifier="clutter_actor_get_margin_right"
              glib:get-property="margin-right">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15984">Retrieves the right margin of a #ClutterActor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="483"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="15990">the right margin</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15986">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_margin_top"
              c:identifier="clutter_actor_get_margin_top"
              glib:get-property="margin-top">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15852">Retrieves the top margin of a #ClutterActor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="468"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="15858">the top margin</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15854">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_children"
              c:identifier="clutter_actor_get_n_children">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15241">Retrieves the number of children of @self.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="658"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="15247">the number of children of an actor</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15243">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="clutter_actor_get_name"
              glib:get-property="name">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10477">Retrieves the name of @self.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="309"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="10483">the name of the actor, or %NULL. The returned
  string is owned by the actor and should not be modified or freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10479">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_next_sibling"
              c:identifier="clutter_actor_get_next_sibling">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16103">Retrieves the sibling of @self that comes after it in the list
of children of @self's parent.

The returned pointer is only valid until the scene graph changes; it
is not safe to modify the list of children of @self while iterating
it.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="665"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="16114">a pointer to a #ClutterActor,
  or %NULL</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16105">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_offscreen_redirect"
              c:identifier="clutter_actor_get_offscreen_redirect"
              glib:get-property="offscreen-redirect">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10441">Retrieves whether to redirect the actor to an offscreen buffer, as
set by clutter_actor_set_offscreen_redirect().</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="539"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="10448">the value of the offscreen-redirect property of the actor</doc>
          <type name="OffscreenRedirect" c:type="ClutterOffscreenRedirect"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10443">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_opacity"
              c:identifier="clutter_actor_get_opacity"
              glib:get-property="opacity">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10330">Retrieves the opacity value of an actor, as set by
clutter_actor_set_opacity().

For retrieving the absolute opacity of the actor inside a paint
virtual function, see clutter_actor_get_paint_opacity().</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="530"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="10340">the opacity of the actor</doc>
          <type name="guint8" c:type="guint8"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10332">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_opacity_override"
              c:identifier="clutter_actor_get_opacity_override">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13269">See clutter_actor_set_opacity_override()</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="841"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="13275">the override value for the actor's opacity, or -1 if no override
  is set.2</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13271">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_paint_box" c:identifier="clutter_actor_get_paint_box">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14627">Retrieves the paint volume of the passed #ClutterActor, and
transforms it into a 2D bounding box in stage coordinates.

This function is useful to determine the on screen area occupied by
the actor. The box is only an approximation and may often be
considerably larger due to the optimizations used to calculate the
box. The box is never smaller though, so it can reliably be used
for culling.

There are times when a 2D paint box can't be determined, e.g.
because the actor isn't yet parented under a stage or because
the actor is unable to determine a paint volume.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="546"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="14645">%TRUE if a 2D paint box could be determined, else
%FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14629">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="box"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14630">return location for a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="ClutterActorBox*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_paint_opacity"
              c:identifier="clutter_actor_get_paint_opacity">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10308">Retrieves the absolute opacity of the actor, as it appears on the stage.

This function traverses the hierarchy chain and composites the opacity of
the actor with that of its parents.

This function is intended for subclasses to use in the paint virtual
function, to paint themselves with the correct opacity.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="532"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="10320">The actor opacity value.</doc>
          <type name="guint8" c:type="guint8"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10310">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_paint_visibility"
              c:identifier="clutter_actor_get_paint_visibility">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="11416">Retrieves the 'paint' visibility of an actor recursively checking for non
visible parents.

This is by definition the same as clutter_actor_is_mapped.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="534"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="11425">%TRUE if the actor is visible and will be painted.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11418">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_paint_volume"
              c:identifier="clutter_actor_get_paint_volume">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14546">Retrieves the paint volume of the passed #ClutterActor, or %NULL
when a paint volume can't be determined.

The paint volume is defined as the 3D space occupied by an actor
when being painted.

This function will call the [vfunc@Clutter.Actor.get_paint_volume]
virtual function of the #ClutterActor class. Sub-classes of #ClutterActor
should not usually care about overriding the default implementation,
unless they are, for instance: painting outside their allocation, or
actors with a depth factor (not in terms of depth but real
3D depth).

Note: 2D actors overriding [vfunc@Clutter.Actor.get_paint_volume]
should ensure that their volume has a depth of 0. (This will be true
as long as you don't call [method@Clutter.PaintVolume.set_depth].)</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="600"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="14567">a pointer to a #ClutterPaintVolume,
  or %NULL if no volume could be determined. The returned pointer
  is not guaranteed to be valid across multiple frames; if you want
  to keep it, you will need to copy it using [method@Clutter.PaintVolume.copy].</doc>
          <type name="PaintVolume" c:type="const ClutterPaintVolume*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14548">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pango_context"
              c:identifier="clutter_actor_get_pango_context">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13127">Retrieves the #PangoContext for @self. The actor's #PangoContext
is already configured using the appropriate font map, resolution
and font options.

Unlike clutter_actor_create_pango_context(), this context is owend
by the #ClutterActor and it will be updated each time the options
stored by the #ClutterBackend change.

You can use the returned #PangoContext to create a #PangoLayout
and render text using clutter_show_layout() to reuse the
glyphs cache also used by Clutter.</doc>
        <source-position filename="clutter/clutter/pango/clutter-actor-pango.h"
                         line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="13143">the #PangoContext for a #ClutterActor.
  The returned #PangoContext is owned by the actor and should not be
  unreferenced by the application code</doc>
          <type name="Pango.Context" c:type="PangoContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13129">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_parent" c:identifier="clutter_actor_get_parent">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="11399">Retrieves the parent of @self.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="671"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="11405">The #ClutterActor parent, or %NULL
 if no parent is set</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11401">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pivot_point"
              c:identifier="clutter_actor_get_pivot_point"
              glib:get-property="pivot-point">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10583">Retrieves the coordinates of the [property@Clutter.Actor:pivot-point].</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="719"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10585">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="pivot_x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10586">return location for the normalized X
  coordinate of the pivot point, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="pivot_y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10588">return location for the normalized Y
  coordinate of the pivot point, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_pivot_point_z"
              c:identifier="clutter_actor_get_pivot_point_z"
              glib:get-property="pivot-point-z">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10635">Retrieves the Z component of the [property@Clutter.Actor:pivot-point].</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="726"/>
        <return-value transfer-ownership="none">
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10637">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_position"
              c:identifier="clutter_actor_get_position"
              glib:get-property="position">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="9477">This function tries to "do what you mean" and tell you where the
actor is, prior to any transformations. Retrieves the fixed
position of an actor in pixels, if one has been set; otherwise, if
the allocation is valid, returns the actor's allocated position;
otherwise, returns 0,0.

The returned position is in pixels.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="410"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9479">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9480">return location for the X coordinate, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9481">return location for the Y coordinate, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_preferred_height"
              c:identifier="clutter_actor_get_preferred_height">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="8390">Computes the requested minimum and natural heights for an actor,
or if they are already computed, returns the cached values.

An actor may not get its request - depending on the layout
manager that's in effect.

A request should not incorporate the actor's scale or translation;
those transformations do not affect layout, only rendering.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="355"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8392">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="for_width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8393">available width to assume in computing desired height,
  or a negative value to indicate that no width is defined</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="min_height_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8395">return location for minimum height,
  or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="natural_height_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8397">return location for natural
  height, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_preferred_size"
              c:identifier="clutter_actor_get_preferred_size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7858">Computes the preferred minimum and natural size of an actor, taking into
account the actor's geometry management (either height-for-width
or width-for-height).

The width and height used to compute the preferred height and preferred
width are the actor's natural ones.

If you need to control the height for the preferred width, or the width for
the preferred height, you should [method@Clutter.Actor.get_preferred_width]
and [method@Clutter.Actor.get_preferred_height], and check the actor's preferred
geometry management using the [property@Clutter.Actor:request-mode] property.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="360"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7860">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="min_width_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7861">return location for the minimum
  width, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="min_height_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7863">return location for the minimum
  height, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="natural_width_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7865">return location for the natural
  width, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="natural_height_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7867">return location for the natural
  height, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_preferred_width"
              c:identifier="clutter_actor_get_preferred_width">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="8226">Computes the requested minimum and natural widths for an actor,
optionally depending on the specified height, or if they are
already computed, returns the cached values.

An actor may not get its request - depending on the layout
manager that's in effect.

A request should not incorporate the actor's scaleor translation;
those transformations do not affect layout, only rendering.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="350"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8228">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="for_height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8229">available height when computing the preferred width,
  or a negative value to indicate that no height is defined</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="min_width_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8231">return location for minimum width,
  or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="natural_width_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8233">return location for the natural
  width, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_previous_sibling"
              c:identifier="clutter_actor_get_previous_sibling">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16081">Retrieves the sibling of @self that comes before it in the list
of children of @self's parent.

The returned pointer is only valid until the scene graph changes; it
is not safe to modify the list of children of @self while iterating
it.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="663"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="16092">a pointer to a #ClutterActor,
  or %NULL</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16083">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_reactive"
              c:identifier="clutter_actor_get_reactive"
              glib:get-property="reactive">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="12018">Checks whether @actor is marked as reactive.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="610"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="12024">%TRUE if the actor is reactive</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12020">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_request_mode"
              c:identifier="clutter_actor_get_request_mode"
              glib:get-property="request-mode">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="9303">Retrieves the geometry request mode of @self</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="348"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="9309">the request mode for the actor</doc>
          <type name="RequestMode" c:type="ClutterRequestMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9305">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_resource_scale"
              c:identifier="clutter_actor_get_resource_scale">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14781">Retrieves the resource scale for this actor.

The resource scale refers to the scale the actor should use for its resources.
For example if an actor draws a a picture of size 100 x 100 in the stage
coordinate space, it should use a texture of twice the size (i.e. 200 x 200)
if the resource scale is 2.

The resource scale is determined by calculating the highest #ClutterStageView
scale the actor will get painted on.

Note that the scale returned by this function is only guaranteed to be
correct when queried during the paint cycle, in all other cases this
function will only return a best guess. If your implementation really
needs to get a resource scale outside of the paint cycle, make sure to
subscribe to the "resource-scale-changed" signal to get notified about
the new, correct resource scale before painting.

Also avoid getting the resource scale for actors that are not attached
to a stage. There's no sane way for Clutter to guess which #ClutterStageView
the actor is going to be painted on, so you'll probably end up receiving
the "resource-scale-changed" signal and having to rebuild your resources.

The best guess this function may return is usually just the last resource
scale the actor got painted with. If this resource scale couldn't be found
because the actor was never painted so far or Clutter was unable to
determine its position and size, this function will return the resource
scale of a parent.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="550"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="14813">The resource scale the actor should use for its textures</doc>
          <type name="gfloat" c:type="float"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14783">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rotation_angle"
              c:identifier="clutter_actor_get_rotation_angle">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="4466">Retrieves the angle of rotation set by clutter_actor_set_rotation_angle().</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="732"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="4473">the angle of rotation, in degrees</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="4468">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="axis" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="4469">the axis of the rotation</doc>
            <type name="RotateAxis" c:type="ClutterRotateAxis"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_scale" c:identifier="clutter_actor_get_scale">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10177">Retrieves an actors scale factors.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="739"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10179">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="scale_x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10180">Location to store horizontal
  scale factor, or %NULL.</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="scale_y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10182">Location to store vertical
  scale factor, or %NULL.</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_scale_z"
              c:identifier="clutter_actor_get_scale_z"
              glib:get-property="scale-z">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10205">Retrieves the scaling factor along the Z axis, as set using
[method@Clutter.Actor.set_scale_z].</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="746"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="10212">the scaling factor along the Z axis</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10207">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_size"
              c:identifier="clutter_actor_get_size"
              glib:get-property="size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="9447">This function tries to "do what you mean" and return
the size an actor will have. If the actor has a valid
allocation, the allocation will be returned; otherwise,
the actors natural size request will be returned.

If you care whether you get the request vs. the allocation, you
should probably call a different function like
[method@Clutter.Actor.get_allocation_box] or
[method@Clutter.Actor.get_preferred_width].</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="398"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9449">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9450">return location for the width, or %NULL.</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9451">return location for the height, or %NULL.</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_stage" c:identifier="clutter_actor_get_stage">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="12732">Retrieves the #ClutterStage where @actor is contained.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="676"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="12738">the stage
  containing the actor, or %NULL</doc>
          <type name="Stage" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12734">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_text_direction"
              c:identifier="clutter_actor_get_text_direction"
              glib:get-property="text-direction">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13635">Retrieves the value set using clutter_actor_set_text_direction()

If no text direction has been previously set, the default text
direction, as returned by clutter_get_default_text_direction(), will
be returned instead</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="626"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="13645">the #ClutterTextDirection for the actor</doc>
          <type name="TextDirection" c:type="ClutterTextDirection"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13637">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_transform"
              c:identifier="clutter_actor_get_transform"
              glib:get-property="transform">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13452">Retrieves the current transformation matrix of a #ClutterActor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="761"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13454">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="transform"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13455">a #graphene_matrix_t</doc>
            <type name="Graphene.Matrix" c:type="graphene_matrix_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_transformed_extents"
              c:identifier="clutter_actor_get_transformed_extents">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="9542">Gets the transformed bounding rect of an actor, in pixels relative to the
stage. Using this outside of paint() may result in outdated results.

The result can only be assumed valid inside a paint() method, or an
allocate() function of an actor that explicitly gets allocated after @self;
anywhere else, it may be out-of-date.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="771"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9544">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="rect"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9545">return location for the transformed bounding rect</doc>
            <type name="Graphene.Rect" c:type="graphene_rect_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_transformed_paint_volume"
              c:identifier="clutter_actor_get_transformed_paint_volume">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14580">Retrieves the 3D paint volume of an actor like
[method@Clutter.Actor.get_paint_volume] does and it additionally
transforms the paint volume into the coordinate
space of @relative_to_ancestor. (Or the stage if %NULL
is passed for @relative_to_ancestor)

This can be used by containers that base their paint volume on
the volume of their children. Such containers can query the
transformed paint volume of all of its children and union them
together using [method@Clutter.PaintVolume.union].</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="602"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="14597">a pointer to a #ClutterPaintVolume,
  or %NULL if no volume could be determined.</doc>
          <type name="PaintVolume" c:type="ClutterPaintVolume*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14582">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="relative_to_ancestor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14583">A #ClutterActor that is an ancestor of @self
   (or %NULL for the stage)</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_transformed_position"
              c:identifier="clutter_actor_get_transformed_position">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="9579">Gets the absolute position of an actor, in pixels relative to the stage.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="775"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9581">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9582">return location for the X coordinate, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9583">return location for the Y coordinate, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_transformed_size"
              c:identifier="clutter_actor_get_transformed_size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="9607">Gets the absolute size of an actor in pixels, taking into account the
scaling factors.

If the actor has a valid allocation, the allocated size will be used.
If the actor has not a valid allocation then the preferred size will
be transformed and returned.

If you want the transformed allocation, see
[method@Clutter.Actor.get_abs_allocation_vertices] instead.

When the actor (or one of its ancestors) is rotated around the
X or Y axis, it no longer appears as on the stage as a rectangle, but
as a generic quadrangle; in that case this function returns the size
of the smallest rectangle that encapsulates the entire quad. Please
note that in this case no assumptions can be made about the relative
position of this envelope to the absolute position of the actor, as
returned by [method@Clutter.Actor.get_transformed_position]; if you need this
information, you need to use [method@Clutter.Actor.get_abs_allocation_vertices]
to get the coords of the actual quadrangle.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="779"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9609">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9610">return location for the width, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9611">return location for the height, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_transition"
              c:identifier="clutter_actor_get_transition">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17068">Retrieves the #ClutterTransition of a #ClutterActor by using the
transition @name.

Transitions created for animatable properties use the name of the
property itself, for instance the code below:

```c
  clutter_actor_set_easing_duration (actor, 1000);
  clutter_actor_set_rotation_angle (actor, CLUTTER_Y_AXIS, 360.0);

  transition = clutter_actor_get_transition (actor, "rotation-angle-y");
  g_signal_connect (transition, "stopped",
                    G_CALLBACK (on_transition_stopped),
                    actor);
```

will call the `on_transition_stopped` callback when the transition
is finished.

If you just want to get notifications of the completion of a transition,
you should use the [signal@Clutter.Actor::transition-stopped] signal, using the
transition name as the signal detail.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="822"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="17096">a #ClutterTransition, or %NULL if
  none was found to match the passed name; the returned instance is owned
  by Clutter and it should not be freed</doc>
          <type name="Transition" c:type="ClutterTransition*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17070">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17071">the name of the transition</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_translation"
              c:identifier="clutter_actor_get_translation">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="4346">Retrieves the translation set using clutter_actor_set_translation().</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="753"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="4348">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="translate_x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="4349">return location for the X component
  of the translation, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="translate_y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="4351">return location for the Y component
  of the translation, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="translate_z"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="4353">return location for the Z component
  of the translation, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_width"
              c:identifier="clutter_actor_get_width"
              glib:get-property="width">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="9701">Retrieves the width of a #ClutterActor.

If the actor has a valid allocation, this function will return the
width of the allocated area given to the actor.

If the actor does not have a valid allocation, this function will
return the actor's natural width, that is the preferred width of
the actor.

If you care whether you get the preferred width or the width that
has been assigned to the actor, you should probably call a different
function like [method@Clutter.Actor.get_allocation_box] to retrieve the
allocated size [method@Clutter.Actor.get_preferred_width] to retrieve the
preferred width.

If an actor has a fixed width, for instance a width that has been
assigned using [method@Clutter.Actor.set_width], the width returned will
be the same value.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="425"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="9724">the width of the actor, in pixels</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9703">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_x"
              c:identifier="clutter_actor_get_x"
              glib:get-property="x">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10035">Retrieves the X coordinate of a #ClutterActor.

This function tries to "do what you mean", by returning the
correct value depending on the actor's state.

If the actor has a valid allocation, this function will return
the X coordinate of the origin of the allocation box.

If the actor has any fixed coordinate set using [method@Clutter.Actor.set_x],
[method@Clutter.Actor.set_position], this function will return that coordinate.

If both the allocation and a fixed position are missing, this function
will return 0.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="435"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="10053">the X coordinate, in pixels, ignoring any
  transformation (i.e. scaling, rotation)</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10037">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_x_align"
              c:identifier="clutter_actor_get_x_align"
              glib:get-property="x-align">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15686">Retrieves the horizontal alignment policy set using
[method@Clutter.Actor.set_x_align].</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="458"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="15693">the horizontal alignment policy.</doc>
          <type name="ActorAlign" c:type="ClutterActorAlign"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15688">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_x_expand"
              c:identifier="clutter_actor_get_x_expand"
              glib:get-property="x-expand">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17703">Retrieves the value set with [method@Clutter.Actor.set_x_expand].

See also: [method@Clutter.Actor.needs_expand]</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="494"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="17711">%TRUE if the actor has been set to expand</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17705">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_y"
              c:identifier="clutter_actor_get_y"
              glib:get-property="y">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10082">Retrieves the Y coordinate of a #ClutterActor.

This function tries to "do what you mean", by returning the
correct value depending on the actor's state.

If the actor has a valid allocation, this function will return
the Y coordinate of the origin of the allocation box.

If the actor has any fixed coordinate set using [method@Clutter.Actor.set_y],
[method@Clutter.Actor.set_position], this function will return that coordinate.

If both the allocation and a fixed position are missing, this function
will return 0.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="437"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="10100">the Y coordinate, in pixels, ignoring any
  transformation (i.e. scaling, rotation)</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10084">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_y_align"
              c:identifier="clutter_actor_get_y_align"
              glib:get-property="y-align">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15733">Retrieves the vertical alignment policy set using
[method@Clutter.Actor.set_y_align].</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="463"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="15740">the vertical alignment policy.</doc>
          <type name="ActorAlign" c:type="ClutterActorAlign"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15735">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_y_expand"
              c:identifier="clutter_actor_get_y_expand"
              glib:get-property="y-expand">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17762">Retrieves the value set with [method@Clutter.Actor.set_y_expand].

See also: [method@Clutter.Actor.needs_expand]</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="499"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="17770">%TRUE if the actor has been set to expand</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17764">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_z_position"
              c:identifier="clutter_actor_get_z_position"
              glib:get-property="z-position">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10538">Retrieves the actor's position on the Z axis.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="448"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="10544">the position on the Z axis.</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10540">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="grab_key_focus"
              c:identifier="clutter_actor_grab_key_focus">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13068">Sets the key focus of the #ClutterStage including @self
to this #ClutterActor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="614"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13070">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_actions" c:identifier="clutter_actor_has_actions">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15221">Returns whether the actor has any actions applied.</doc>
        <source-position filename="clutter/clutter/clutter-action.h"
                         line="93"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="15227">%TRUE if the actor has any actions,
  %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15223">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_allocation"
              c:identifier="clutter_actor_has_allocation">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13682">Checks if the actor has an up-to-date allocation assigned to
it. This means that the actor should have an allocation: it's
visible and has a parent. It also means that there is no
outstanding relayout request in progress for the actor or its
children (There might be other outstanding layout requests in
progress that will cause the actor to get a new allocation
when the stage is laid out, however).

If this function returns %FALSE, then the actor will normally
be allocated before it is next drawn on the screen.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="392"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="13697">%TRUE if the actor has an up-to-date allocation</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13684">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_clip"
              c:identifier="clutter_actor_has_clip"
              glib:get-property="has-clip">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10719">Determines whether the actor has a clip area set or not.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="514"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="10725">%TRUE if the actor has a clip area set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10721">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_constraints"
              c:identifier="clutter_actor_has_constraints">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15201">Returns whether the actor has any constraints applied.</doc>
        <source-position filename="clutter/clutter/clutter-constraint.h"
                         line="104"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="15207">%TRUE if the actor has any constraints,
  %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15203">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_effects" c:identifier="clutter_actor_has_effects">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15181">Returns whether the actor has any effects applied.</doc>
        <source-position filename="clutter/clutter/clutter-effect.h"
                         line="113"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="15187">%TRUE if the actor has any effects,
  %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15183">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_key_focus" c:identifier="clutter_actor_has_key_focus">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14367">Checks whether @self is the #ClutterActor that has key focus</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="612"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="14373">%TRUE if the actor has key focus, and %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14369">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_mapped_clones"
              c:identifier="clutter_actor_has_mapped_clones">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="18170">Returns whether a #ClutterActor or any parent actors have mapped clones
that are clone-painting @self.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="836"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="18177">%TRUE if the actor has mapped clones, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18172">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_overlaps" c:identifier="clutter_actor_has_overlaps">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15155">Asks the actor's implementation whether it may contain overlapping
primitives.

For example; Clutter may use this to determine whether the painting
should be redirected to an offscreen buffer to correctly implement
the opacity property.

Custom actors can override the default response by implementing the
[vfunc@Clutter.Actor.has_overlaps]. See
[method@Clutter.Actor.set_offscreen_redirect] for more information.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="553"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="15170">%TRUE if the actor may have overlapping primitives, and
  %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15157">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_pointer"
              c:identifier="clutter_actor_has_pointer"
              glib:get-property="has-pointer">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13664">Checks whether an actor contains the pointer of a
#ClutterInputDevice</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="620"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="13671">%TRUE if the actor contains the pointer, and
  %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13666">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="hide" c:identifier="clutter_actor_hide">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="1816">Flags an actor to be hidden. A hidden actor will not be
rendered on the stage.

Actors are visible by default.

If this function is called on an actor without a parent, the
[property@Clutter.Actor:show-on-set-parent] property will be set to %FALSE
as a side-effect.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="272"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="1818">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="inhibit_culling"
              c:identifier="clutter_actor_inhibit_culling">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13286">Increases the culling inhibitor counter. Inhibiting culling
forces the actor to be painted even when outside the visible
bounds of the stage view.

This is usually necessary when an actor is being painted on
another paint context.

Pair with clutter_actor_uninhibit_culling() when the actor doesn't
need to be painted anymore.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="844"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13288">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="insert_child_above"
              c:identifier="clutter_actor_insert_child_above">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="11321">Inserts @child into the list of children of @self, above another
child of @self or, if @sibling is %NULL, above all the children
of @self.

This function will acquire a reference on @child that will only
be released when calling [method@Clutter.Actor.remove_child].

This function will not take into consideration the depth
of @child.

This function will emit the [signal@Clutter.Actor::child-added] signal
on @self.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="637"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11323">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11324">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="sibling"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11325">a child of @self, or %NULL</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_child_at_index"
              c:identifier="clutter_actor_insert_child_at_index">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="11286">Inserts @child into the list of children of @self, using the
given @index_. If @index_ is greater than the number of children
in @self, or is less than 0, then the new child is added at the end.

This function will acquire a reference on @child that will only
be released when calling [method@Clutter.Actor.remove_child].

This function will not take into consideration the depth
of @child.

This function will emit the [signal@Clutter.Actor::child-added] signal
on @self.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="633"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11288">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11289">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="index_" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11290">the index</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_child_below"
              c:identifier="clutter_actor_insert_child_below">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="11360">Inserts @child into the list of children of @self, below another
child of @self or, if @sibling is %NULL, below all the children
of @self.

This function will acquire a reference on @child that will only
be released when calling [method@Clutter.Actor.remove_child].

This function will not take into consideration the depth
of @child.

This function will emit the [signal@Clutter.Actor::child-added] signal
on @self.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="641"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11362">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11363">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="sibling"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11364">a child of @self, or %NULL</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="invalidate_paint_volume"
              c:identifier="clutter_actor_invalidate_paint_volume">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="18625">Invalidates the cached paint volume of @self. This is needed for
implementations overriding the [vfunc@Clutter.Actor.get_paint_volume]
virtual function and has to be called every time the paint volume
returned by that function would change.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="890"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18627">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="invalidate_transform"
              c:identifier="clutter_actor_invalidate_transform">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="18608">Invalidate the cached transformation matrix of @self.
This is needed for implementations overriding the apply_transform()
vfunc and has to be called if the matrix returned by apply_transform()
would change.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="887"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18610">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_in_clone_paint"
              c:identifier="clutter_actor_is_in_clone_paint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13478">Checks whether @self is being currently painted by a #ClutterClone

This function is useful only inside implementations of the
[vfunc@Clutter.Actor.paint] virtual function.

This function should not be used by applications</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="544"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="13489">%TRUE if the #ClutterActor is currently being painted
  by a #ClutterClone, and %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13480">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_mapped"
              c:identifier="clutter_actor_is_mapped"
              glib:get-property="mapped">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="1511">Checks whether a #ClutterActor has been set as mapped.

See also [property@Clutter.Actor:mapped]</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="334"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="1519">%TRUE if the actor is mapped4</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="1513">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_no_layout" c:identifier="clutter_actor_is_no_layout">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="12049">Checks whether @actor is marked as no layout.

That means the @actor provides an explicit layout management
policy for its children; this will prevent Clutter from automatic
queueing of relayout and will defer all layouting to the actor itself</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="343"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="12059">%TRUE if the actor is marked as no layout</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12051">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_realized"
              c:identifier="clutter_actor_is_realized"
              glib:get-property="realized">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="1911">Checks whether a #ClutterActor is realized.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="336"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="1917">%TRUE if the actor is realized4</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="1913">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_rotated" c:identifier="clutter_actor_is_rotated">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="12665">Checks whether any rotation is applied to the actor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="711"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="12671">%TRUE if the actor is rotated.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12667">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_scaled" c:identifier="clutter_actor_is_scaled">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="12688">Checks whether the actor is scaled in either dimension.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="713"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="12694">%TRUE if the actor is scaled.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12690">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_visible"
              c:identifier="clutter_actor_is_visible"
              glib:get-property="visible">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="1785">Checks whether an actor is marked as visible.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="332"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="1791">%TRUE if the actor visible4</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="1787">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="map" c:identifier="clutter_actor_map">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="1482">Sets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly maps
and realizes its children if they are visible. Does nothing if the
actor is not visible.

Calling this function is strongly discouraged: the default
implementation of [vfunc@Clutter.Actor.map] will map all the children
of an actor when mapping its parent.

When overriding map, it is mandatory to chain up to the parent
implementation.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="278"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="1484">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="move_by" c:identifier="clutter_actor_move_by">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="9034">Moves an actor by the specified distance relative to its current
position in pixels.

This function modifies the fixed position of an actor and thus removes
it from any layout management. Another way to move an actor is with an
additional translation, using clutter_actor_set_translation().</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="419"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9036">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="dx" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9037">Distance to move Actor on X axis.</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="dy" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9038">Distance to move Actor on Y axis.</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="needs_expand" c:identifier="clutter_actor_needs_expand">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17854">Checks whether an actor, or any of its children, is set to expand
horizontally or vertically.

This function should only be called by layout managers that can
assign extra space to their children.

If you want to know whether the actor was explicitly set to expand,
use [method@Clutter.Actor.get_x_expand] or [method@Clutter.Actor.get_y_expand].</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="501"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="17868">%TRUE if the actor should expand</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17856">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="orientation" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17857">the direction of expansion</doc>
            <type name="Orientation" c:type="ClutterOrientation"/>
          </parameter>
        </parameters>
      </method>
      <method name="paint" c:identifier="clutter_actor_paint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="3481">Renders the actor to display.

This function should not be called directly by applications.
Call clutter_actor_queue_redraw() to queue paints, instead.

This function is context-aware, and will either cause a
regular paint or a pick paint.

This function will call the [vfunc@Clutter.Actor.paint] virtual
function.

This function does not paint the actor if the actor is set to 0,
unless it is performing a pick paint.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="282"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="3483">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="peek_stage_views"
              c:identifier="clutter_actor_peek_stage_views">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15017">Retrieves the list of `ClutterStageView`s the actor is being
painted on.

If this function is called during the paint cycle, the list is guaranteed
to be up-to-date, if called outside the paint cycle, the list will
contain the views the actor was painted on last.

The list returned by this function is not updated when the actors
visibility changes: If an actor gets hidden and is not being painted
anymore, this function will return the list of views the actor was
painted on last.

If an actor is not attached to a stage (realized), this function will
always return an empty list.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="884"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="15036">The list of
  `ClutterStageView`s the actor is being painted on. The list and
  its contents are owned by the #ClutterActor and the list may not be
  freed or modified.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="StageView"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15019">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="pick" c:identifier="clutter_actor_pick">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="3773">Asks @actor to perform a pick.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="291"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="3775">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="pick_context" transfer-ownership="none">
            <type name="PickContext" c:type="ClutterPickContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="pick_box" c:identifier="clutter_actor_pick_box">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="1148">Logs (does a virtual paint of) a rectangle for picking. Note that @box is
in the actor's own local coordinates, so is usually {0,0,width,height}
to include the whole actor. That is unless the actor has a shaped input
region in which case you may wish to log the (multiple) smaller rectangles
that make up the input region.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="879"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="1150">The #ClutterActor being "pick" painted.</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="pick_context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="1151">The #ClutterPickContext</doc>
            <type name="PickContext" c:type="ClutterPickContext*"/>
          </parameter>
          <parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="1152">A rectangle in the actor's own local coordinates.</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </parameter>
        </parameters>
      </method>
      <method name="queue_redraw" c:identifier="clutter_actor_queue_redraw">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7726">Queues up a redraw of an actor and any children. The redraw occurs
once the main loop becomes idle (after the current batch of events
has been processed, roughly).

Applications rarely need to call this, as redraws are handled
automatically by modification functions.

This function will not do anything if @self is not visible, or
if the actor is inside an invisible part of the scenegraph.

Also be aware that painting is a NOP for actors with an opacity of
0

When you are implementing a custom actor you must queue a redraw
whenever some private state changes that will affect painting or
picking of your actor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="297"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7728">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="queue_redraw_with_clip"
              c:identifier="clutter_actor_queue_redraw_with_clip">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7800">Queues a redraw on @self limited to a specific, actor-relative
rectangular area.

If @clip is %NULL this function is equivalent to
clutter_actor_queue_redraw().</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="299"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7802">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="clip"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7803">a rectangular clip region, or %NULL</doc>
            <type name="Mtk.Rectangle" c:type="const MtkRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="queue_relayout"
              c:identifier="clutter_actor_queue_relayout">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7839">Indicates that the actor's size request or other layout-affecting
properties may have changed. This function is used inside #ClutterActor
subclass implementations, not by applications directly.

Queueing a new layout automatically queues a redraw as well.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="302"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7841">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="realize"
              c:identifier="clutter_actor_realize"
              deprecated="1"
              deprecated-version="1.16">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="1880">Realization informs the actor that it is attached to a stage. It
can use this to allocate resources if it wanted to delay allocation
until it would be rendered. However it is perfectly acceptable for
an actor to create resources before being realized because Clutter
only ever has a single rendering context so that actor is free to
be moved from one stage to another.

This function does nothing if the actor is already realized.

Because a realized actor must have realized parent actors, calling
clutter_actor_realize() will also realize all parents of the actor.

This function does not realize child actors, except in the special
case that realizing the stage, when the stage is visible, will
suddenly map (and thus realize) the children of the stage.</doc>
        <doc-deprecated xml:space="preserve">Actors are automatically realized, and nothing
  requires explicit realization.</doc-deprecated>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="274"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="1882">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_accessible_state"
              c:identifier="clutter_actor_remove_accessible_state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="18972">This method removes @state as on of the accessible states for
@actor. See [method@Clutter.Actor.add_accessible_state] for more information.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="329"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18974">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18975">#AtkState state to remove</doc>
            <type name="Atk.StateType" c:type="AtkStateType"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_action" c:identifier="clutter_actor_remove_action">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13802">Removes @action from the list of actions applied to @self

The reference held by @self on the #ClutterAction will be released</doc>
        <source-position filename="clutter/clutter/clutter-action.h"
                         line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13804">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="action" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13805">a #ClutterAction</doc>
            <type name="Action" c:type="ClutterAction*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_action_by_name"
              c:identifier="clutter_actor_remove_action_by_name">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13837">Removes the #ClutterAction with the given name from the list
of actions applied to @self</doc>
        <source-position filename="clutter/clutter/clutter-action.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13839">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13840">the name of the action to remove</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_all_children"
              c:identifier="clutter_actor_remove_all_children">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="11464">Removes all children of @self.

This function releases the reference added by inserting a child actor
in the list of children of @self.

If the reference count of a child drops to zero, the child will be
destroyed. If you want to ensure the destruction of all the children
of @self, use clutter_actor_destroy_all_children().</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="652"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11466">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_all_transitions"
              c:identifier="clutter_actor_remove_all_transitions">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16887">Removes all transitions associated to @self.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="832"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16889">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_child" c:identifier="clutter_actor_remove_child">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="11435">Removes @child from the children of @self.

This function will release the reference added by
[method@Clutter.Actor.add_child], so if you want to keep using @child
you will have to acquire a referenced on it before calling this
function.

This function will emit the [signal@Clutter.Actor::child-removed]
signal on @self.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="649"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11437">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11438">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_clip" c:identifier="clutter_actor_remove_clip">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10697">Removes clip area from @self.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="512"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10699">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_constraint"
              c:identifier="clutter_actor_remove_constraint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14002">Removes @constraint from the list of constraints applied to @self

The reference held by @self on the #ClutterConstraint will be released</doc>
        <source-position filename="clutter/clutter/clutter-constraint.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14004">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="constraint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14005">a #ClutterConstraint</doc>
            <type name="Constraint" c:type="ClutterConstraint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_constraint_by_name"
              c:identifier="clutter_actor_remove_constraint_by_name">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14040">Removes the #ClutterConstraint with the given name from the list
of constraints applied to @self</doc>
        <source-position filename="clutter/clutter/clutter-constraint.h"
                         line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14042">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14043">the name of the constraint to remove</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_effect" c:identifier="clutter_actor_remove_effect">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14243">Removes @effect from the list of effects applied to @self

The reference held by @self on the #ClutterEffect will be released</doc>
        <source-position filename="clutter/clutter/clutter-effect.h"
                         line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14245">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14246">a #ClutterEffect</doc>
            <type name="Effect" c:type="ClutterEffect*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_effect_by_name"
              c:identifier="clutter_actor_remove_effect_by_name">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14266">Removes the #ClutterEffect with the given name from the list
of effects applied to @self</doc>
        <source-position filename="clutter/clutter/clutter-effect.h"
                         line="102"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14268">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14269">the name of the effect to remove</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_transition"
              c:identifier="clutter_actor_remove_transition">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16824">Removes the transition stored inside a #ClutterActor using @name
identifier.

If the transition is currently in progress, it will be stopped.

This function releases the reference acquired when the transition
was added to the #ClutterActor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="829"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16826">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16827">the name of the transition to remove</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="replace_child" c:identifier="clutter_actor_replace_child">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="11584">Replaces @old_child with @new_child in the list of children of @self.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="645"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11586">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="old_child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11587">the child of @self to replace</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="new_child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11588">the #ClutterActor to replace @old_child</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="restore_easing_state"
              c:identifier="clutter_actor_restore_easing_state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17171">Restores the easing state as it was prior to a call to
[method@Clutter.Actor.save_easing_state].</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="805"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17173">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="save_easing_state"
              c:identifier="clutter_actor_save_easing_state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17138">Saves the current easing state for animatable properties, and creates
a new state with the default values for easing mode and duration.

New transitions created after calling this function will inherit the
duration, easing mode, and delay of the new easing state; this also
applies to transitions modified in flight.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="803"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17140">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_accessible"
              c:identifier="clutter_actor_set_accessible">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="18545">This method allows to set a customly created accessible object to
this widget

NULL is a valid value for @accessible. That contemplates the
hypothetical case of not needing anymore a custom accessible object
for the widget. Next call of [method@Clutter.Actor.get_accessible] would
create and return a default accessible.

It assumes that the call to atk_object_initialize that bound the
gobject with the custom accessible object was already called, so
not a responsibility of this method.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="323"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18547">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="accessible" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18548">an accessible</doc>
            <type name="Atk.Object" c:type="AtkObject*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_accessible_name"
              c:identifier="clutter_actor_set_accessible_name"
              glib:set-property="accessible-name">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="18798">This method sets @name as the accessible name for @self.

Usually you will have no need to set the accessible name for an
object, as usually there is a label for most of the interface
elements.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="316"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18800">widget to set the accessible name for</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18801">a character string to be set as the accessible name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_accessible_role"
              c:identifier="clutter_actor_set_accessible_role"
              glib:set-property="accessible-role">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="18849">This method sets @role as the accessible role for @self. This
role describes what kind of user interface element @self is and
is provided so that assistive technologies know how to present
@self to the user.

Usually you will have no need to set the accessible role for an
object, as this information is extracted from the context of the
object (ie: a #StButton has by default a push button role). This
method is only required when you need to redefine the role
currently associated with the widget, for instance if it is being
used in an unusual way (ie: a #StButton used as a togglebutton), or
if a generic object is used directly (ie: a container as a menu
item).

If @role is #ATK_ROLE_INVALID, the role will not be changed
and the accessible's default role will be used instead.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="311"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18851">widget to set the accessible role for</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="role" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18852">The role to use</doc>
            <type name="Atk.Role" c:type="AtkRole"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_allocation"
              c:identifier="clutter_actor_set_allocation">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="8906">Stores the allocation of @self as defined by @box.

This function can only be called from within the implementation of
the [vfunc@Clutter.Actor.allocate] virtual function.

The allocation @box should have been adjusted to take into account
constraints, alignment, and margin properties.

This function should only be used by subclasses of #ClutterActor
that wish to store their allocation but cannot chain up to the
parent's implementation; the default implementation of the
[vfunc@Clutter.Actor.allocate] virtual function will call this
function.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="386"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8908">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8909">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_background_color"
              c:identifier="clutter_actor_set_background_color"
              glib:set-property="background-color">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16021">Sets the background color of a #ClutterActor.

The background color will be used to cover the whole allocation of the
actor. The default background color of an actor is transparent.

To check whether an actor has a background color, you can use the
[property@Clutter.Actor:background-color-set] actor property.

The [property@Clutter.Actor:background-color] property is animatable.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="594"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16023">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="color"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16024">a #CoglColor, or %NULL to unset a previously
 set color</doc>
            <type name="Cogl.Color" c:type="const CoglColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child_above_sibling"
              c:identifier="clutter_actor_set_child_above_sibling">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="11648">Sets @child to be above @sibling in the list of children of @self.

If @sibling is %NULL, @child will be the new last child of @self.

This function is logically equivalent to removing @child and using
clutter_actor_insert_child_above(), but it will not emit signals
or change state on @child.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="686"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11650">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11651">a #ClutterActor child of @self</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="sibling"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11652">a #ClutterActor child of @self, or %NULL</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child_at_index"
              c:identifier="clutter_actor_set_child_at_index">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="11768">Changes the index of @child in the list of children of @self.

This function is logically equivalent to removing @child and
calling clutter_actor_insert_child_at_index(), but it will not
emit signals or change state on @child.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="690"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11770">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11771">a #ClutterActor child of @self</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="index_" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11772">the new index for @child</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child_below_sibling"
              c:identifier="clutter_actor_set_child_below_sibling">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="11712">Sets @child to be below @sibling in the list of children of @self.

If @sibling is %NULL, @child will be the new first child of @self.

This function is logically equivalent to removing @self and using
clutter_actor_insert_child_below(), but it will not emit signals
or change state on @child.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="682"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11714">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11715">a #ClutterActor child of @self</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="sibling"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11716">a #ClutterActor child of @self, or %NULL</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child_transform"
              c:identifier="clutter_actor_set_child_transform"
              glib:set-property="child-transform">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="18042">Sets the transformation matrix to be applied to all the children
of @self prior to their own transformations. The default child
transformation is the identity matrix.

If @transform is %NULL, the child transform will be unset.

The [property@Clutter.Actor:child-transform] property is animatable.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="764"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18044">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="transform"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18045">a #graphene_matrix_t, or %NULL</doc>
            <type name="Graphene.Matrix" c:type="const graphene_matrix_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_clip" c:identifier="clutter_actor_set_clip">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10649">Sets clip area for @self. The clip area is always computed from the
upper left corner of the actor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="506"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10651">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="xoff" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10652">X offset of the clip rectangle</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="yoff" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10653">Y offset of the clip rectangle</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10654">Width of the clip rectangle</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10655">Height of the clip rectangle</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_clip_to_allocation"
              c:identifier="clutter_actor_set_clip_to_allocation"
              glib:set-property="clip-to-allocation">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="14141">Sets whether @self should be clipped to the same size as its
allocation</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="522"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14143">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="clip_set" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="14144">%TRUE to apply a clip tracking the allocation</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_color_state"
              c:identifier="clutter_actor_set_color_state"
              glib:set-property="color-state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17975">Set @self's color state to @color_state.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="581"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17977">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="color_state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17978">a #ClutterColorState</doc>
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content"
              c:identifier="clutter_actor_set_content"
              glib:set-property="content">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17206">Sets the contents of a #ClutterActor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="557"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17208">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="content"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17209">a #ClutterContent, or %NULL</doc>
            <type name="Content" c:type="ClutterContent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content_gravity"
              c:identifier="clutter_actor_set_content_gravity"
              glib:set-property="content-gravity">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17296">Sets the gravity of the #ClutterContent used by @self.

See the description of the [property@Clutter.Actor:content-gravity] property for
more information.

The [property@Clutter.Actor:content-gravity] property is animatable.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="562"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17298">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="gravity" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17299">the #ClutterContentGravity</doc>
            <type name="ContentGravity" c:type="ClutterContentGravity"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content_repeat"
              c:identifier="clutter_actor_set_content_repeat"
              glib:set-property="content-repeat">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17896">Sets the policy for repeating the [property@Clutter.Actor:content] of a
#ClutterActor. The behaviour is deferred to the #ClutterContent
implementation.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="575"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17898">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="repeat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17899">the repeat policy</doc>
            <type name="ContentRepeat" c:type="ClutterContentRepeat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content_scaling_filters"
              c:identifier="clutter_actor_set_content_scaling_filters">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17550">Sets the minification and magnification filter to be applied when
scaling the [property@Clutter.Actor:content] of a #ClutterActor.

The [property@Clutter.Actor:minification-filter] will be used when reducing
the size of the content; the [property@Clutter.Actor:magnification-filter]
will be used when increasing the size of the content.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="567"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17552">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="min_filter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17553">the minification filter for the content</doc>
            <type name="ScalingFilter" c:type="ClutterScalingFilter"/>
          </parameter>
          <parameter name="mag_filter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17554">the magnification filter for the content</doc>
            <type name="ScalingFilter" c:type="ClutterScalingFilter"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_easing_delay"
              c:identifier="clutter_actor_set_easing_delay">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17015">Sets the delay that should be applied before tweening animatable
properties.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="817"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17017">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="msecs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17018">the delay before the start of the tweening, in milliseconds</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_easing_duration"
              c:identifier="clutter_actor_set_easing_duration">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16907">Sets the duration of the tweening for animatable properties
of @self for the current easing state.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="812"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16909">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="msecs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16910">the duration of the easing, or %NULL</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_easing_mode"
              c:identifier="clutter_actor_set_easing_mode">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16960">Sets the easing mode for the tweening of animatable properties
of @self.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="807"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16962">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16963">an easing mode, excluding %CLUTTER_CUSTOM_MODE</doc>
            <type name="AnimationMode" c:type="ClutterAnimationMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_fixed_position_set"
              c:identifier="clutter_actor_set_fixed_position_set"
              glib:set-property="fixed-position-set">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="8997">Sets whether an actor has a fixed position set (and will thus be
unaffected by any layout manager).</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="416"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8999">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="is_set" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9000">whether to use fixed position</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_height"
              c:identifier="clutter_actor_set_height"
              glib:set-property="height">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="9869">Forces a height on an actor, causing the actor's preferred width
and height (if any) to be ignored.

If @height is -1 the actor will use its preferred height instead of
overriding it, i.e. you can "unset" the height with -1.

This function sets both the minimum and natural size of the actor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="432"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9871">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9872">Requested new height for the actor, in pixels, or -1</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_layout_manager"
              c:identifier="clutter_actor_set_layout_manager"
              glib:set-property="layout-manager">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15484">Sets the #ClutterLayoutManager delegate object that will be used to
lay out the children of @self.

The #ClutterActor will take a reference on the passed @manager which
will be released either when the layout manager is removed, or when
the actor is destroyed.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="450"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15486">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="manager"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15487">a #ClutterLayoutManager, or %NULL to unset it</doc>
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_margin" c:identifier="clutter_actor_set_margin">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15772">Sets all the components of the margin of a #ClutterActor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="485"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15774">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="margin" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15775">a #ClutterMargin</doc>
            <type name="Margin" c:type="const ClutterMargin*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_margin_bottom"
              c:identifier="clutter_actor_set_margin_bottom"
              glib:set-property="margin-bottom">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15868">Sets the margin from the bottom of a #ClutterActor.

The [property@Clutter.Actor:margin-bottom] property is animatable.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="470"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15870">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="margin" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15871">the bottom margin</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_margin_left"
              c:identifier="clutter_actor_set_margin_left"
              glib:set-property="margin-left">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15912">Sets the margin from the left of a #ClutterActor.

The [property@Clutter.Actor:margin-left] property is animatable.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="475"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15914">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="margin" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15915">the left margin</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_margin_right"
              c:identifier="clutter_actor_set_margin_right"
              glib:set-property="margin-right">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15956">Sets the margin from the right of a #ClutterActor.

The [property@Clutter.Actor:margin-right] property is animatable.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="480"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15958">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="margin" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15959">the right margin</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_margin_top"
              c:identifier="clutter_actor_set_margin_top"
              glib:set-property="margin-top">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15824">Sets the margin from the top of a #ClutterActor.

The [property@Clutter.Actor:margin-top] property is animatable.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="465"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15826">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="margin" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15827">the top margin</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="clutter_actor_set_name"
              glib:set-property="name">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10458">Sets the given name to @self. The name can be used to identify
a #ClutterActor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="306"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10460">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10461">Textual tag to apply to actor</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_no_layout" c:identifier="clutter_actor_set_no_layout">
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="340"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="no_layout" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_offscreen_redirect"
              c:identifier="clutter_actor_set_offscreen_redirect"
              glib:set-property="offscreen-redirect">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10350">Defines the circumstances where the actor should be redirected into
an offscreen image. The offscreen image is used to flatten the
actor into a single image while painting for two main reasons.
Firstly, when the actor is painted a second time without any of its
contents changing it can simply repaint the cached image without
descending further down the actor hierarchy. Secondly, it will make
the opacity look correct even if there are overlapping primitives
in the actor.

Caching the actor could in some cases be a performance win and in
some cases be a performance lose so it is important to determine
which value is right for an actor before modifying this value. For
example, there is never any reason to flatten an actor that is just
a single texture (such as a #ClutterTexture) because it is
effectively already cached in an image so the offscreen would be
redundant. Also if the actor contains primitives that are far apart
with a large transparent area in the middle (such as a large
CluterGroup with a small actor in the top left and a small actor in
the bottom right) then the cached image will contain the entire
image of the large area and the paint will waste time blending all
of the transparent pixels in the middle.

The default method of implementing opacity on a container simply
forwards on the opacity to all of the children. If the children are
overlapping then it will appear as if they are two separate glassy
objects and there will be a break in the color where they
overlap. By redirecting to an offscreen buffer it will be as if the
two opaque objects are combined into one and then made transparent
which is usually what is expected.

The image below demonstrates the difference between redirecting and
not. The image shows two Clutter groups, each containing a red and
a green rectangle which overlap. The opacity on the group is set to
128 (which is 50%). When the offscreen redirect is not used, the
red rectangle can be seen through the blue rectangle as if the two
rectangles were separately transparent. When the redirect is used
the group as a whole is transparent instead so the red rectangle is
not visible where they overlap.

&lt;figure id="offscreen-redirect"&gt;
  &lt;title&gt;Sample of using an offscreen redirect for transparency&lt;/title&gt;
  &lt;graphic fileref="offscreen-redirect.png" format="PNG"/&gt;
&lt;/figure&gt;

The default value for this property is 0, so we effectively will
never redirect an actor offscreen by default. This means that there
are times that transparent actors may look glassy as described
above. The reason this is the default is because there is a
performance trade off between quality and performance here. In many
cases the default form of glassy opacity looks good enough, but if
it's not you will need to set the
%CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY flag to enable
redirection for opacity.

Custom actors that don't contain any overlapping primitives are
recommended to override the has_overlaps() virtual to return %FALSE
for maximum efficiency.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="536"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10352">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="redirect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10353">New offscreen redirect flags for the actor.</doc>
            <type name="OffscreenRedirect" c:type="ClutterOffscreenRedirect"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_opacity"
              c:identifier="clutter_actor_set_opacity"
              glib:set-property="opacity">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10246">Sets the actor's opacity, with zero being completely transparent and
255 (0xff) being fully opaque.

The [property@Clutter.Actor:opacity] property is animatable.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="527"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10248">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="opacity" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10249">New opacity value for the actor.</doc>
            <type name="guint8" c:type="guint8"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_opacity_override"
              c:identifier="clutter_actor_set_opacity_override">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13242">Allows overriding the calculated paint opacity (as returned by
clutter_actor_get_paint_opacity()). This is used internally by
ClutterClone and ClutterOffscreenEffect, and should be used by
actors that need to mimic those.

In almost all cases this should not used by applications.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="838"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13244">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="opacity" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13245">the override opacity value, or -1 to reset</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pivot_point"
              c:identifier="clutter_actor_set_pivot_point"
              glib:set-property="pivot-point">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10554">Sets the position of the [property@Clutter.Actor:pivot-point] around which the
scaling and rotation transformations occur.

The pivot point's coordinates are in normalized space, with the (0, 0)
point being the top left corner of the actor, and the (1, 1) point being
the bottom right corner.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="715"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10556">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="pivot_x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10557">the normalized X coordinate of the pivot point</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="pivot_y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10558">the normalized Y coordinate of the pivot point</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pivot_point_z"
              c:identifier="clutter_actor_set_pivot_point_z"
              glib:set-property="pivot-point-z">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10611">Sets the component on the Z axis of the [property@Clutter.Actor:pivot-point] around
which the scaling and rotation transformations occur.

The @pivot_z value is expressed as a distance along the Z axis.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="723"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10613">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="pivot_z" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10614">the Z coordinate of the actor's pivot point</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_position"
              c:identifier="clutter_actor_set_position"
              glib:set-property="position">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="8947">Sets the actor's fixed position in pixels relative to any parent
actor.

If a layout manager is in use, this position will override the
layout manager and force a fixed position.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="402"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8949">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8950">New left position of actor in pixels.</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="8951">New top position of actor in pixels.</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_reactive"
              c:identifier="clutter_actor_set_reactive"
              glib:set-property="reactive">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="11948">Sets @actor as reactive. Reactive actors will receive events.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="607"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11950">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="reactive" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="11951">whether the actor should be reactive to events</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_request_mode"
              c:identifier="clutter_actor_set_request_mode"
              glib:set-property="request-mode">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="9269">Sets the geometry request mode of @self.

The @mode determines the order for invoking
 [method@Clutter.Actor.get_preferred_width] and
 [method@Clutter.Actor.get_preferred_height]</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="345"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9271">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9272">the request mode</doc>
            <type name="RequestMode" c:type="ClutterRequestMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_rotation_angle"
              c:identifier="clutter_actor_set_rotation_angle">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="4414">Sets the @angle of rotation of a #ClutterActor on the given @axis.

This function is a convenience for setting the rotation properties
[property@Clutter.Actor:rotation-angle-x], [property@Clutter.Actor:rotation-angle-y],
and [property@Clutter.Actor:rotation-angle-z].

The center of rotation is established by the [property@Clutter.Actor:pivot-point]
property.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="728"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="4416">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="axis" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="4417">the axis to set the angle one</doc>
            <type name="RotateAxis" c:type="ClutterRotateAxis"/>
          </parameter>
          <parameter name="angle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="4418">the angle of rotation, in degrees</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_scale" c:identifier="clutter_actor_set_scale">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10129">Scales an actor with the given factors.

The scale transformation is relative the [property@Clutter.Actor:pivot-point].

The [property@Clutter.Actor:scale-x] and [property@Clutter.Actor:scale-y]
properties are animatable.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="735"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10131">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="scale_x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10132">double factor to scale actor by horizontally.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="scale_y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10133">double factor to scale actor by vertically.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_scale_z"
              c:identifier="clutter_actor_set_scale_z"
              glib:set-property="scale-z">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10157">Scales an actor on the Z axis by the given @scale_z factor.

The scale transformation is relative the the [property@Clutter.Actor:pivot-point].

The [property@Clutter.Actor:scale-z] property is animatable.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="743"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10159">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="scale_z" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10160">the scaling factor along the Z axis</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_size"
              c:identifier="clutter_actor_set_size"
              glib:set-property="size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="9389">Sets the actor's size request in pixels. This overrides any
"normal" size request the actor would have. For example
a text actor might normally request the size of the text;
this function would force a specific size instead.

If @width and/or @height are -1 the actor will use its
"normal" size request instead of overriding it, i.e.
you can "unset" the size with -1.

This function sets or unsets both the minimum and natural size.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="394"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9391">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9392">New width of actor in pixels, or -1</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9393">New height of actor in pixels, or -1</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_text_direction"
              c:identifier="clutter_actor_set_text_direction"
              glib:set-property="text-direction">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13545">Sets the #ClutterTextDirection for an actor

The passed text direction must not be %CLUTTER_TEXT_DIRECTION_DEFAULT

This function will recurse inside all the children of @self</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="623"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13547">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="text_dir" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13548">the text direction for @self</doc>
            <type name="TextDirection" c:type="ClutterTextDirection"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_transform"
              c:identifier="clutter_actor_set_transform"
              glib:set-property="transform">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13419">Overrides the transformations of a #ClutterActor with a custom
matrix, which will be applied relative to the origin of the
actor's allocation and to the actor's pivot point.

The [property@Clutter.Actor:transform] property is animatable.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="758"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13421">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="transform"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13422">a #graphene_matrix_t, or %NULL to
  unset a custom transformation</doc>
            <type name="Graphene.Matrix" c:type="const graphene_matrix_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_translation"
              c:identifier="clutter_actor_set_translation">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="4319">Sets an additional translation transformation on a #ClutterActor,
relative to the [property@Clutter.Actor:pivot-point].</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="748"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="4321">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="translate_x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="4322">the translation along the X axis</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="translate_y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="4323">the translation along the Y axis</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="translate_z" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="4324">the translation along the Z axis</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_width"
              c:identifier="clutter_actor_set_width"
              glib:set-property="width">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="9824">Forces a width on an actor, causing the actor's preferred width
and height (if any) to be ignored.

If @width is -1 the actor will use its preferred width request
instead of overriding it, i.e. you can "unset" the width with -1.

This function sets both the minimum and natural size of the actor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="429"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9826">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9827">Requested new width for the actor, in pixels, or -1</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_x"
              c:identifier="clutter_actor_set_x"
              glib:set-property="x">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="9985">Sets the actor's X coordinate, relative to its parent, in pixels.

Overrides any layout manager and forces a fixed position for
the actor.

The [property@Clutter.Actor:x] property is animatable.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="439"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9987">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="9988">the actor's position on the X axis</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_x_align"
              c:identifier="clutter_actor_set_x_align"
              glib:set-property="x-align">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15656">Sets the horizontal alignment policy of a #ClutterActor, in case the
actor received extra horizontal space.

See also the [property@Clutter.Actor:x-align] property.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="455"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15658">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="x_align" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15659">the horizontal alignment policy</doc>
            <type name="ActorAlign" c:type="ClutterActorAlign"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_x_expand"
              c:identifier="clutter_actor_set_x_expand"
              glib:set-property="x-expand">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17662">Sets whether a #ClutterActor should expand horizontally; this means
that layout manager should allocate extra space for the actor, if
possible.

Setting an actor to expand will also make all its parent expand, so
that it's possible to build an actor tree and only set this flag on
its leaves and not on every single actor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="491"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17664">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="expand" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17665">whether the actor should expand horizontally</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_y"
              c:identifier="clutter_actor_set_y"
              glib:set-property="y">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10010">Sets the actor's Y coordinate, relative to its parent, in pixels.#

Overrides any layout manager and forces a fixed position for
the actor.

The [property@Clutter.Actor:y] property is animatable.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="442"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10012">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10013">the actor's position on the Y axis</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_y_align"
              c:identifier="clutter_actor_set_y_align"
              glib:set-property="y-align">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="15703">Sets the vertical alignment policy of a #ClutterActor, in case the
actor received extra vertical space.

See also the [property@Clutter.Actor:y-align] property.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="460"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15705">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="y_align" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15706">the vertical alignment policy</doc>
            <type name="ActorAlign" c:type="ClutterActorAlign"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_y_expand"
              c:identifier="clutter_actor_set_y_expand"
              glib:set-property="y-expand">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17721">Sets whether a #ClutterActor should expand horizontally; this means
that layout manager should allocate extra space for the actor, if
possible.

Setting an actor to expand will also make all its parent expand, so
that it's possible to build an actor tree and only set this flag on
its leaves and not on every single actor.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="496"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17723">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="expand" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17724">whether the actor should expand vertically</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_z_position"
              c:identifier="clutter_actor_set_z_position"
              glib:set-property="z-position">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="10514">Sets the actor's position on the Z axis.

See [property@Clutter.Actor:z-position].</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="445"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10516">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="z_position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="10517">the position on the Z axis</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="should_pick" c:identifier="clutter_actor_should_pick">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="2162">Should be called inside the implementation of the
[vfunc@Clutter.Actor.pick] virtual function in order to check whether
the actor should be picked or not.

This function should never be called directly by applications.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="541"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="2173">%TRUE if the actor should be picked, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="2164">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="pick_context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="2165">a #ClutterPickContext</doc>
            <type name="PickContext" c:type="ClutterPickContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="show" c:identifier="clutter_actor_show">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="1723">Flags an actor to be displayed. An actor that isn't shown will not
be rendered on the stage.

Actors are visible by default.

If this function is called on an actor without a parent, the
[property@Clutter.Actor:show-on-set-parent] will be set to %TRUE as a side
effect.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="270"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="1725">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="transform_stage_point"
              c:identifier="clutter_actor_transform_stage_point">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="12494">This function translates screen coordinates (@x, @y) to
coordinates relative to the actor. For example, it can be used to translate
screen events from global screen coordinates into actor-local coordinates.

The conversion can fail, notably if the transform stack results in the
actor being projected on the screen as a mere line.

The conversion should not be expected to be pixel-perfect due to the
nature of the operation. In general the error grows when the skewing
of the actor rectangle on screen increases.

This function can be computationally intensive.

This function only works when the allocation is up-to-date, i.e. inside of
the [vfunc@Clutter.Actor.paint] implementation</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="783"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="12518">%TRUE if conversion was successful.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12496">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12497">x screen coordinate of the point to unproject</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12498">y screen coordinate of the point to unproject</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="x_out"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12499">return location for the unprojected x coordinance</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="y_out"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="12500">return location for the unprojected y coordinance</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="uninhibit_culling"
              c:identifier="clutter_actor_uninhibit_culling">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="13313">Decreases the culling inhibitor counter. See clutter_actor_inhibit_culling()
for when inhibit culling is necessary.

Calling this function without a matching call to
clutter_actor_inhibit_culling() is a programming error.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="846"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="13315">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unmap" c:identifier="clutter_actor_unmap">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="1621">Unsets the %CLUTTER_ACTOR_MAPPED flag on the actor and possibly
unmaps its children if they were mapped.

Calling this function is not encouraged: the default #ClutterActor
implementation of [vfunc@Clutter.Actor.unmap] will also unmap any
eventual children by default when their parent is unmapped.

When overriding [vfunc@Clutter.Actor.unmap], it is mandatory to
chain up to the parent implementation.

It is important to note that the implementation of the
[vfunc@Clutter.Actor.unmap] virtual function may be called after
the [vfunc@Clutter.Actor.destroy] or the [vfunc@GObject.Object.dispose]
implementation, but it is guaranteed to be called before the
[vfunc@GObject.Object.finalize] implementation.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="280"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="1623">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unrealize"
              c:identifier="clutter_actor_unrealize"
              deprecated="1"
              deprecated-version="1.16">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="1985">Unrealization informs the actor that it may be being destroyed or
moved to another stage. The actor may want to destroy any
underlying graphics resources at this point. However it is
perfectly acceptable for it to retain the resources until the actor
is destroyed because Clutter only ever uses a single rendering
context and all of the graphics resources are valid on any stage.

Because mapped actors must be realized, actors may not be
unrealized if they are mapped. This function hides the actor to be
sure it isn't mapped, an application-visible side effect that you
may not be expecting.

This function should not be called by application code.

This function should not really be in the public API, because
there isn't a good reason to call it. ClutterActor will already
unrealize things for you when it's important to do so.

If you were using clutter_actor_unrealize() in a dispose
implementation, then don't, just chain up to ClutterActor's
dispose.

If you were using clutter_actor_unrealize() to implement
unrealizing children of your container, then don't, ClutterActor
will already take care of that.</doc>
        <doc-deprecated xml:space="preserve">Actors are automatically unrealized, and nothing
  requires explicit realization.</doc-deprecated>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="276"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="1987">A #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unset_color_state"
              c:identifier="clutter_actor_unset_color_state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="17958">Set @self's color state to the default.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="585"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="17960">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="accessible-name"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_accessible_name"
                getter="get_accessible_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6919">Object instance's name for assistive technology access.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="accessible-role"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_accessible_role"
                getter="get_accessible_role"
                default-value="ATK_ROLE_INVALID">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6908">The accessible role of this object</doc>
        <type name="Atk.Role"/>
      </property>
      <property name="actions"
                readable="0"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6576">Adds a #ClutterAction to the actor</doc>
        <type name="Action"/>
      </property>
      <property name="allocation" transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6031">The allocation for the actor, in pixels

This is property is read-only, but you might monitor it to know when an
actor moves or resizes</doc>
        <type name="ActorBox"/>
      </property>
      <property name="background-color"
                writable="1"
                transfer-ownership="none"
                setter="set_background_color"
                getter="get_background_color"
                default-value="#00000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6768">Paints a solid fill of the actor's allocation using the specified
color.

The [property@Clutter.Actor:background-color] property is animatable.</doc>
        <type name="Cogl.Color"/>
      </property>
      <property name="background-color-set"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6756">Whether the [property@Clutter.Actor:background-color] property has been set.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="child-transform"
                writable="1"
                transfer-ownership="none"
                setter="set_child_transform"
                getter="get_child_transform">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6488">Applies a transformation matrix on each child of an actor.

Setting this property with a #graphene_matrix_t will set the
[property@Clutter.Actor:child-transform-set] property to %TRUE as a side effect;
setting this property with %NULL will set the
[property@Clutter.Actor:child-transform-set] property to %FALSE.

The [property@Clutter.Actor:child-transform] property is animatable.</doc>
        <type name="Graphene.Matrix"/>
      </property>
      <property name="child-transform-set"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6508">Whether the [property@Clutter.Actor:child-transform] property is set.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="clip-rect" writable="1" transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6234">The visible region of the actor, in actor-relative coordinates,
expressed as a #graphene_rect_t.

Setting this property to %NULL will unset the existing clip.

Setting this property will change the [property@Clutter.Actor:has-clip]
property as a side effect.</doc>
        <type name="Graphene.Rect"/>
      </property>
      <property name="clip-to-allocation"
                writable="1"
                transfer-ownership="none"
                setter="set_clip_to_allocation"
                getter="get_clip_to_allocation"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6534">Whether the clip region should track the allocated area
of the actor.

This property is ignored if a clip area has been explicitly
set using clutter_actor_set_clip().</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="color-state"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_color_state"
                getter="get_color_state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6894">The #ClutterColorState contains the properties like colorspace for each
actors.</doc>
        <type name="ColorState"/>
      </property>
      <property name="constraints"
                readable="0"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6588">Adds a #ClutterConstraint to the actor</doc>
        <type name="Constraint"/>
      </property>
      <property name="content"
                writable="1"
                transfer-ownership="none"
                setter="set_content"
                getter="get_content">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6808">The #ClutterContent implementation that controls the content
of the actor.</doc>
        <type name="Content"/>
      </property>
      <property name="content-box"
                transfer-ownership="none"
                getter="get_content_box">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6846">The bounding box for the #ClutterContent used by the actor.

The value of this property is controlled by the [property@Clutter.Actor:allocation]
and [property@Clutter.Actor:content-gravity] properties of #ClutterActor.

The bounding box for the content is guaranteed to never exceed the
allocation's of the actor.</doc>
        <type name="ActorBox"/>
      </property>
      <property name="content-gravity"
                writable="1"
                transfer-ownership="none"
                setter="set_content_gravity"
                getter="get_content_gravity"
                default-value="CLUTTER_CONTENT_GRAVITY_RESIZE_FILL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6821">The alignment that should be honoured by the #ClutterContent
set with the [property@Clutter.Actor:content] property.

Changing the value of this property will change the bounding box of
the content; you can use the [property@Clutter.Actor:content-box] property to
get the position and size of the content within the actor's
allocation.

This property is meaningful only for #ClutterContent implementations
that have a preferred size, and if the preferred size is smaller than
the actor's allocation.

The [property@Clutter.Actor:content-gravity] property is animatable.</doc>
        <type name="ContentGravity"/>
      </property>
      <property name="content-repeat"
                writable="1"
                transfer-ownership="none"
                setter="set_content_repeat"
                getter="get_content_repeat"
                default-value="CLUTTER_REPEAT_NONE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6881">The repeat policy for the actor's [property@Clutter.Actor:content].</doc>
        <type name="ContentRepeat"/>
      </property>
      <property name="context"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_context">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="5742">The %ClutterContext of the actor</doc>
        <type name="Context"/>
      </property>
      <property name="effect"
                readable="0"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6600">Adds #ClutterEffect to the list of effects be applied on a #ClutterActor</doc>
        <type name="Effect"/>
      </property>
      <property name="first-child"
                transfer-ownership="none"
                getter="get_first_child">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6784">The actor's first child.</doc>
        <type name="Actor"/>
      </property>
      <property name="fixed-position-set"
                writable="1"
                transfer-ownership="none"
                setter="set_fixed_position_set"
                getter="get_fixed_position_set"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="5897">This flag controls whether the [property@Clutter.Actor:fixed-x] and
[property@Clutter.Actor:fixed-y] properties are used</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="fixed-x"
                writable="1"
                transfer-ownership="none"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="5865">The fixed X position of the actor in pixels.

Writing this property sets [property@Clutter.Actor:fixed-position-set]
property as well, as a side effect</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="fixed-y"
                writable="1"
                transfer-ownership="none"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="5881">The fixed Y position of the actor in pixels.

Writing this property sets the [property@Clutter.Actor:fixed-position-set]
property as well, as a side effect</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="has-clip"
                transfer-ownership="none"
                getter="has_clip"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6222">Whether the actor has the [property@Clutter.Actor:clip-rect] property set or not</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="has-pointer"
                transfer-ownership="none"
                getter="has_pointer"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6563">Whether the actor contains the pointer of a #ClutterInputDevice
or not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="height"
                writable="1"
                transfer-ownership="none"
                setter="set_height"
                getter="get_height"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="5828">Height of the actor (in pixels).  If written, forces the minimum and
natural size request of the actor to the given height. If read, returns
the allocated height if available, otherwise the height request.

The [property@Clutter.Actor:height] property is animatable.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="last-child"
                transfer-ownership="none"
                getter="get_last_child">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6796">The actor's last child.</doc>
        <type name="Actor"/>
      </property>
      <property name="layout-manager"
                writable="1"
                transfer-ownership="none"
                setter="set_layout_manager"
                getter="get_layout_manager">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6612">A delegate object for controlling the layout of the children of
an actor.</doc>
        <type name="LayoutManager"/>
      </property>
      <property name="magnification-filter"
                writable="1"
                transfer-ownership="none"
                default-value="CLUTTER_SCALING_FILTER_LINEAR">
        <type name="ScalingFilter"/>
      </property>
      <property name="mapped"
                transfer-ownership="none"
                getter="is_mapped"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6183">Whether the actor is mapped (will be painted when the stage
to which it belongs is mapped)</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="margin-bottom"
                writable="1"
                transfer-ownership="none"
                setter="set_margin_bottom"
                getter="get_margin_bottom"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6699">The margin (in pixels) from the bottom of the actor.

This property adds a margin to the actor's preferred size; the margin
will be automatically taken into account when allocating the actor.

The [property@Clutter.Actor:margin-bottom] property is animatable.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="margin-left"
                writable="1"
                transfer-ownership="none"
                setter="set_margin_left"
                getter="get_margin_left"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6718">The margin (in pixels) from the left of the actor.

This property adds a margin to the actor's preferred size; the margin
will be automatically taken into account when allocating the actor.

The [property@Clutter.Actor:margin-left] property is animatable.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="margin-right"
                writable="1"
                transfer-ownership="none"
                setter="set_margin_right"
                getter="get_margin_right"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6737">The margin (in pixels) from the right of the actor.

This property adds a margin to the actor's preferred size; the margin
will be automatically taken into account when allocating the actor.

The [property@Clutter.Actor:margin-right] property is animatable.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="margin-top"
                writable="1"
                transfer-ownership="none"
                setter="set_margin_top"
                getter="get_margin_top"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6680">The margin (in pixels) from the top of the actor.

This property adds a margin to the actor's preferred size; the margin
will be automatically taken into account when allocating the actor.

The [property@Clutter.Actor:margin-top] property is animatable.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="min-height"
                writable="1"
                transfer-ownership="none"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="5928">A forced minimum height request for the actor, in pixels

Writing this property sets the [property@Clutter.Actor:min-height-set] property
as well, as a side effect. This property overrides the usual height
request of the actor.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="min-height-set"
                writable="1"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="5992">This flag controls whether the [property@Clutter.Actor:min-height] property
is used</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="min-width"
                writable="1"
                transfer-ownership="none"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="5910">A forced minimum width request for the actor, in pixels

Writing this property sets the [property@Clutter.Actor:min-width-set] property
as well, as a side effect.

This property overrides the usual width request of the actor.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="min-width-set"
                writable="1"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="5979">This flag controls whether the [property@Clutter.Actor:min-width] property
is used</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="minification-filter"
                writable="1"
                transfer-ownership="none"
                default-value="CLUTTER_SCALING_FILTER_LINEAR">
        <type name="ScalingFilter"/>
      </property>
      <property name="name"
                writable="1"
                transfer-ownership="none"
                setter="set_name"
                getter="get_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6252">The name of the actor</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="natural-height"
                writable="1"
                transfer-ownership="none"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="5962">A forced natural height request for the actor, in pixels

Writing this property sets the [property@Clutter.Actor:natural-height-set]
property as well, as a side effect. This property overrides the
usual height request of the actor</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="natural-height-set"
                writable="1"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6018">This flag controls whether the [property@Clutter.Actor:natural-height] property
is used</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="natural-width"
                writable="1"
                transfer-ownership="none"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="5945">A forced natural width request for the actor, in pixels

Writing this property sets the [property@Clutter.Actor:natural-width-set]
property as well, as a side effect. This property overrides the
usual width request of the actor</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="natural-width-set"
                writable="1"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6005">This flag controls whether the [property@Clutter.Actor:natural-width] property
is used</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="offscreen-redirect"
                writable="1"
                transfer-ownership="none"
                setter="set_offscreen_redirect"
                getter="get_offscreen_redirect"
                default-value="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6153">Determines the conditions in which the actor will be redirected
to an offscreen framebuffer while being painted. For example this
can be used to cache an actor in a framebuffer or for improved
handling of transparent actors. See
clutter_actor_set_offscreen_redirect() for details.</doc>
        <type name="OffscreenRedirect"/>
      </property>
      <property name="opacity"
                writable="1"
                transfer-ownership="none"
                setter="set_opacity"
                getter="get_opacity"
                default-value="255">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6136">Opacity of an actor, between 0 (fully transparent) and
255 (fully opaque)

The [property@Clutter.Actor:opacity] property is animatable.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="pivot-point"
                writable="1"
                transfer-ownership="none"
                setter="set_pivot_point"
                getter="get_pivot_point">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6264">The point around which the scaling and rotation transformations occur.

The pivot point is expressed in normalized coordinates space, with (0, 0)
being the top left corner of the actor and (1, 1) the bottom right corner
of the actor.

The default pivot point is located at (0, 0).

The [property@Clutter.Actor:pivot-point] property is animatable.</doc>
        <type name="Graphene.Point"/>
      </property>
      <property name="pivot-point-z"
                writable="1"
                transfer-ownership="none"
                setter="set_pivot_point_z"
                getter="get_pivot_point_z"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6285">The Z component of the [property@Clutter.Actor:pivot-point], expressed as a value
along the Z axis.

The [property@Clutter.Actor:pivot-point-z] property is animatable.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="position"
                writable="1"
                transfer-ownership="none"
                setter="set_position"
                getter="get_position">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="5791">The position of the origin of the actor.

This property is a shorthand for setting and getting the
[property@Clutter.Actor:x] and [property@Clutter.Actor:y] properties at the same
time.

The [property@Clutter.Actor:position] property is animatable.</doc>
        <type name="Graphene.Point"/>
      </property>
      <property name="reactive"
                writable="1"
                transfer-ownership="none"
                setter="set_reactive"
                getter="get_reactive"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6208">Whether the actor is reactive to events or not

Only reactive actors will emit event-related signals</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="realized"
                transfer-ownership="none"
                getter="is_realized"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6196">Whether the actor has been realized</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="request-mode"
                writable="1"
                transfer-ownership="none"
                setter="set_request_mode"
                getter="get_request_mode"
                default-value="CLUTTER_REQUEST_HEIGHT_FOR_WIDTH">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6047">Request mode for the #ClutterActor. The request mode determines the
type of geometry management used by the actor, either height for width
(the default) or width for height.

For actors implementing height for width, the parent container should get
the preferred width first, and then the preferred height for that width.

For actors implementing width for height, the parent container should get
the preferred height first, and then the preferred width for that height.

For instance:

```c
  ClutterRequestMode mode;
  gfloat natural_width, min_width;
  gfloat natural_height, min_height;

  mode = clutter_actor_get_request_mode (child);
  if (mode == CLUTTER_REQUEST_HEIGHT_FOR_WIDTH)
    {
      clutter_actor_get_preferred_width (child, -1,
                                         &amp;min_width,
                                         &amp;natural_width);
      clutter_actor_get_preferred_height (child, natural_width,
                                          &amp;min_height,
                                          &amp;natural_height);
    }
  else if (mode == CLUTTER_REQUEST_WIDTH_FOR_HEIGHT)
    {
      clutter_actor_get_preferred_height (child, -1,
                                          &amp;min_height,
                                          &amp;natural_height);
      clutter_actor_get_preferred_width (child, natural_height,
                                         &amp;min_width,
                                         &amp;natural_width);
    }
  else if (mode == CLUTTER_REQUEST_CONTENT_SIZE)
    {
      ClutterContent *content = clutter_actor_get_content (child);

      min_width, min_height = 0;
      natural_width = natural_height = 0;

      if (content != NULL)
        clutter_content_get_preferred_size (content, &amp;natural_width, &amp;natural_height);
    }
```

will retrieve the minimum and natural width and height depending on the
preferred request mode of the #ClutterActor "child".

The [method@Clutter.Actor.get_preferred_size] function will implement this
check for you.</doc>
        <type name="RequestMode"/>
      </property>
      <property name="rotation-angle-x"
                writable="1"
                transfer-ownership="none"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6350">The rotation angle on the X axis.

The [property@Clutter.Actor:rotation-angle-x] property is animatable.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="rotation-angle-y"
                writable="1"
                transfer-ownership="none"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6366">The rotation angle on the Y axis

The [property@Clutter.Actor:rotation-angle-y] property is animatable.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="rotation-angle-z"
                writable="1"
                transfer-ownership="none"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6382">The rotation angle on the Z axis

The [property@Clutter.Actor:rotation-angle-z] property is animatable.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="scale-x"
                writable="1"
                transfer-ownership="none"
                default-value="1.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6302">The horizontal scale of the actor.

The [property@Clutter.Actor:scale-x] property is animatable.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="scale-y"
                writable="1"
                transfer-ownership="none"
                default-value="1.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6318">The vertical scale of the actor.

The [property@Clutter.Actor:scale-y] property is animatable.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="scale-z"
                writable="1"
                transfer-ownership="none"
                setter="set_scale_z"
                getter="get_scale_z"
                default-value="1.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6334">The scale factor of the actor along the Z axis.

The [property@Clutter.Actor:scale-y] property is animatable.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="show-on-set-parent"
                writable="1"
                transfer-ownership="none"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6520">If %TRUE, the actor is automatically shown when parented.

Calling clutter_actor_hide() on an actor which has not been
parented will set this property to %FALSE as a side effect.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="size"
                writable="1"
                transfer-ownership="none"
                setter="set_size"
                getter="get_size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="5846">The size of the actor.

This property is a shorthand for setting and getting the
[property@Clutter.Actor:width] and [property@Clutter.Actor:height]
at the same time.

The [property@Clutter.Actor:size] property is animatable.</doc>
        <type name="Graphene.Size"/>
      </property>
      <property name="text-direction"
                writable="1"
                transfer-ownership="none"
                setter="set_text_direction"
                getter="get_text_direction"
                default-value="CLUTTER_TEXT_DIRECTION_LTR">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6550">The direction of the text inside a #ClutterActor.</doc>
        <type name="TextDirection"/>
      </property>
      <property name="transform"
                writable="1"
                transfer-ownership="none"
                setter="set_transform"
                getter="get_transform">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6448">Overrides the transformations of a #ClutterActor with a custom
matrix.

The matrix specified by the [property@Clutter.Actor:transform] property is
applied to the actor and its children relative to the actor's
[property@Clutter.Actor:allocation] and
[property@Clutter.Actor:pivot-point].

Application code should rarely need to use this function directly.

Setting this property with a #graphene_matrix_t will set the
[property@Clutter.Actor:transform-set] property to %TRUE as a side effect;
setting this property with %NULL will set the
[property@Clutter.Actor:transform-set] property to %FALSE.

The [property@Clutter.Actor:transform] property is animatable.</doc>
        <type name="Graphene.Matrix"/>
      </property>
      <property name="transform-set"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6476">Whether the [property@Clutter.Actor:transform] property is set.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="translation-x"
                writable="1"
                transfer-ownership="none"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6397">An additional translation applied along the X axis, relative
to the actor's [property@Clutter.Actor:pivot-point].

The [property@Clutter.Actor:translation-x] property is animatable.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="translation-y"
                writable="1"
                transfer-ownership="none"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6414">An additional translation applied along the Y axis, relative
to the actor's [property@Clutter.Actor:pivot-point].

The [property@Clutter.Actor:translation-y] property is animatable.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="translation-z"
                writable="1"
                transfer-ownership="none"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6431">An additional translation applied along the Z axis, relative
to the actor's [property@Clutter.Actor:pivot-point].

The [property@Clutter.Actor:translation-z] property is animatable.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="visible"
                writable="1"
                transfer-ownership="none"
                getter="is_visible"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6169">Whether the actor is set to be visible or not

See also [property@Clutter.Actor:mapped]</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="width"
                writable="1"
                transfer-ownership="none"
                setter="set_width"
                getter="get_width"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="5810">Width of the actor (in pixels). If written, forces the minimum and
natural size request of the actor to the given width. If read, returns
the allocated width if available, otherwise the width request.

The [property@Clutter.Actor:width] property is animatable.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="x"
                writable="1"
                transfer-ownership="none"
                setter="set_x"
                getter="get_x"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="5755">X coordinate of the actor in pixels. If written, forces a fixed
position for the actor. If read, returns the fixed position if any,
otherwise the allocation if available, otherwise 0.

The [property@Clutter.Actor:x] property is animatable.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="x-align"
                writable="1"
                transfer-ownership="none"
                setter="set_x_align"
                getter="get_x_align"
                default-value="CLUTTER_ACTOR_ALIGN_FILL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6651">The alignment of an actor on the X axis, if the actor has been given
extra space for its allocation. See also the [property@Clutter.Actor:x-expand]
property.</doc>
        <type name="ActorAlign"/>
      </property>
      <property name="x-expand"
                writable="1"
                transfer-ownership="none"
                setter="set_x_expand"
                getter="get_x_expand"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6625">Whether a layout manager should assign more space to the actor on
the X axis.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="y"
                writable="1"
                transfer-ownership="none"
                setter="set_y"
                getter="get_y"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="5773">Y coordinate of the actor in pixels. If written, forces a fixed
position for the actor.  If read, returns the fixed position if
any, otherwise the allocation if available, otherwise 0.

The [property@Clutter.Actor:y] property is animatable.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="y-align"
                writable="1"
                transfer-ownership="none"
                setter="set_y_align"
                getter="get_y_align"
                default-value="CLUTTER_ACTOR_ALIGN_FILL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6666">The alignment of an actor on the Y axis, if the actor has been given
extra space for its allocation.</doc>
        <type name="ActorAlign"/>
      </property>
      <property name="y-expand"
                writable="1"
                transfer-ownership="none"
                setter="set_y_expand"
                getter="get_y_expand"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6638">Whether a layout manager should assign more space to the actor on
the Y axis.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="z-position"
                writable="1"
                transfer-ownership="none"
                setter="set_z_position"
                getter="get_z_position"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6112">The actor's position on the Z axis, relative to the parent's
transformations.

Positive values will bring the actor's position nearer to the user,
whereas negative values will bring the actor's position farther from
the user.

The [property@Clutter.Actor:z-position] does not affect the paint or allocation
order.

The [property@Clutter.Actor:z-position] property is animatable.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
      </field>
      <field name="flags">
        <type name="guint32" c:type="guint32"/>
      </field>
      <field name="accessible_role">
        <type name="Atk.Role" c:type="AtkRole"/>
      </field>
      <field name="private_flags" readable="0" private="1">
        <type name="guint32" c:type="guint32"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ActorPrivate" c:type="ClutterActorPrivate*"/>
      </field>
      <glib:signal name="button-press-event" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7049">The signal is emitted each time a mouse button
is pressed on @actor.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="7057">%TRUE if the event has been handled by the actor,
  or %FALSE to continue the emission.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7052">a button [struct@Event]</doc>
            <type name="Event"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="button-release-event" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7072">The signal is emitted each time a mouse button
is released on @actor.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="7080">%TRUE if the event has been handled by the actor,
  or %FALSE to continue the emission.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7075">a button [struct@Event]</doc>
            <type name="Event"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="captured-event" when="last" detailed="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7263">The signal is emitted when an event is captured
by Clutter. This signal will be emitted starting from the top-level
container (the [class@Clutter.Stage]) to the actor which received the event
going down the hierarchy. This signal can be used to intercept every
event before the specialized events (like
[signal@Clutter.Actor::button-press-event] or
[signal@Clutter.Actor::button-release-event]) are
emitted.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="7277">%TRUE if the event has been handled by the actor,
  or %FALSE to continue the emission.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7266">a #ClutterEvent</doc>
            <type name="Event"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="child-added" when="first">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7458">The signal is emitted each time an actor
has been added to @actor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7461">the new child that has been added to @actor</doc>
            <type name="Actor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="child-removed" when="first">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7474">The signal is emitted each time an actor
is removed from @actor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7477">the child that has been removed from @actor</doc>
            <type name="Actor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="cloned" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Clone"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="decloned" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Clone"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="destroy" when="cleanup" no-recurse="1" no-hooks="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6931">The signal notifies that all references held on the
actor which emitted it should be released.

The signal should be used by all holders of a reference
on @actor.

This signal might result in the finalization of the #ClutterActor
if all references are released.

Composite actors should override the default implementation of the
class handler of this signal and call clutter_actor_destroy() on
their children. When overriding the default class handler, it is
required to chain up to the parent's implementation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="enter-event" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7217">The signal is emitted when the pointer enters the @actor</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="7224">%TRUE if the event has been handled by the actor,
  or %FALSE to continue the emission.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7220">a crossing [struct@Event]</doc>
            <type name="Event"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="event" when="last" detailed="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7024">The signal is emitted each time an event is received
by the @actor. This signal will be emitted on every actor,
following the hierarchy chain, until it reaches the top-level
container (the #ClutterStage).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="7034">%TRUE if the event has been handled by the actor,
  or %FALSE to continue the emission.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7027">a #ClutterEvent</doc>
            <type name="Event"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="hide" when="first">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6970">The signal is emitted when an actor is no longer rendered
on the stage.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="key-focus-in" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7189">The signal is emitted when @actor receives key focus.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="key-focus-out" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7203">The signal is emitted when @actor loses key focus.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="key-press-event" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7118">The signal is emitted each time a keyboard button
is pressed while @actor has key focus (see clutter_stage_set_key_focus()).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="7126">%TRUE if the event has been handled by the actor,
  or %FALSE to continue the emission.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7121">a key [struct@Event]</doc>
            <type name="Event"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="key-release-event" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7141">The signal is emitted each time a keyboard button
is released while @actor has key focus (see
clutter_stage_set_key_focus()).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="7150">%TRUE if the event has been handled by the actor,
  or %FALSE to continue the emission.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7144">a key [struct@Event]</doc>
            <type name="Event"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="leave-event" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7240">The signal is emitted when the pointer leaves the @actor.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="7247">%TRUE if the event has been handled by the actor,
  or %FALSE to continue the emission.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7243">a crossing [struct@Event]</doc>
            <type name="Event"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="motion-event" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7165">The signal is emitted each time the mouse pointer is
moved over @actor.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="7173">%TRUE if the event has been handled by the actor,
  or %FALSE to continue the emission.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7168">a motion [struct@Event]</doc>
            <type name="Event"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="parent-set" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6984">This signal is emitted when the parent of the actor changes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="old_parent"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="6987">the previous parent of the actor, or %NULL</doc>
            <type name="Actor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="pick"
                   when="last"
                   deprecated="1"
                   deprecated-version="1.12">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7328">The signal is emitted each time an actor is being painted
in "pick mode". The pick mode is used to identify the actor during
the event handling phase, or by [method@Clutter.Stage.get_actor_at_pos].

Subclasses of #ClutterActor should override the class signal handler
and paint themselves in that function.

It is possible to connect a handler to the signal in order
to set up some custom aspect of a paint in pick mode.</doc>
        <doc-deprecated xml:space="preserve">Override the [vfunc@Clutter.Actor.pick] virtual function
  instead.</doc-deprecated>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pick_context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7331">a #ClutterPickContext</doc>
            <type name="PickContext"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="queue-relayout" when="last" no-hooks="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7000">The signal is emitted when clutter_actor_queue_relayout()
is called on an actor.

The default implementation for #ClutterActor chains up to the
parent actor and queues a relayout on the parent, thus "bubbling"
the relayout queue up through the actor graph.

The main purpose of this signal is to allow relayout to be propagated
properly in the procense of #ClutterClone actors. Applications will
not normally need to connect to this signal.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="realize"
                   when="last"
                   deprecated="1"
                   deprecated-version="1.16">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7293">The signal is emitted each time an actor is being
realized.</doc>
        <doc-deprecated xml:space="preserve">The signal should not be used in newly
  written code</doc-deprecated>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="resource-scale-changed" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7440">The signal is emitted when the resource scale
value returned by [method@Clutter.Actor.get_resource_scale] changes.

This signal can be used to get notified about the correct resource scale
when the scale had to be queried outside of the paint cycle.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="scroll-event" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7095">The signal is emitted each time the mouse is
scrolled on @actor</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="7103">%TRUE if the event has been handled by the actor,
  or %FALSE to continue the emission.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7098">a scroll [struct@Event]</doc>
            <type name="Event"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="show" when="first">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="6956">The signal is emitted when an actor is visible and
rendered on the stage.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="stage-views-changed" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7420">The signal is emitted when the position or
size an actor is being painted at have changed so that it's visible
on different stage views.

This signal is also emitted when the actor gets detached from the stage
or when the views of the stage have been invalidated and will be
replaced; it's not emitted when the actor gets hidden.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="touch-event" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7396">The signal is emitted each time a touch
begin/end/update/cancel event.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="7404">%CLUTTER_EVENT_STOP if the event has been handled by
  the actor, or %CLUTTER_EVENT_PROPAGATE to continue the emission.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7399">a #ClutterEvent</doc>
            <type name="Event"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="transition-stopped"
                   when="last"
                   no-recurse="1"
                   detailed="1"
                   no-hooks="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7369">The signal is emitted once a transition
is stopped; a transition is stopped once it reached its total
duration (including eventual repeats), it has been stopped
using [method@Clutter.Timeline.stop], or it has been removed from the
transitions applied on @actor, using [method@Clutter.Actor.remove_transition].</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7372">the name of the transition</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="is_finished" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="7373">whether the transition was finished, or stopped</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="transitions-completed" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7354">The signal is emitted once all transitions
involving @actor are complete.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="unrealize"
                   when="last"
                   deprecated="1"
                   deprecated-version="1.16">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="7310">The signal is emitted each time an actor is being
unrealized.</doc>
        <doc-deprecated xml:space="preserve">The signal should not be used in newly
  written code</doc-deprecated>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <class name="ActorAccessible"
           c:symbol-prefix="actor_accessible"
           c:type="ClutterActorAccessible"
           parent="Atk.GObjectAccessible"
           glib:type-name="ClutterActorAccessible"
           glib:get-type="clutter_actor_accessible_get_type"
           glib:type-struct="ActorAccessibleClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-actor-accessible.c"
           line="25">Implementation of the ATK interfaces for [class@Clutter.Actor]

#ClutterActorAccessible implements the required ATK interfaces of [class@Clutter.Actor]
exposing the common elements on each actor (position, extents, etc).</doc>
      <source-position filename="clutter/clutter/clutter-actor-accessible.h"
                       line="54"/>
      <implements name="Atk.Component"/>
      <field name="parent_instance">
        <type name="Atk.GObjectAccessible" c:type="AtkGObjectAccessible"/>
      </field>
    </class>
    <record name="ActorAccessibleClass"
            c:type="ClutterActorAccessibleClass"
            glib:is-gtype-struct-for="ActorAccessible">
      <source-position filename="clutter/clutter/clutter-actor-accessible.h"
                       line="54"/>
      <field name="parent_class" readable="0" private="1">
        <type name="Atk.GObjectAccessibleClass"
              c:type="AtkGObjectAccessibleClass"/>
      </field>
    </record>
    <record name="ActorAccessiblePrivate"
            c:type="ClutterActorAccessiblePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-actor-accessible.h"
                       line="48"/>
    </record>
    <enumeration name="ActorAlign"
                 glib:type-name="ClutterActorAlign"
                 glib:get-type="clutter_actor_align_get_type"
                 c:type="ClutterActorAlign">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="780">Controls how a #ClutterActor should align itself inside the extra space
assigned to it during the allocation.

Alignment only matters if the allocated space given to an actor is
bigger than its natural size; for example, when
the [property@Clutter.Actor:x-expand] or the [property@Clutter.Actor:y-expand]
properties of #ClutterActor are set to %TRUE.</doc>
      <member name="fill"
              value="0"
              c:identifier="CLUTTER_ACTOR_ALIGN_FILL"
              glib:nick="fill"
              glib:name="CLUTTER_ACTOR_ALIGN_FILL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="782">Stretch to cover the whole allocated space</doc>
      </member>
      <member name="start"
              value="1"
              c:identifier="CLUTTER_ACTOR_ALIGN_START"
              glib:nick="start"
              glib:name="CLUTTER_ACTOR_ALIGN_START">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="783">Snap to left or top side, leaving space
  to the right or bottom. For horizontal layouts, in right-to-left
  locales this should be reversed.</doc>
      </member>
      <member name="center"
              value="2"
              c:identifier="CLUTTER_ACTOR_ALIGN_CENTER"
              glib:nick="center"
              glib:name="CLUTTER_ACTOR_ALIGN_CENTER">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="786">Center the actor inside the allocation</doc>
      </member>
      <member name="end"
              value="3"
              c:identifier="CLUTTER_ACTOR_ALIGN_END"
              glib:nick="end"
              glib:name="CLUTTER_ACTOR_ALIGN_END">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="787">Snap to right or bottom side, leaving space
  to the left or top. For horizontal layouts, in right-to-left locales
  this should be reversed.</doc>
      </member>
    </enumeration>
    <record name="ActorBox"
            c:type="ClutterActorBox"
            glib:type-name="ClutterActorBox"
            glib:get-type="clutter_actor_box_get_type"
            c:symbol-prefix="actor_box">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-types.h"
           line="117">Bounding box of an actor.

The coordinates of the top left and right bottom corners
of an actor. The coordinates of the two points are expressed in
pixels with sub-pixel precision</doc>
      <source-position filename="clutter/clutter/clutter-types.h" line="137"/>
      <field name="x1" writable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-types.h"
             line="119">X coordinate of the top left corner</doc>
        <type name="gfloat" c:type="gfloat"/>
      </field>
      <field name="y1" writable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-types.h"
             line="120">Y coordinate of the top left corner</doc>
        <type name="gfloat" c:type="gfloat"/>
      </field>
      <field name="x2" writable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-types.h"
             line="121">X coordinate of the bottom right corner</doc>
        <type name="gfloat" c:type="gfloat"/>
      </field>
      <field name="y2" writable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-types.h"
             line="122">Y coordinate of the bottom right corner</doc>
        <type name="gfloat" c:type="gfloat"/>
      </field>
      <constructor name="new" c:identifier="clutter_actor_box_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="10">Allocates a new [struct@ActorBox] using the passed coordinates
for the top left and bottom right points.

This function is the logical equivalent of:

```c
  clutter_actor_box_init (clutter_actor_box_alloc (),
                          x_1, y_1,
                          x_2, y_2);
```</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="184"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor-box.c"
               line="28">the newly allocated #ClutterActorBox.
  Use [method@ActorBox.free] to free the resources</doc>
          <type name="ActorBox" c:type="ClutterActorBox*"/>
        </return-value>
        <parameters>
          <parameter name="x_1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="12">X coordinate of the top left point</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="y_1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="13">Y coordinate of the top left point</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="x_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="14">X coordinate of the bottom right point</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="y_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="15">Y coordinate of the bottom right point</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="contains" c:identifier="clutter_actor_box_contains">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="288">Checks whether a point with @x, @y coordinates is contained
within @box</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="228"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor-box.c"
               line="297">%TRUE if the point is contained by the #ClutterActorBox</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="290">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="291">X coordinate of the point</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="292">Y coordinate of the point</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="copy" c:identifier="clutter_actor_box_copy">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="110">Copies @box</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="203"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor-box.c"
               line="116">a newly allocated copy of #ClutterActorBox. Use
  [method@ActorBox.free] to free the allocated resources</doc>
          <type name="ActorBox" c:type="ClutterActorBox*"/>
        </return-value>
        <parameters>
          <instance-parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="112">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="equal" c:identifier="clutter_actor_box_equal">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="142">Checks @box_a and @box_b for equality</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="207"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor-box.c"
               line="149">%TRUE if the passed #ClutterActorBox are equal</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="box_a" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="144">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </instance-parameter>
          <parameter name="box_b" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="145">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="clutter_actor_box_free">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="128">Frees a #ClutterActorBox allocated using [ctor@ActorBox.new]
or [method@ActorBox.copy].</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="205"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="130">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="ClutterActorBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="from_vertices"
              c:identifier="clutter_actor_box_from_vertices">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="310">Calculates the bounding box represented by the four vertices; for details
of the vertex array see [method@Actor.get_abs_allocation_vertices].</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="232"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="312">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="ClutterActorBox*"/>
          </instance-parameter>
          <parameter name="verts" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="313">array of four #graphene_point3d_t</doc>
            <array zero-terminated="0"
                   c:type="const graphene_point3d_t*"
                   fixed-size="4">
              <type name="Graphene.Point3D" c:type="graphene_point3d_t"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="get_area" c:identifier="clutter_actor_box_get_area">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="272">Retrieves the area of @box</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="226"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor-box.c"
               line="278">the area of a #ClutterActorBox, in pixels</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="274">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_height" c:identifier="clutter_actor_box_get_height">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="212">Retrieves the height of the @box</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="216"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor-box.c"
               line="218">the height of the box</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="214">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_origin" c:identifier="clutter_actor_box_get_origin">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="228">Retrieves the origin of @box</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="218"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="230">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </instance-parameter>
          <parameter name="x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="231">return location for the X coordinate, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="232">return location for the Y coordinate, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_size" c:identifier="clutter_actor_box_get_size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="250">Retrieves the size of @box</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="222"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="252">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </instance-parameter>
          <parameter name="width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="253">return location for the width, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="254">return location for the height, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_width" c:identifier="clutter_actor_box_get_width">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="196">Retrieves the width of the @box</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="214"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor-box.c"
               line="202">the width of the box</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="198">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_x" c:identifier="clutter_actor_box_get_x">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="164">Retrieves the X coordinate of the origin of @box</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="210"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor-box.c"
               line="170">the X coordinate of the origin</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="166">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_y" c:identifier="clutter_actor_box_get_y">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="180">Retrieves the Y coordinate of the origin of @box</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="212"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor-box.c"
               line="186">the Y coordinate of the origin</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="182">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="init" c:identifier="clutter_actor_box_init">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="56">Initializes @box with the given coordinates.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="191"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor-box.c"
               line="66">the initialized #ClutterActorBox</doc>
          <type name="ActorBox" c:type="ClutterActorBox*"/>
        </return-value>
        <parameters>
          <instance-parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="58">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="ClutterActorBox*"/>
          </instance-parameter>
          <parameter name="x_1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="59">X coordinate of the top left point</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="y_1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="60">Y coordinate of the top left point</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="x_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="61">X coordinate of the bottom right point</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="y_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="62">Y coordinate of the bottom right point</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="init_rect" c:identifier="clutter_actor_box_init_rect">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="85">Initializes @box with the given origin and size.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="197"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="87">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="ClutterActorBox*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="88">X coordinate of the origin</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="89">Y coordinate of the origin</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="90">width of the box</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="91">height of the box</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="interpolate" c:identifier="clutter_actor_box_interpolate">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="376">Interpolates between @initial and @final `ClutterActorBox`es
using @progress</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="235"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="initial" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="378">the initial #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </instance-parameter>
          <parameter name="final" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="379">the final #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </parameter>
          <parameter name="progress" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="380">the interpolation progress</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="result"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="381">return location for the interpolation</doc>
            <type name="ActorBox" c:type="ClutterActorBox*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_initialized"
              c:identifier="clutter_actor_box_is_initialized">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="577">Checks if @box has been initialized, a #ClutterActorBox is uninitialized
if it has a size of -1 at an origin of 0, 0.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="260"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor-box.c"
               line="584">%TRUE if the box is uninitialized, %FALSE if it isn't</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="579">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="ClutterActorBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="scale" c:identifier="clutter_actor_box_scale">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="558">Rescale the @box by provided @scale factor.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="256"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="560">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="ClutterActorBox*"/>
          </instance-parameter>
          <parameter name="scale" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="561">scale factor for resizing this box</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_origin" c:identifier="clutter_actor_box_set_origin">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="462">Changes the origin of @box, maintaining the size of the #ClutterActorBox.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="247"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="464">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="ClutterActorBox*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="465">the X coordinate of the new origin</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="466">the Y coordinate of the new origin</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_size" c:identifier="clutter_actor_box_set_size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="485">Sets the size of @box, maintaining the origin of the #ClutterActorBox.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="251"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="487">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="ClutterActorBox*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="488">the new width</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="489">the new height</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="union" c:identifier="clutter_actor_box_union">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="419">Unions the two boxes @a and @b and stores the result in @result.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="242"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="a" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="421">the first #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </instance-parameter>
          <parameter name="b" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="422">the second #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </parameter>
          <parameter name="result"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="423">the #ClutterActorBox representing a union
  of @a and @b</doc>
            <type name="ActorBox" c:type="ClutterActorBox*"/>
          </parameter>
        </parameters>
      </method>
      <function name="alloc" c:identifier="clutter_actor_box_alloc">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="42">Allocates a new [struct@ActorBox].</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="189"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor-box.c"
               line="47">the newly allocated #ClutterActorBox.
  Use [method@ActorBox.free] to free its resources</doc>
          <type name="ActorBox" c:type="ClutterActorBox*"/>
        </return-value>
      </function>
      <function name="clamp_to_pixel"
                c:identifier="clutter_actor_box_clamp_to_pixel">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="402">Clamps the components of @box to the nearest integer</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="240"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="box"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-box.c"
                 line="404">the #ClutterActorBox to clamp</doc>
            <type name="ActorBox" c:type="ClutterActorBox*"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <record name="ActorClass"
            c:type="ClutterActorClass"
            glib:is-gtype-struct-for="Actor">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-actor.h"
           line="74">Base class for actors.</doc>
      <source-position filename="clutter/clutter/clutter-actor.h" line="244"/>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.InitiallyUnownedClass"
              c:type="GInitiallyUnownedClass"/>
      </field>
      <field name="show">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="76">signal class handler for [signal@Clutter.Actor::show]; it must chain
  up to the parent's implementation</doc>
        <callback name="show">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="160"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="1725">A #ClutterActor</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="hide">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="78">signal class handler for [signal@Clutter.Actor::hide]; it must chain
  up to the parent's implementation</doc>
        <callback name="hide">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="161"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="1818">A #ClutterActor</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="hide_all">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="80">virtual function for containers and composite actors, to
  determine which children should be shown when calling
  clutter_actor_hide_all() on the actor. Defaults to calling
  clutter_actor_hide(). This virtual function is deprecated and it
  should not be overridden.</doc>
        <callback name="hide_all">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="162"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="realize">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="85">virtual function, used to allocate resources for the actor;
  it should chain up to the parent's implementation. This virtual
  function is deprecated and should not be overridden in newly
  written code.</doc>
        <callback name="realize">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="163"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="1882">A #ClutterActor</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="unrealize">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="89">virtual function, used to deallocate resources allocated
  in ::realize; it should chain up to the parent's implementation. This
  function is deprecated and should not be overridden in newly
  written code.</doc>
        <callback name="unrealize">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="164"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="1987">A #ClutterActor</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="map">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="93">virtual function for containers and composite actors, to
  map their children; it must chain up to the parent's implementation.
  Overriding this function is optional.</doc>
        <callback name="map">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="165"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="1484">A #ClutterActor</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="unmap">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="96">virtual function for containers and composite actors, to
  unmap their children; it must chain up to the parent's implementation.
  Overriding this function is optional.</doc>
        <callback name="unmap">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="166"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="1623">A #ClutterActor</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="paint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="99">virtual function, used to paint the actor</doc>
        <callback name="paint">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="167"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="3483">A #ClutterActor</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="paint_context" transfer-ownership="none">
              <type name="PaintContext" c:type="ClutterPaintContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="parent_set">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="118">signal class handler for the [signal@Clutter.Actor::parent-set]</doc>
        <callback name="parent_set">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="169"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="old_parent" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="destroy">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="119">signal class handler for [signal@Clutter.Actor::destroy]. It must
  chain up to the parent's implementation</doc>
        <callback name="destroy">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="172"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="7585">a #ClutterActor</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="pick">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="121">virtual function, used to draw an outline of the actor with
  the given color</doc>
        <callback name="pick">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="173"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="actor" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="3775">A #ClutterActor</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="pick_context" transfer-ownership="none">
              <type name="PickContext" c:type="ClutterPickContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_preferred_width">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="100">virtual function, used when querying the minimum
  and natural widths of an actor for a given height; it is used by
  clutter_actor_get_preferred_width()</doc>
        <callback name="get_preferred_width">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="177"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="8228">A #ClutterActor</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="for_height" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="8229">available height when computing the preferred width,
  or a negative value to indicate that no height is defined</doc>
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
            <parameter name="min_width_p"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full"
                       optional="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="8231">return location for minimum width,
  or %NULL</doc>
              <type name="gfloat" c:type="gfloat*"/>
            </parameter>
            <parameter name="natural_width_p"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full"
                       optional="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="8233">return location for the natural
  width, or %NULL</doc>
              <type name="gfloat" c:type="gfloat*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_preferred_height">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="103">virtual function, used when querying the minimum
  and natural heights of an actor for a given width; it is used by
  clutter_actor_get_preferred_height()</doc>
        <callback name="get_preferred_height">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="181"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="8392">A #ClutterActor</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="for_width" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="8393">available width to assume in computing desired height,
  or a negative value to indicate that no width is defined</doc>
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
            <parameter name="min_height_p"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full"
                       optional="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="8395">return location for minimum height,
  or %NULL</doc>
              <type name="gfloat" c:type="gfloat*"/>
            </parameter>
            <parameter name="natural_height_p"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full"
                       optional="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="8397">return location for natural
  height, or %NULL</doc>
              <type name="gfloat" c:type="gfloat*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="allocate">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="106">virtual function, used when setting the coordinates of an
  actor; it is used by clutter_actor_allocate(); when overriding this
  function without chaining up, clutter_actor_set_allocation() must be
  called and children must be allocated by the implementation, when
  chaining up though, those things will be done by the parent's
  implementation.</doc>
        <callback name="allocate">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="185"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="8782">A #ClutterActor</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="box" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="8783">new allocation of the actor, in parent-relative coordinates</doc>
              <type name="ActorBox" c:type="const ClutterActorBox*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="apply_transform">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="112">virtual function, used when applying the transformations
  to an actor before painting it or when transforming coordinates or
  the allocation; if the transformation calculated by this function may
  have changed, the cached transformation must be invalidated by calling
  clutter_actor_invalidate_transform(); it must chain up to the parent's
  implementation</doc>
        <callback name="apply_transform">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="189"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="matrix" transfer-ownership="none">
              <type name="Graphene.Matrix" c:type="graphene_matrix_t*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="123">class handler for [signal@Clutter.Actor::event]</doc>
        <callback name="event">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="193"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Event" c:type="ClutterEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="button_press_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="124">class handler for [signal@Clutter.Actor::button-press-event]</doc>
        <callback name="button_press_event">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="195"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Event" c:type="ClutterEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="button_release_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="125">class handler for
  [signal@Clutter.Actor::button-release-event]</doc>
        <callback name="button_release_event">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="197"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Event" c:type="ClutterEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="scroll_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="127">signal class closure for [signal@Clutter.Actor::scroll-event]</doc>
        <callback name="scroll_event">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="199"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Event" c:type="ClutterEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="key_press_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="128">signal class closure for [signal@Clutter.Actor::key-press-event]</doc>
        <callback name="key_press_event">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="201"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Event" c:type="ClutterEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="key_release_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="129">signal class closure for
  [signal@Clutter.Actor::key-release-event]</doc>
        <callback name="key_release_event">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="203"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Event" c:type="ClutterEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="motion_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="131">signal class closure for [signal@Clutter.Actor::motion-event]</doc>
        <callback name="motion_event">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="205"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Event" c:type="ClutterEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="enter_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="132">signal class closure for [signal@Clutter.Actor::enter-event]</doc>
        <callback name="enter_event">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="207"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Event" c:type="ClutterEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="leave_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="133">signal class closure for [signal@Clutter.Actor::leave-event]</doc>
        <callback name="leave_event">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="209"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Event" c:type="ClutterEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="captured_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="134">signal class closure for [signal@Clutter.Actor::captured-event]</doc>
        <callback name="captured_event">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="211"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Event" c:type="ClutterEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="key_focus_in">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="135">signal class closure for [signal@Clutter.Actor::key-focus-in]</doc>
        <callback name="key_focus_in">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="213"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="key_focus_out">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="136">signal class closure for [signal@Clutter.Actor::key-focus-out]</doc>
        <callback name="key_focus_out">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="214"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="queue_relayout">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="137">class handler for [signal@Clutter.Actor::queue-relayout]</doc>
        <callback name="queue_relayout">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="216"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="7841">A #ClutterActor</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_accessible">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="138">virtual function, returns the accessible object that
  describes the actor to an assistive technology.</doc>
        <callback name="get_accessible">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="219"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="5485">the #AtkObject associated with @actor</doc>
            <type name="Atk.Object" c:type="AtkObject*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="5471">a #ClutterActor</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_accessible_type">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="140">returns the type of the accessible object that
  describes the actor to an assistive technology.</doc>
        <callback name="get_accessible_type">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="220"/>
          <return-value transfer-ownership="none">
            <type name="GType" c:type="GType"/>
          </return-value>
        </callback>
      </field>
      <field name="get_paint_volume">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="142">virtual function, for sub-classes to define their
  #ClutterPaintVolume</doc>
        <callback name="get_paint_volume">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="222"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="volume" transfer-ownership="none">
              <type name="PaintVolume" c:type="ClutterPaintVolume*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="has_overlaps">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="144">virtual function for
  sub-classes to advertise whether they need an offscreen redirect
  to get the correct opacity. See
  clutter_actor_set_offscreen_redirect() for details.</doc>
        <callback name="has_overlaps">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="225"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="15170">%TRUE if the actor may have overlapping primitives, and
  %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor.c"
                   line="15157">A #ClutterActor</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="paint_node">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="148">virtual function for creating paint nodes and attaching
  them to the render tree</doc>
        <callback name="paint_node">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="227"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="root" transfer-ownership="none">
              <type name="PaintNode" c:type="ClutterPaintNode*"/>
            </parameter>
            <parameter name="paint_context" transfer-ownership="none">
              <type name="PaintContext" c:type="ClutterPaintContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="touch_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="150">signal class closure for [signal@Clutter.Actor::touch-event]</doc>
        <callback name="touch_event">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="231"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Event" c:type="ClutterEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="resource_scale_changed">
        <callback name="resource_scale_changed">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="233"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="calculate_resource_scale">
        <callback name="calculate_resource_scale">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="234"/>
          <return-value transfer-ownership="none">
            <type name="gfloat" c:type="float"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="phase" transfer-ownership="none">
              <type name="gint" c:type="int"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="child_added">
        <callback name="child_added">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="237"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="child" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="child_removed">
        <callback name="child_removed">
          <source-position filename="clutter/clutter/clutter-actor.h"
                           line="239"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="child" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="layout_manager_type">
        <type name="GType" c:type="GType"/>
      </field>
      <method name="get_layout_manager_type"
              c:identifier="clutter_actor_class_get_layout_manager_type">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="18779">Retrieves the type of the [class@Clutter.LayoutManager]
used by actors of class @actor_class.

See also: [method@Clutter.ActorClass.set_layout_manager_type].</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="896"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="18788">type of a `ClutterLayoutManager` subclass, or %G_TYPE_INVALID</doc>
          <type name="GType" c:type="GType"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18781">A #ClutterActor class</doc>
            <type name="ActorClass" c:type="ClutterActorClass*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_layout_manager_type"
              c:identifier="clutter_actor_class_set_layout_manager_type">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="18757">Sets the type to be used for creating layout managers for
actors of @actor_class.

The given @type must be a subtype of [class@Clutter.LayoutManager].

This function should only be called from class init functions of actors.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="893"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="actor_class" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18759">A #ClutterActor class</doc>
            <type name="ActorClass" c:type="ClutterActorClass*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="18760">A #GType</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <callback name="ActorCreateChildFunc" c:type="ClutterActorCreateChildFunc">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-actor.h"
           line="848">Creates a #ClutterActor using the @item in the model.

The usual way to implement this function is to create a #ClutterActor
instance and then bind the #GObject properties to the actor properties
of interest, using g_object_bind_property(). This way, when the @item
in the #GListModel changes, the #ClutterActor changes as well.</doc>
      <source-position filename="clutter/clutter/clutter-actor.h" line="862"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.h"
             line="860">The newly created child #ClutterActor4</doc>
        <type name="Actor" c:type="ClutterActor*"/>
      </return-value>
      <parameters>
        <parameter name="item" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.h"
               line="850">the item in the model</doc>
          <type name="GObject.Object" c:type="gpointer"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.h"
               line="851">Data passed to clutter_actor_bind_model()</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="ActorIter" c:type="ClutterActorIter">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-actor.h"
           line="246">An iterator structure that allows to efficiently iterate over a
section of the scene graph.

The contents of the #ClutterActorIter structure
are private and should only be accessed using the provided API.</doc>
      <source-position filename="clutter/clutter/clutter-actor.h" line="261"/>
      <field name="dummy1" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="dummy2" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="dummy3" readable="0" private="1">
        <type name="gint" c:type="gint"/>
      </field>
      <method name="destroy" c:identifier="clutter_actor_iter_destroy">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16358">Safely destroys the #ClutterActor currently pointer to by the iterator
from its parent.

This function can only be called after [method@Clutter.ActorIter.next] or
[method@Clutter.ActorIter.prev] returned %TRUE, and cannot be called more
than once for the same actor.

This function will call [method@Clutter.Actor.destroy] internally.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="705"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16360">a #ClutterActorIter</doc>
            <type name="ActorIter" c:type="ClutterActorIter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="init" c:identifier="clutter_actor_iter_init">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16177">Initializes a #ClutterActorIter, which can then be used to iterate
efficiently over a section of the scene graph, and associates it
with @root.

Modifying the scene graph section that contains @root will invalidate
the iterator.

```c
  ClutterActorIter iter;
  ClutterActor *child;

  clutter_actor_iter_init (&amp;iter, container);
  while (clutter_actor_iter_next (&amp;iter, &amp;child))
    {
      // do something with child
    }
```</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="694"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16179">a #ClutterActorIter</doc>
            <type name="ActorIter" c:type="ClutterActorIter*"/>
          </instance-parameter>
          <parameter name="root" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16180">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_valid" c:identifier="clutter_actor_iter_is_valid">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16214">Checks whether a #ClutterActorIter is still valid.

An iterator is considered valid if it has been initialized, and
if the #ClutterActor that it refers to hasn't been modified after
the initialization.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="707"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="16224">%TRUE if the iterator is valid, and %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16216">a #ClutterActorIter</doc>
            <type name="ActorIter" c:type="const ClutterActorIter*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="next" c:identifier="clutter_actor_iter_next">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16239">Advances the @iter and retrieves the next child of the root #ClutterActor
that was used to initialize the #ClutterActorIterator.

If the iterator can advance, this function returns %TRUE and sets the
@child argument.

If the iterator cannot advance, this function returns %FALSE, and
the contents of @child are undefined.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="697"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="16254">%TRUE if the iterator could advance, and %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16241">a #ClutterActorIter</doc>
            <type name="ActorIter" c:type="ClutterActorIter*"/>
          </instance-parameter>
          <parameter name="child"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none"
                     nullable="1"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16242">return location for a
#ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor**"/>
          </parameter>
        </parameters>
      </method>
      <method name="prev" c:identifier="clutter_actor_iter_prev">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16279">Advances the @iter and retrieves the previous child of the root
#ClutterActor that was used to initialize the #ClutterActorIterator.

If the iterator can advance, this function returns %TRUE and sets the
@child argument.

If the iterator cannot advance, this function returns %FALSE, and
the contents of @child are undefined.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="700"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor.c"
               line="16294">%TRUE if the iterator could advance, and %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16281">a #ClutterActorIter</doc>
            <type name="ActorIter" c:type="ClutterActorIter*"/>
          </instance-parameter>
          <parameter name="child"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none"
                     nullable="1"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16282">return location for a
  #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor**"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="clutter_actor_iter_remove">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor.c"
             line="16319">Safely removes the #ClutterActor currently pointer to by the iterator
from its parent.

This function can only be called after [method@Clutter.ActorIter.next] or
  [method@Clutter.ActorIter.prev] returned %TRUE, and cannot be called more
than once for the same actor.

This function will call [method@Clutter.Actor.remove_child] internally.</doc>
        <source-position filename="clutter/clutter/clutter-actor.h"
                         line="703"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor.c"
                 line="16321">a #ClutterActorIter</doc>
            <type name="ActorIter" c:type="ClutterActorIter*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <class name="ActorMeta"
           c:symbol-prefix="actor_meta"
           c:type="ClutterActorMeta"
           parent="GObject.InitiallyUnowned"
           abstract="1"
           glib:type-name="ClutterActorMeta"
           glib:get-type="clutter_actor_meta_get_type"
           glib:type-struct="ActorMetaClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-actor-meta.c"
           line="25">Base class of actor modifiers

#ClutterActorMeta is an abstract class providing a common API for
modifiers of [class@Actor] behaviour, appearance or layout.

A #ClutterActorMeta can only be owned by a single [class@Actor] at
any time.

Every sub-class of #ClutterActorMeta should check if the
[property@ActorMeta:enabled] property is set to %TRUE before applying
any kind of modification.</doc>
      <source-position filename="clutter/clutter/clutter-actor-meta.h"
                       line="71"/>
      <virtual-method name="set_actor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-meta.h"
             line="58">Virtual function, called when @meta is attached or detached
from a #ClutterActor.</doc>
        <source-position filename="clutter/clutter/clutter-actor-meta.h"
                         line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-meta.h"
                 line="60">a #ClutterActorMeta</doc>
            <type name="ActorMeta" c:type="ClutterActorMeta*"/>
          </instance-parameter>
          <parameter name="actor"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-meta.h"
                 line="61">the actor attached to @meta, or %NULL</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_enabled" invoker="set_enabled">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-meta.c"
             line="306">Sets whether @meta should be enabled or not</doc>
        <source-position filename="clutter/clutter/clutter-actor-meta.h"
                         line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-meta.c"
                 line="308">a #ClutterActorMeta</doc>
            <type name="ActorMeta" c:type="ClutterActorMeta*"/>
          </instance-parameter>
          <parameter name="is_enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-meta.c"
                 line="309">whether @meta is enabled</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_actor"
              c:identifier="clutter_actor_meta_get_actor"
              glib:get-property="actor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-meta.c"
             line="368">Retrieves a pointer to the [class@Actor] that owns @meta</doc>
        <source-position filename="clutter/clutter/clutter-actor-meta.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor-meta.c"
               line="374">a pointer to a #ClutterActor or %NULL</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-meta.c"
                 line="370">a #ClutterActorMeta</doc>
            <type name="ActorMeta" c:type="ClutterActorMeta*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_enabled"
              c:identifier="clutter_actor_meta_get_enabled"
              glib:get-property="enabled">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-meta.c"
             line="330">Retrieves whether @meta is enabled</doc>
        <source-position filename="clutter/clutter/clutter-actor-meta.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor-meta.c"
               line="336">%TRUE if the #ClutterActorMeta instance is enabled</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-meta.c"
                 line="332">a #ClutterActorMeta</doc>
            <type name="ActorMeta" c:type="ClutterActorMeta*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="clutter_actor_meta_get_name"
              glib:get-property="name">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-meta.c"
             line="283">Retrieves the name set using [method@ActorMeta.set_name]</doc>
        <source-position filename="clutter/clutter/clutter-actor-meta.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor-meta.c"
               line="289">the name of the #ClutterActorMeta
  instance, or %NULL if none was set. The returned string is owned
  by the #ClutterActorMeta instance and it should not be modified
  or freed</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-meta.c"
                 line="285">a #ClutterActorMeta</doc>
            <type name="ActorMeta" c:type="ClutterActorMeta*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_enabled"
              c:identifier="clutter_actor_meta_set_enabled"
              glib:set-property="enabled">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-meta.c"
             line="306">Sets whether @meta should be enabled or not</doc>
        <source-position filename="clutter/clutter/clutter-actor-meta.h"
                         line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-meta.c"
                 line="308">a #ClutterActorMeta</doc>
            <type name="ActorMeta" c:type="ClutterActorMeta*"/>
          </instance-parameter>
          <parameter name="is_enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-meta.c"
                 line="309">whether @meta is enabled</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="clutter_actor_meta_set_name"
              glib:set-property="name">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-meta.c"
             line="255">Sets the name of @meta

The name can be used to identify the #ClutterActorMeta instance</doc>
        <source-position filename="clutter/clutter/clutter-actor-meta.h"
                         line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-meta.c"
                 line="257">a #ClutterActorMeta</doc>
            <type name="ActorMeta" c:type="ClutterActorMeta*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-actor-meta.c"
                 line="258">the name of @meta</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="actor" transfer-ownership="none" getter="get_actor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-meta.c"
             line="203">The #ClutterActor attached to the #ClutterActorMeta instance</doc>
        <type name="Actor"/>
      </property>
      <property name="enabled"
                writable="1"
                transfer-ownership="none"
                setter="set_enabled"
                getter="get_enabled"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-meta.c"
             line="226">Whether or not the #ClutterActorMeta is enabled</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="name"
                writable="1"
                transfer-ownership="none"
                setter="set_name"
                getter="get_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-meta.c"
             line="215">The unique name to access the #ClutterActorMeta</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
      </field>
    </class>
    <record name="ActorMetaClass"
            c:type="ClutterActorMetaClass"
            glib:is-gtype-struct-for="ActorMeta">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-actor-meta.h"
           line="43">The #ClutterActorMetaClass structure contains
only private data</doc>
      <source-position filename="clutter/clutter/clutter-actor-meta.h"
                       line="71"/>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.InitiallyUnownedClass"
              c:type="GInitiallyUnownedClass"/>
      </field>
      <field name="set_actor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-meta.h"
             line="45">virtual function, invoked when attaching and detaching
  a #ClutterActorMeta instance to a #ClutterActor</doc>
        <callback name="set_actor">
          <source-position filename="clutter/clutter/clutter-actor-meta.h"
                           line="66"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="meta" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor-meta.h"
                   line="60">a #ClutterActorMeta</doc>
              <type name="ActorMeta" c:type="ClutterActorMeta*"/>
            </parameter>
            <parameter name="actor"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor-meta.h"
                   line="61">the actor attached to @meta, or %NULL</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_enabled">
        <callback name="set_enabled">
          <source-position filename="clutter/clutter/clutter-actor-meta.h"
                           line="69"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="meta" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor-meta.c"
                   line="308">a #ClutterActorMeta</doc>
              <type name="ActorMeta" c:type="ClutterActorMeta*"/>
            </parameter>
            <parameter name="is_enabled" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-actor-meta.c"
                   line="309">whether @meta is enabled</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="ActorMetaPrivate"
            c:type="ClutterActorMetaPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-actor-meta.h"
                       line="41"/>
    </record>
    <class name="ActorNode"
           c:symbol-prefix="actor_node"
           c:type="ClutterActorNode"
           parent="PaintNode"
           glib:type-name="ClutterActorNode"
           glib:get-type="clutter_actor_node_get_type"
           glib:type-struct="ActorNodeClass"
           glib:fundamental="1">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="96"/>
      <constructor name="new" c:identifier="clutter_actor_node_new">
        <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                         line="102"/>
        <return-value transfer-ownership="full">
          <type name="PaintNode" c:type="ClutterPaintNode*"/>
        </return-value>
        <parameters>
          <parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="opacity" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </constructor>
    </class>
    <record name="ActorNodeClass"
            c:type="ClutterActorNodeClass"
            glib:is-gtype-struct-for="ActorNode">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="96"/>
    </record>
    <record name="ActorPrivate"
            c:type="ClutterActorPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-actor.h" line="56"/>
    </record>
    <enumeration name="AlignAxis"
                 glib:type-name="ClutterAlignAxis"
                 glib:get-type="clutter_align_axis_get_type"
                 c:type="ClutterAlignAxis">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="416">Specifies the axis on which #ClutterAlignConstraint should maintain
the alignment.</doc>
      <member name="x_axis"
              value="0"
              c:identifier="CLUTTER_ALIGN_X_AXIS"
              glib:nick="x-axis"
              glib:name="CLUTTER_ALIGN_X_AXIS">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="418">Maintain the alignment on the X axis</doc>
      </member>
      <member name="y_axis"
              value="1"
              c:identifier="CLUTTER_ALIGN_Y_AXIS"
              glib:nick="y-axis"
              glib:name="CLUTTER_ALIGN_Y_AXIS">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="419">Maintain the alignment on the Y axis</doc>
      </member>
      <member name="both"
              value="2"
              c:identifier="CLUTTER_ALIGN_BOTH"
              glib:nick="both"
              glib:name="CLUTTER_ALIGN_BOTH">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="420">Maintain the alignment on both the X and Y axis</doc>
      </member>
    </enumeration>
    <class name="AlignConstraint"
           c:symbol-prefix="align_constraint"
           c:type="ClutterAlignConstraint"
           parent="Constraint"
           final="1"
           glib:type-name="ClutterAlignConstraint"
           glib:get-type="clutter_align_constraint_get_type"
           glib:type-struct="AlignConstraintClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-align-constraint.c"
           line="25">A constraint aligning the position of an actor

#ClutterAlignConstraint is a [class@Constraint] that aligns the position
of the [class@Actor] to which it is applied to the size of another
[class@Actor] using an alignment factor</doc>
      <source-position filename="clutter/clutter/clutter-align-constraint.h"
                       line="38"/>
      <constructor name="new" c:identifier="clutter_align_constraint_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-align-constraint.c"
             line="359">Creates a new constraint, aligning a #ClutterActor's position with
regards of the size of the actor to @source, with the given
alignment @factor</doc>
        <source-position filename="clutter/clutter/clutter-align-constraint.h"
                         line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-align-constraint.c"
               line="370">the newly created #ClutterAlignConstraint</doc>
          <type name="Constraint" c:type="ClutterConstraint*"/>
        </return-value>
        <parameters>
          <parameter name="source"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-align-constraint.c"
                 line="361">the #ClutterActor to use as the source of the
  alignment, or %NULL</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="axis" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-align-constraint.c"
                 line="363">the axis to be used to compute the alignment</doc>
            <type name="AlignAxis" c:type="ClutterAlignAxis"/>
          </parameter>
          <parameter name="factor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-align-constraint.c"
                 line="364">the alignment factor, between 0.0 and 1.0</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_align_axis"
              c:identifier="clutter_align_constraint_get_align_axis"
              glib:get-property="align-axis">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-align-constraint.c"
             line="491">Retrieves the value set using [method@Clutter.AlignConstraint.set_align_axis]</doc>
        <source-position filename="clutter/clutter/clutter-align-constraint.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-align-constraint.c"
               line="497">the alignment axis</doc>
          <type name="AlignAxis" c:type="ClutterAlignAxis"/>
        </return-value>
        <parameters>
          <instance-parameter name="align" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-align-constraint.c"
                 line="493">a #ClutterAlignConstraint</doc>
            <type name="AlignConstraint" c:type="ClutterAlignConstraint*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_factor"
              c:identifier="clutter_align_constraint_get_factor"
              glib:get-property="factor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-align-constraint.c"
             line="593">Retrieves the factor set using [method@Clutter.AlignConstraint.set_factor]</doc>
        <source-position filename="clutter/clutter/clutter-align-constraint.h"
                         line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-align-constraint.c"
               line="599">the alignment factor</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="align" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-align-constraint.c"
                 line="595">a #ClutterAlignConstraint</doc>
            <type name="AlignConstraint" c:type="ClutterAlignConstraint*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pivot_point"
              c:identifier="clutter_align_constraint_get_pivot_point"
              glib:get-property="pivot-point">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-align-constraint.c"
             line="543">Gets the pivot point used by the constraint set with
[method@Clutter.AlignConstraint.set_pivot_point]. If no custom pivot
point is set, -1 is set.</doc>
        <source-position filename="clutter/clutter/clutter-align-constraint.h"
                         line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="align" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-align-constraint.c"
                 line="545">a #ClutterAlignConstraint</doc>
            <type name="AlignConstraint" c:type="ClutterAlignConstraint*"/>
          </instance-parameter>
          <parameter name="pivot_point"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-align-constraint.c"
                 line="546">return location for a #GraphenePoint</doc>
            <type name="Graphene.Point" c:type="graphene_point_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_source"
              c:identifier="clutter_align_constraint_get_source"
              glib:get-property="source">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-align-constraint.c"
             line="450">Retrieves the source of the alignment</doc>
        <source-position filename="clutter/clutter/clutter-align-constraint.h"
                         line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-align-constraint.c"
               line="456">the #ClutterActor used as the source
  of the alignment</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="align" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-align-constraint.c"
                 line="452">a #ClutterAlignConstraint</doc>
            <type name="AlignConstraint" c:type="ClutterAlignConstraint*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_align_axis"
              c:identifier="clutter_align_constraint_set_align_axis"
              glib:set-property="align-axis">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-align-constraint.c"
             line="467">Sets the axis to which the alignment refers to</doc>
        <source-position filename="clutter/clutter/clutter-align-constraint.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="align" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-align-constraint.c"
                 line="469">a #ClutterAlignConstraint</doc>
            <type name="AlignConstraint" c:type="ClutterAlignConstraint*"/>
          </instance-parameter>
          <parameter name="axis" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-align-constraint.c"
                 line="470">the axis to which the alignment refers to</doc>
            <type name="AlignAxis" c:type="ClutterAlignAxis"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_factor"
              c:identifier="clutter_align_constraint_set_factor"
              glib:set-property="factor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-align-constraint.c"
             line="562">Sets the alignment factor of the constraint

The factor depends on the #ClutterAlignConstraint:align-axis property
and it is a value between 0.0 (meaning left, when
#ClutterAlignConstraint:align-axis is set to %CLUTTER_ALIGN_X_AXIS; or
meaning top, when #ClutterAlignConstraint:align-axis is set to
%CLUTTER_ALIGN_Y_AXIS) and 1.0 (meaning right, when
#ClutterAlignConstraint:align-axis is set to %CLUTTER_ALIGN_X_AXIS; or
meaning bottom, when #ClutterAlignConstraint:align-axis is set to
%CLUTTER_ALIGN_Y_AXIS). A value of 0.5 aligns in the middle in either
cases</doc>
        <source-position filename="clutter/clutter/clutter-align-constraint.h"
                         line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="align" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-align-constraint.c"
                 line="564">a #ClutterAlignConstraint</doc>
            <type name="AlignConstraint" c:type="ClutterAlignConstraint*"/>
          </instance-parameter>
          <parameter name="factor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-align-constraint.c"
                 line="565">the alignment factor, between 0.0 and 1.0</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pivot_point"
              c:identifier="clutter_align_constraint_set_pivot_point"
              glib:set-property="pivot-point">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-align-constraint.c"
             line="508">Sets the pivot point used by the constraint, the pivot point is the
point in the constraint actor around which the aligning is applied,
with (0, 0) being the top left corner of the actor and (1, 1) the
bottom right corner of the actor.

If -1 is used, the pivot point is unset and the constrained actor
will be aligned to always stay inside the source actor.</doc>
        <source-position filename="clutter/clutter/clutter-align-constraint.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="align" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-align-constraint.c"
                 line="510">a #ClutterAlignConstraint</doc>
            <type name="AlignConstraint" c:type="ClutterAlignConstraint*"/>
          </instance-parameter>
          <parameter name="pivot_point" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-align-constraint.c"
                 line="511">A #GraphenePoint</doc>
            <type name="Graphene.Point" c:type="const graphene_point_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_source"
              c:identifier="clutter_align_constraint_set_source"
              glib:set-property="source">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-align-constraint.c"
             line="386">Sets the source of the alignment constraint</doc>
        <source-position filename="clutter/clutter/clutter-align-constraint.h"
                         line="47"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="align" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-align-constraint.c"
                 line="388">a #ClutterAlignConstraint</doc>
            <type name="AlignConstraint" c:type="ClutterAlignConstraint*"/>
          </instance-parameter>
          <parameter name="source"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-align-constraint.c"
                 line="389">a #ClutterActor, or %NULL to unset the source</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <property name="align-axis"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_align_axis"
                getter="get_align_axis"
                default-value="CLUTTER_ALIGN_X_AXIS">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-align-constraint.c"
             line="289">The axis to be used to compute the alignment</doc>
        <type name="AlignAxis"/>
      </property>
      <property name="factor"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_factor"
                getter="get_factor"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-align-constraint.c"
             line="324">The alignment factor, as a normalized value between 0.0 and 1.0

The factor depends on the #ClutterAlignConstraint:align-axis property:
with an align-axis value of %CLUTTER_ALIGN_X_AXIS, 0.0 means left and
1.0 means right; with a value of %CLUTTER_ALIGN_Y_AXIS, 0.0 means top
and 1.0 means bottom.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="pivot-point"
                writable="1"
                transfer-ownership="none"
                setter="set_pivot_point"
                getter="get_pivot_point">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-align-constraint.c"
             line="302">The pivot point used by the constraint. The pivot point is the
point in the constraint actor around which the aligning is applied,
with (0, 0) being the top left corner of the actor and (1, 1) the
bottom right corner of the actor.

For example, setting the pivot point to (0.5, 0.5) and using a factor
of 1 for both axes will align the actors horizontal and vertical
center point with the bottom right corner of the source actor.

By default, the pivot point is set to (-1, -1), which means it's not
used and the constrained actor will be aligned to always stay inside
the source actor.</doc>
        <type name="Graphene.Point"/>
      </property>
      <property name="source"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_source"
                getter="get_source">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-align-constraint.c"
             line="274">The #ClutterActor used as the source for the alignment.

The #ClutterActor must not be a child or a grandchild of the actor
using the constraint.</doc>
        <type name="Actor"/>
      </property>
    </class>
    <record name="AlignConstraintClass"
            c:type="ClutterAlignConstraintClass"
            glib:is-gtype-struct-for="AlignConstraint">
      <source-position filename="clutter/clutter/clutter-align-constraint.h"
                       line="38"/>
      <field name="parent_class">
        <type name="ConstraintClass" c:type="ClutterConstraintClass"/>
      </field>
    </record>
    <interface name="Animatable"
               c:symbol-prefix="animatable"
               c:type="ClutterAnimatable"
               glib:type-name="ClutterAnimatable"
               glib:get-type="clutter_animatable_get_type"
               glib:type-struct="AnimatableInterface">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-animatable.c"
           line="25">Interface for animatable classes

#ClutterAnimatable is an interface that allows a [class@GObject.Object] class
to control how an actor will animate a property.

Each #ClutterAnimatable should implement the
[vfunc@Animatable.interpolate_value] virtual function of the
interface to compute the animation state between two values of an interval
depending on a progress factor, expressed as a floating point value.</doc>
      <source-position filename="clutter/clutter/clutter-animatable.h"
                       line="74"/>
      <virtual-method name="find_property" invoker="find_property">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-animatable.c"
             line="53">Finds the [class@GObject.ParamSpec] for @property_name</doc>
        <source-position filename="clutter/clutter/clutter-animatable.h"
                         line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-animatable.c"
               line="60">The #GParamSpec for the given property
  or %NULL</doc>
          <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
        </return-value>
        <parameters>
          <instance-parameter name="animatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="55">a #ClutterAnimatable</doc>
            <type name="Animatable" c:type="ClutterAnimatable*"/>
          </instance-parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="56">the name of the animatable property to find</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_actor" invoker="get_actor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-animatable.c"
             line="187">Get animated actor.</doc>
        <source-position filename="clutter/clutter/clutter-animatable.h"
                         line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-animatable.c"
               line="193">a #ClutterActor</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="animatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="189">a #ClutterAnimatable</doc>
            <type name="Animatable" c:type="ClutterAnimatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_initial_state" invoker="get_initial_state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-animatable.c"
             line="82">Retrieves the current state of @property_name and sets @value with it</doc>
        <source-position filename="clutter/clutter/clutter-animatable.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="animatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="84">a #ClutterAnimatable</doc>
            <type name="Animatable" c:type="ClutterAnimatable*"/>
          </instance-parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="85">the name of the animatable property to retrieve</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="86">a #GValue initialized to the type of the property to retrieve</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="interpolate_value" invoker="interpolate_value">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-animatable.c"
             line="136">Asks a #ClutterAnimatable implementation to interpolate a
a named property between the initial and final values of
a #ClutterInterval, using @progress as the interpolation
value, and store the result inside @value.

This function should be used for every property animation
involving `ClutterAnimatable`s.</doc>
        <source-position filename="clutter/clutter/clutter-animatable.h"
                         line="68"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-animatable.c"
               line="154">%TRUE if the interpolation was successful,
  and %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="animatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="138">a #ClutterAnimatable</doc>
            <type name="Animatable" c:type="ClutterAnimatable*"/>
          </instance-parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="139">the name of the property to interpolate</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="140">a #ClutterInterval with the animation range</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </parameter>
          <parameter name="progress" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="141">the progress to use to interpolate between the
  initial and final values of the @interval</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="143">return location for an initialized #GValue
  using the same type of the @interval</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_final_state" invoker="set_final_state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-animatable.c"
             line="109">Sets the current state of @property_name to @value</doc>
        <source-position filename="clutter/clutter/clutter-animatable.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="animatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="111">a #ClutterAnimatable</doc>
            <type name="Animatable" c:type="ClutterAnimatable*"/>
          </instance-parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="112">the name of the animatable property to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="113">the value of the animatable property to set</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="find_property"
              c:identifier="clutter_animatable_find_property">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-animatable.c"
             line="53">Finds the [class@GObject.ParamSpec] for @property_name</doc>
        <source-position filename="clutter/clutter/clutter-animatable.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-animatable.c"
               line="60">The #GParamSpec for the given property
  or %NULL</doc>
          <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
        </return-value>
        <parameters>
          <instance-parameter name="animatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="55">a #ClutterAnimatable</doc>
            <type name="Animatable" c:type="ClutterAnimatable*"/>
          </instance-parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="56">the name of the animatable property to find</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_actor" c:identifier="clutter_animatable_get_actor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-animatable.c"
             line="187">Get animated actor.</doc>
        <source-position filename="clutter/clutter/clutter-animatable.h"
                         line="95"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-animatable.c"
               line="193">a #ClutterActor</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="animatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="189">a #ClutterAnimatable</doc>
            <type name="Animatable" c:type="ClutterAnimatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_initial_state"
              c:identifier="clutter_animatable_get_initial_state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-animatable.c"
             line="82">Retrieves the current state of @property_name and sets @value with it</doc>
        <source-position filename="clutter/clutter/clutter-animatable.h"
                         line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="animatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="84">a #ClutterAnimatable</doc>
            <type name="Animatable" c:type="ClutterAnimatable*"/>
          </instance-parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="85">the name of the animatable property to retrieve</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="86">a #GValue initialized to the type of the property to retrieve</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="interpolate_value"
              c:identifier="clutter_animatable_interpolate_value">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-animatable.c"
             line="136">Asks a #ClutterAnimatable implementation to interpolate a
a named property between the initial and final values of
a #ClutterInterval, using @progress as the interpolation
value, and store the result inside @value.

This function should be used for every property animation
involving `ClutterAnimatable`s.</doc>
        <source-position filename="clutter/clutter/clutter-animatable.h"
                         line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-animatable.c"
               line="154">%TRUE if the interpolation was successful,
  and %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="animatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="138">a #ClutterAnimatable</doc>
            <type name="Animatable" c:type="ClutterAnimatable*"/>
          </instance-parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="139">the name of the property to interpolate</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="140">a #ClutterInterval with the animation range</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </parameter>
          <parameter name="progress" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="141">the progress to use to interpolate between the
  initial and final values of the @interval</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="143">return location for an initialized #GValue
  using the same type of the @interval</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_final_state"
              c:identifier="clutter_animatable_set_final_state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-animatable.c"
             line="109">Sets the current state of @property_name to @value</doc>
        <source-position filename="clutter/clutter/clutter-animatable.h"
                         line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="animatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="111">a #ClutterAnimatable</doc>
            <type name="Animatable" c:type="ClutterAnimatable*"/>
          </instance-parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="112">the name of the animatable property to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="113">the value of the animatable property to set</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="AnimatableInterface"
            c:type="ClutterAnimatableInterface"
            glib:is-gtype-struct-for="Animatable">
      <source-position filename="clutter/clutter/clutter-animatable.h"
                       line="74"/>
      <field name="parent_iface" readable="0" private="1">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="find_property">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-animatable.h"
             line="44">virtual function for retrieving the #GParamSpec of
  an animatable property</doc>
        <callback name="find_property">
          <source-position filename="clutter/clutter/clutter-animatable.h"
                           line="60"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="60">The #GParamSpec for the given property
  or %NULL</doc>
            <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
          </return-value>
          <parameters>
            <parameter name="animatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-animatable.c"
                   line="55">a #ClutterAnimatable</doc>
              <type name="Animatable" c:type="ClutterAnimatable*"/>
            </parameter>
            <parameter name="property_name" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-animatable.c"
                   line="56">the name of the animatable property to find</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_initial_state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-animatable.h"
             line="46">virtual function for retrieving the initial
  state of an animatable property</doc>
        <callback name="get_initial_state">
          <source-position filename="clutter/clutter/clutter-animatable.h"
                           line="62"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="animatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-animatable.c"
                   line="84">a #ClutterAnimatable</doc>
              <type name="Animatable" c:type="ClutterAnimatable*"/>
            </parameter>
            <parameter name="property_name" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-animatable.c"
                   line="85">the name of the animatable property to retrieve</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="value" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-animatable.c"
                   line="86">a #GValue initialized to the type of the property to retrieve</doc>
              <type name="GObject.Value" c:type="GValue*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_final_state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-animatable.h"
             line="48">virtual function for setting the state of an
  animatable property</doc>
        <callback name="set_final_state">
          <source-position filename="clutter/clutter/clutter-animatable.h"
                           line="65"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="animatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-animatable.c"
                   line="111">a #ClutterAnimatable</doc>
              <type name="Animatable" c:type="ClutterAnimatable*"/>
            </parameter>
            <parameter name="property_name" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-animatable.c"
                   line="112">the name of the animatable property to set</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="value" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-animatable.c"
                   line="113">the value of the animatable property to set</doc>
              <type name="GObject.Value" c:type="const GValue*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="interpolate_value">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-animatable.h"
             line="50">virtual function for interpolating the progress
  of a property</doc>
        <callback name="interpolate_value">
          <source-position filename="clutter/clutter/clutter-animatable.h"
                           line="68"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="154">%TRUE if the interpolation was successful,
  and %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="animatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-animatable.c"
                   line="138">a #ClutterAnimatable</doc>
              <type name="Animatable" c:type="ClutterAnimatable*"/>
            </parameter>
            <parameter name="property_name" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-animatable.c"
                   line="139">the name of the property to interpolate</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="interval" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-animatable.c"
                   line="140">a #ClutterInterval with the animation range</doc>
              <type name="Interval" c:type="ClutterInterval*"/>
            </parameter>
            <parameter name="progress" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-animatable.c"
                   line="141">the progress to use to interpolate between the
  initial and final values of the @interval</doc>
              <type name="gdouble" c:type="gdouble"/>
            </parameter>
            <parameter name="value"
                       direction="out"
                       caller-allocates="1"
                       transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-animatable.c"
                   line="143">return location for an initialized #GValue
  using the same type of the @interval</doc>
              <type name="GObject.Value" c:type="GValue*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_actor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-animatable.h"
             line="52">virtual function for getting associated actor</doc>
        <callback name="get_actor">
          <source-position filename="clutter/clutter/clutter-animatable.h"
                           line="73"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-animatable.c"
                 line="193">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </return-value>
          <parameters>
            <parameter name="animatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-animatable.c"
                   line="189">a #ClutterAnimatable</doc>
              <type name="Animatable" c:type="ClutterAnimatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="AnimationMode"
                 glib:type-name="ClutterAnimationMode"
                 glib:get-type="clutter_animation_mode_get_type"
                 c:type="ClutterAnimationMode">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="63">The animation modes used by [iface@Animatable].

This enumeration can be expanded in later versions of Clutter.

&lt;figure id="easing-modes"&gt;
  &lt;title&gt;Easing modes provided by Clutter&lt;/title&gt;
  &lt;graphic fileref="easing-modes.png" format="PNG"/&gt;
&lt;/figure&gt;

Every global alpha function registered using clutter_alpha_register_func()
or clutter_alpha_register_closure() will have a logical id greater than
%CLUTTER_ANIMATION_LAST.</doc>
      <member name="custom_mode"
              value="0"
              c:identifier="CLUTTER_CUSTOM_MODE"
              glib:nick="custom-mode"
              glib:name="CLUTTER_CUSTOM_MODE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="65">custom progress function</doc>
      </member>
      <member name="linear"
              value="1"
              c:identifier="CLUTTER_LINEAR"
              glib:nick="linear"
              glib:name="CLUTTER_LINEAR">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="66">linear tweening</doc>
      </member>
      <member name="ease_in_quad"
              value="2"
              c:identifier="CLUTTER_EASE_IN_QUAD"
              glib:nick="ease-in-quad"
              glib:name="CLUTTER_EASE_IN_QUAD">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="67">quadratic tweening</doc>
      </member>
      <member name="ease_out_quad"
              value="3"
              c:identifier="CLUTTER_EASE_OUT_QUAD"
              glib:nick="ease-out-quad"
              glib:name="CLUTTER_EASE_OUT_QUAD">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="68">quadratic tweening, inverse of
   %CLUTTER_EASE_IN_QUAD</doc>
      </member>
      <member name="ease_in_out_quad"
              value="4"
              c:identifier="CLUTTER_EASE_IN_OUT_QUAD"
              glib:nick="ease-in-out-quad"
              glib:name="CLUTTER_EASE_IN_OUT_QUAD">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="70">quadratic tweening, combininig
   %CLUTTER_EASE_IN_QUAD and %CLUTTER_EASE_OUT_QUAD</doc>
      </member>
      <member name="ease_in_cubic"
              value="5"
              c:identifier="CLUTTER_EASE_IN_CUBIC"
              glib:nick="ease-in-cubic"
              glib:name="CLUTTER_EASE_IN_CUBIC">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="72">cubic tweening</doc>
      </member>
      <member name="ease_out_cubic"
              value="6"
              c:identifier="CLUTTER_EASE_OUT_CUBIC"
              glib:nick="ease-out-cubic"
              glib:name="CLUTTER_EASE_OUT_CUBIC">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="73">cubic tweening, inverse of
   %CLUTTER_EASE_IN_CUBIC</doc>
      </member>
      <member name="ease_in_out_cubic"
              value="7"
              c:identifier="CLUTTER_EASE_IN_OUT_CUBIC"
              glib:nick="ease-in-out-cubic"
              glib:name="CLUTTER_EASE_IN_OUT_CUBIC">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="75">cubic tweening, combining
   %CLUTTER_EASE_IN_CUBIC and %CLUTTER_EASE_OUT_CUBIC</doc>
      </member>
      <member name="ease_in_quart"
              value="8"
              c:identifier="CLUTTER_EASE_IN_QUART"
              glib:nick="ease-in-quart"
              glib:name="CLUTTER_EASE_IN_QUART">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="77">quartic tweening</doc>
      </member>
      <member name="ease_out_quart"
              value="9"
              c:identifier="CLUTTER_EASE_OUT_QUART"
              glib:nick="ease-out-quart"
              glib:name="CLUTTER_EASE_OUT_QUART">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="78">quartic tweening, inverse of
   %CLUTTER_EASE_IN_QUART</doc>
      </member>
      <member name="ease_in_out_quart"
              value="10"
              c:identifier="CLUTTER_EASE_IN_OUT_QUART"
              glib:nick="ease-in-out-quart"
              glib:name="CLUTTER_EASE_IN_OUT_QUART">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="80">quartic tweening, combining
   %CLUTTER_EASE_IN_QUART and %CLUTTER_EASE_OUT_QUART</doc>
      </member>
      <member name="ease_in_quint"
              value="11"
              c:identifier="CLUTTER_EASE_IN_QUINT"
              glib:nick="ease-in-quint"
              glib:name="CLUTTER_EASE_IN_QUINT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="82">quintic tweening</doc>
      </member>
      <member name="ease_out_quint"
              value="12"
              c:identifier="CLUTTER_EASE_OUT_QUINT"
              glib:nick="ease-out-quint"
              glib:name="CLUTTER_EASE_OUT_QUINT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="83">quintic tweening, inverse of
   %CLUTTER_EASE_IN_QUINT</doc>
      </member>
      <member name="ease_in_out_quint"
              value="13"
              c:identifier="CLUTTER_EASE_IN_OUT_QUINT"
              glib:nick="ease-in-out-quint"
              glib:name="CLUTTER_EASE_IN_OUT_QUINT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="85">fifth power tweening, combining
   %CLUTTER_EASE_IN_QUINT and %CLUTTER_EASE_OUT_QUINT</doc>
      </member>
      <member name="ease_in_sine"
              value="14"
              c:identifier="CLUTTER_EASE_IN_SINE"
              glib:nick="ease-in-sine"
              glib:name="CLUTTER_EASE_IN_SINE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="87">sinusoidal tweening</doc>
      </member>
      <member name="ease_out_sine"
              value="15"
              c:identifier="CLUTTER_EASE_OUT_SINE"
              glib:nick="ease-out-sine"
              glib:name="CLUTTER_EASE_OUT_SINE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="88">sinusoidal tweening, inverse of
   %CLUTTER_EASE_IN_SINE</doc>
      </member>
      <member name="ease_in_out_sine"
              value="16"
              c:identifier="CLUTTER_EASE_IN_OUT_SINE"
              glib:nick="ease-in-out-sine"
              glib:name="CLUTTER_EASE_IN_OUT_SINE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="90">sine wave tweening, combining
   %CLUTTER_EASE_IN_SINE and %CLUTTER_EASE_OUT_SINE</doc>
      </member>
      <member name="ease_in_expo"
              value="17"
              c:identifier="CLUTTER_EASE_IN_EXPO"
              glib:nick="ease-in-expo"
              glib:name="CLUTTER_EASE_IN_EXPO">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="92">exponential tweening</doc>
      </member>
      <member name="ease_out_expo"
              value="18"
              c:identifier="CLUTTER_EASE_OUT_EXPO"
              glib:nick="ease-out-expo"
              glib:name="CLUTTER_EASE_OUT_EXPO">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="93">exponential tweening, inverse of
   %CLUTTER_EASE_IN_EXPO</doc>
      </member>
      <member name="ease_in_out_expo"
              value="19"
              c:identifier="CLUTTER_EASE_IN_OUT_EXPO"
              glib:nick="ease-in-out-expo"
              glib:name="CLUTTER_EASE_IN_OUT_EXPO">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="95">exponential tweening, combining
   %CLUTTER_EASE_IN_EXPO and %CLUTTER_EASE_OUT_EXPO</doc>
      </member>
      <member name="ease_in_circ"
              value="20"
              c:identifier="CLUTTER_EASE_IN_CIRC"
              glib:nick="ease-in-circ"
              glib:name="CLUTTER_EASE_IN_CIRC">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="97">circular tweening</doc>
      </member>
      <member name="ease_out_circ"
              value="21"
              c:identifier="CLUTTER_EASE_OUT_CIRC"
              glib:nick="ease-out-circ"
              glib:name="CLUTTER_EASE_OUT_CIRC">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="98">circular tweening, inverse of
   %CLUTTER_EASE_IN_CIRC</doc>
      </member>
      <member name="ease_in_out_circ"
              value="22"
              c:identifier="CLUTTER_EASE_IN_OUT_CIRC"
              glib:nick="ease-in-out-circ"
              glib:name="CLUTTER_EASE_IN_OUT_CIRC">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="100">circular tweening, combining
   %CLUTTER_EASE_IN_CIRC and %CLUTTER_EASE_OUT_CIRC</doc>
      </member>
      <member name="ease_in_elastic"
              value="23"
              c:identifier="CLUTTER_EASE_IN_ELASTIC"
              glib:nick="ease-in-elastic"
              glib:name="CLUTTER_EASE_IN_ELASTIC">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="102">elastic tweening, with offshoot on start</doc>
      </member>
      <member name="ease_out_elastic"
              value="24"
              c:identifier="CLUTTER_EASE_OUT_ELASTIC"
              glib:nick="ease-out-elastic"
              glib:name="CLUTTER_EASE_OUT_ELASTIC">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="103">elastic tweening, with offshoot on end</doc>
      </member>
      <member name="ease_in_out_elastic"
              value="25"
              c:identifier="CLUTTER_EASE_IN_OUT_ELASTIC"
              glib:nick="ease-in-out-elastic"
              glib:name="CLUTTER_EASE_IN_OUT_ELASTIC">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="104">elastic tweening with offshoot on both ends</doc>
      </member>
      <member name="ease_in_back"
              value="26"
              c:identifier="CLUTTER_EASE_IN_BACK"
              glib:nick="ease-in-back"
              glib:name="CLUTTER_EASE_IN_BACK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="105">overshooting cubic tweening, with
  backtracking on start</doc>
      </member>
      <member name="ease_out_back"
              value="27"
              c:identifier="CLUTTER_EASE_OUT_BACK"
              glib:nick="ease-out-back"
              glib:name="CLUTTER_EASE_OUT_BACK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="107">overshooting cubic tweening, with
  backtracking on end</doc>
      </member>
      <member name="ease_in_out_back"
              value="28"
              c:identifier="CLUTTER_EASE_IN_OUT_BACK"
              glib:nick="ease-in-out-back"
              glib:name="CLUTTER_EASE_IN_OUT_BACK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="109">overshooting cubic tweening, with
  backtracking on both ends</doc>
      </member>
      <member name="ease_in_bounce"
              value="29"
              c:identifier="CLUTTER_EASE_IN_BOUNCE"
              glib:nick="ease-in-bounce"
              glib:name="CLUTTER_EASE_IN_BOUNCE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="111">exponentially decaying parabolic (bounce)
  tweening, with bounce on start</doc>
      </member>
      <member name="ease_out_bounce"
              value="30"
              c:identifier="CLUTTER_EASE_OUT_BOUNCE"
              glib:nick="ease-out-bounce"
              glib:name="CLUTTER_EASE_OUT_BOUNCE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="113">exponentially decaying parabolic (bounce)
  tweening, with bounce on end</doc>
      </member>
      <member name="ease_in_out_bounce"
              value="31"
              c:identifier="CLUTTER_EASE_IN_OUT_BOUNCE"
              glib:nick="ease-in-out-bounce"
              glib:name="CLUTTER_EASE_IN_OUT_BOUNCE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="115">exponentially decaying parabolic (bounce)
  tweening, with bounce on both ends</doc>
      </member>
      <member name="steps"
              value="32"
              c:identifier="CLUTTER_STEPS"
              glib:nick="steps"
              glib:name="CLUTTER_STEPS">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="117">parametrized step function; see clutter_timeline_set_step_progress()
  for further details. (Since 1.12)</doc>
      </member>
      <member name="step_start"
              value="33"
              c:identifier="CLUTTER_STEP_START"
              glib:nick="step-start"
              glib:name="CLUTTER_STEP_START">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="119">equivalent to %CLUTTER_STEPS with a number of steps
  equal to 1, and a step mode of %CLUTTER_STEP_MODE_START. (Since 1.12)</doc>
      </member>
      <member name="step_end"
              value="34"
              c:identifier="CLUTTER_STEP_END"
              glib:nick="step-end"
              glib:name="CLUTTER_STEP_END">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="121">equivalent to %CLUTTER_STEPS with a number of steps
  equal to 1, and a step mode of %CLUTTER_STEP_MODE_END. (Since 1.12)</doc>
      </member>
      <member name="cubic_bezier"
              value="35"
              c:identifier="CLUTTER_CUBIC_BEZIER"
              glib:nick="cubic-bezier"
              glib:name="CLUTTER_CUBIC_BEZIER">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="123">cubic bezier between (0, 0) and (1, 1) with two
  control points; see clutter_timeline_set_cubic_bezier_progress(). (Since 1.12)</doc>
      </member>
      <member name="ease"
              value="36"
              c:identifier="CLUTTER_EASE"
              glib:nick="ease"
              glib:name="CLUTTER_EASE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="125">equivalent to %CLUTTER_CUBIC_BEZIER with control points
  in (0.25, 0.1) and (0.25, 1.0). (Since 1.12)</doc>
      </member>
      <member name="ease_in"
              value="37"
              c:identifier="CLUTTER_EASE_IN"
              glib:nick="ease-in"
              glib:name="CLUTTER_EASE_IN">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="127">equivalent to %CLUTTER_CUBIC_BEZIER with control points
  in (0.42, 0) and (1.0, 1.0). (Since 1.12)</doc>
      </member>
      <member name="ease_out"
              value="38"
              c:identifier="CLUTTER_EASE_OUT"
              glib:nick="ease-out"
              glib:name="CLUTTER_EASE_OUT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="129">equivalent to %CLUTTER_CUBIC_BEZIER with control points
  in (0, 0) and (0.58, 1.0). (Since 1.12)</doc>
      </member>
      <member name="ease_in_out"
              value="39"
              c:identifier="CLUTTER_EASE_IN_OUT"
              glib:nick="ease-in-out"
              glib:name="CLUTTER_EASE_IN_OUT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="131">equivalent to %CLUTTER_CUBIC_BEZIER with control points
  in (0.42, 0) and (0.58, 1.0). (Since 1.12)</doc>
      </member>
      <member name="animation_last"
              value="40"
              c:identifier="CLUTTER_ANIMATION_LAST"
              glib:nick="animation-last"
              glib:name="CLUTTER_ANIMATION_LAST">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="133">last animation mode, used as a guard for
  registered global alpha functions</doc>
      </member>
    </enumeration>
    <record name="AnyEvent" c:type="ClutterAnyEvent" disguised="1" opaque="1">
      <source-position filename="clutter/clutter/clutter-event.h" line="95"/>
    </record>
    <function-macro name="BACKEND"
                    c:identifier="CLUTTER_BACKEND"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-backend.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BLIT_NODE"
                    c:identifier="CLUTTER_BLIT_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="150"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BLUR_NODE"
                    c:identifier="CLUTTER_BLUR_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="172"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="BUTTON_MIDDLE" value="2" c:type="CLUTTER_BUTTON_MIDDLE">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-event.h"
           line="78">The middle button of a pointer device.</doc>
      <source-position filename="clutter/clutter/clutter-event.h" line="83"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="BUTTON_PRIMARY" value="1" c:type="CLUTTER_BUTTON_PRIMARY">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-event.h"
           line="68">The primary button of a pointer device.

This is typically the left mouse button in a right-handed
mouse configuration.</doc>
      <source-position filename="clutter/clutter/clutter-event.h" line="76"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="BUTTON_SECONDARY"
              value="3"
              c:type="CLUTTER_BUTTON_SECONDARY">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-event.h"
           line="85">The secondary button of a pointer device.

This is typically the right mouse button in a right-handed
mouse configuration.</doc>
      <source-position filename="clutter/clutter/clutter-event.h" line="93"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <class name="Backend"
           c:symbol-prefix="backend"
           c:type="ClutterBackend"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="ClutterBackend"
           glib:get-type="clutter_backend_get_type"
           glib:type-struct="BackendClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-backend.c"
           line="27">Backend abstraction

Clutter can be compiled against different backends. Each backend
has to implement a set of functions, in order to be used by Clutter.

#ClutterBackend is the base class abstracting the various implementation;
it provides a basic API to query the backend for generic information
and settings.</doc>
      <source-position filename="clutter/clutter/clutter-backend.h" line="43"/>
      <method name="get_cogl_context"
              c:identifier="clutter_backend_get_cogl_context">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-backend.c"
             line="477">Retrieves the #CoglContext associated with the given clutter
@backend. A #CoglContext is required when using some of the
experimental 2.0 Cogl API.

Since CoglContext is itself experimental API this API should
be considered experimental too.

This API is not yet supported on OSX because OSX still
uses the stub Cogl winsys and the Clutter backend doesn't
explicitly create a CoglContext.</doc>
        <source-position filename="clutter/clutter/clutter-backend.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-backend.c"
               line="492">The #CoglContext associated with @backend.</doc>
          <type name="Cogl.Context" c:type="CoglContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-backend.c"
                 line="479">a #ClutterBackend</doc>
            <type name="Backend" c:type="ClutterBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_default_seat"
              c:identifier="clutter_backend_get_default_seat">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-backend.c"
             line="540">Returns the default seat</doc>
        <source-position filename="clutter/clutter/clutter-backend.h"
                         line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-backend.c"
               line="546">the default seat</doc>
          <type name="Seat" c:type="ClutterSeat*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-backend.c"
                 line="542">the #ClutterBackend</doc>
            <type name="Backend" c:type="ClutterBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_input_method"
              c:identifier="clutter_backend_get_input_method">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-backend.c"
             line="500">Returns the input method used by Clutter</doc>
        <source-position filename="clutter/clutter/clutter-backend.h"
                         line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-backend.c"
               line="506">the input method</doc>
          <type name="InputMethod" c:type="ClutterInputMethod*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-backend.c"
                 line="502">the #CLutterBackend</doc>
            <type name="Backend" c:type="ClutterBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_key_focus"
              c:identifier="clutter_backend_get_key_focus">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-backend.c"
             line="651">Returns the key focus for stage</doc>
        <source-position filename="clutter/clutter/clutter-backend.h"
                         line="76"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-backend.c"
               line="658">the #ClutterKeyFocus representing key focus</doc>
          <type name="KeyFocus" c:type="ClutterKeyFocus*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-backend.c"
                 line="653">a #ClutterBackend</doc>
            <type name="Backend" c:type="ClutterBackend*"/>
          </instance-parameter>
          <parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-backend.c"
                 line="654">a #ClutterStage</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_pointer_sprite"
              c:identifier="clutter_backend_get_pointer_sprite">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-backend.c"
             line="610">Gets the on-screen sprite typically considered "the pointer"</doc>
        <source-position filename="clutter/clutter/clutter-backend.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-backend.c"
               line="617">The "pointer" sprite</doc>
          <type name="Sprite" c:type="ClutterSprite*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-backend.c"
                 line="612">a #ClutterBackend</doc>
            <type name="Backend" c:type="ClutterBackend*"/>
          </instance-parameter>
          <parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-backend.c"
                 line="613">a #ClutterStage</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_resolution"
              c:identifier="clutter_backend_get_resolution">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-backend.c"
             line="442">Gets the resolution for font handling on the screen.

The resolution is a scale factor between points specified in a
#PangoFontDescription and cairo units. The default value is 96.0,
meaning that a 10 point font will be 13 units
high (10 * 96. / 72. = 13.3).

Clutter will set the resolution using the current backend when
initializing; the resolution is also stored in the
#ClutterSettings:font-dpi property.</doc>
        <source-position filename="clutter/clutter/clutter-backend.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-backend.c"
               line="457">the current resolution, or -1 if no resolution
  has been set.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-backend.c"
                 line="444">a #ClutterBackend</doc>
            <type name="Backend" c:type="ClutterBackend*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sprite" c:identifier="clutter_backend_get_sprite">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-backend.c"
             line="575">Retrieves the #ClutterSprite affected by @for_event</doc>
        <source-position filename="clutter/clutter/clutter-backend.h"
                         line="67"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-backend.c"
               line="583">a #ClutterSprite, or %NULL if event does not drive one</doc>
          <type name="Sprite" c:type="ClutterSprite*"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-backend.c"
                 line="577">A #ClutterBackend</doc>
            <type name="Backend" c:type="ClutterBackend*"/>
          </instance-parameter>
          <parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-backend.c"
                 line="578">A #ClutterStage</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </parameter>
          <parameter name="for_event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-backend.c"
                 line="579">Event to get sprite for</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_input_method"
              c:identifier="clutter_backend_set_input_method">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-backend.c"
             line="514">Sets the input method to be used by Clutter</doc>
        <source-position filename="clutter/clutter/clutter-backend.h"
                         line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backend" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-backend.c"
                 line="516">the #ClutterBackend</doc>
            <type name="Backend" c:type="ClutterBackend*"/>
          </instance-parameter>
          <parameter name="method"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-backend.c"
                 line="517">the input method</doc>
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </parameter>
        </parameters>
      </method>
      <property name="context"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Context"/>
      </property>
      <glib:signal name="font-changed" when="first">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-backend.c"
             line="315">The signal is emitted each time the font options
have been changed through #ClutterSettings.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="resolution-changed" when="first">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-backend.c"
             line="300">The signal is emitted each time the font
resolutions has been changed through #ClutterSettings.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="settings-changed" when="first">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-backend.c"
             line="330">The signal is emitted each time the #ClutterSettings
properties have been changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="BackendClass"
            c:type="ClutterBackendClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="Backend">
      <source-position filename="clutter/clutter/clutter-backend.h" line="43"/>
    </record>
    <callback name="BackendConstructor"
              c:type="ClutterBackendConstructor"
              introspectable="0">
      <source-position filename="clutter/clutter/clutter-context.h" line="25"/>
      <return-value>
        <type name="Backend" c:type="ClutterBackend*"/>
      </return-value>
      <parameters>
        <parameter name="context" transfer-ownership="none">
          <type name="Context" c:type="ClutterContext*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <class name="BinLayout"
           c:symbol-prefix="bin_layout"
           c:type="ClutterBinLayout"
           parent="LayoutManager"
           glib:type-name="ClutterBinLayout"
           glib:get-type="clutter_bin_layout_get_type"
           glib:type-struct="BinLayoutClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-bin-layout.c"
           line="25">A simple layout manager

#ClutterBinLayout is a layout manager which implements the following
policy:

  - the preferred size is the maximum preferred size
  between all the children of the container using the
  layout;
  - each child is allocated in "layers", on on top
  of the other;
  - for each layer there are horizontal and vertical
  alignment policies.</doc>
      <source-position filename="clutter/clutter/clutter-bin-layout.h"
                       line="54"/>
      <constructor name="new" c:identifier="clutter_bin_layout_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-bin-layout.c"
             line="267">Creates a new #ClutterBinLayout layout manager</doc>
        <source-position filename="clutter/clutter/clutter-bin-layout.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-bin-layout.c"
               line="272">the newly created layout manager</doc>
          <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
        </return-value>
      </constructor>
      <field name="parent_instance">
        <type name="LayoutManager" c:type="ClutterLayoutManager"/>
      </field>
    </class>
    <record name="BinLayoutClass"
            c:type="ClutterBinLayoutClass"
            glib:is-gtype-struct-for="BinLayout">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-bin-layout.h"
           line="44">The #ClutterBinLayoutClass structure contains only private
data and should be accessed using the provided API</doc>
      <source-position filename="clutter/clutter/clutter-bin-layout.h"
                       line="54"/>
      <field name="parent_class" readable="0" private="1">
        <type name="LayoutManagerClass" c:type="ClutterLayoutManagerClass"/>
      </field>
    </record>
    <class name="BindConstraint"
           c:symbol-prefix="bind_constraint"
           c:type="ClutterBindConstraint"
           parent="Constraint"
           final="1"
           glib:type-name="ClutterBindConstraint"
           glib:get-type="clutter_bind_constraint_get_type"
           glib:type-struct="BindConstraintClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-bind-constraint.c"
           line="25">A constraint binding the position or size of an actor

#ClutterBindConstraint is a [class@Constraint] that binds the
position or the size of the [class@Actor] to which it is applied
to the the position or the size of another [class@Actor], or
"source".

An offset can be applied to the constraint, to avoid overlapping. The offset
can also be animated. For instance, the following code will set up three
actors to be bound to the same origin:

```c
// source
rect[0] = clutter_actor_new ();
clutter_actor_set_background_color (rect[0], &amp;red_color);
clutter_actor_set_position (rect[0], x_pos, y_pos);
clutter_actor_set_size (rect[0], 100, 100);

// second rectangle
rect[1] = clutter_actor_new ();
clutter_actor_set_background_color (rect[1], &amp;green_color);
clutter_actor_set_size (rect[1], 100, 100);
clutter_actor_set_opacity (rect[1], 0);

constraint = clutter_bind_constraint_new (rect[0], CLUTTER_BIND_X, 0.0);
clutter_actor_add_constraint_with_name (rect[1], "green-x", constraint);
constraint = clutter_bind_constraint_new (rect[0], CLUTTER_BIND_Y, 0.0);
clutter_actor_add_constraint_with_name (rect[1], "green-y", constraint);

// third rectangle
rect[2] = clutter_actor_new ();
clutter_actor_set_background_color (rect[2], &amp;blue_color);
clutter_actor_set_size (rect[2], 100, 100);
clutter_actor_set_opacity (rect[2], 0);

constraint = clutter_bind_constraint_new (rect[0], CLUTTER_BIND_X, 0.0);
clutter_actor_add_constraint_with_name (rect[2], "blue-x", constraint);
constraint = clutter_bind_constraint_new (rect[0], CLUTTER_BIND_Y, 0.0);
clutter_actor_add_constraint_with_name (rect[2], "blue-y", constraint);
```

The following code animates the second and third rectangles to "expand"
them horizontally from underneath the first rectangle:

```c
clutter_actor_animate (rect[1], CLUTTER_EASE_OUT_CUBIC, 250,
                       "@constraints.green-x.offset", 100.0,
                       "opacity", 255,
                       NULL);
clutter_actor_animate (rect[2], CLUTTER_EASE_OUT_CUBIC, 250,
                       "@constraints.blue-x.offset", 200.0,
                       "opacity", 255,
                       NULL);
```</doc>
      <source-position filename="clutter/clutter/clutter-bind-constraint.h"
                       line="38"/>
      <constructor name="new" c:identifier="clutter_bind_constraint_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-bind-constraint.c"
             line="432">Creates a new constraint, binding a #ClutterActor's position to
the given @coordinate of the position of @source</doc>
        <source-position filename="clutter/clutter/clutter-bind-constraint.h"
                         line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-bind-constraint.c"
               line="442">the newly created #ClutterBindConstraint</doc>
          <type name="Constraint" c:type="ClutterConstraint*"/>
        </return-value>
        <parameters>
          <parameter name="source"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-bind-constraint.c"
                 line="434">the #ClutterActor to use as the source of
  the binding, or %NULL</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="coordinate" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-bind-constraint.c"
                 line="436">the coordinate to bind</doc>
            <type name="BindCoordinate" c:type="ClutterBindCoordinate"/>
          </parameter>
          <parameter name="offset" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-bind-constraint.c"
                 line="437">the offset to apply to the binding, in pixels</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_coordinate"
              c:identifier="clutter_bind_constraint_get_coordinate"
              glib:get-property="coordinate">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-bind-constraint.c"
             line="562">Retrieves the bound coordinate of the constraint</doc>
        <source-position filename="clutter/clutter/clutter-bind-constraint.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-bind-constraint.c"
               line="568">the bound coordinate</doc>
          <type name="BindCoordinate" c:type="ClutterBindCoordinate"/>
        </return-value>
        <parameters>
          <instance-parameter name="constraint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-bind-constraint.c"
                 line="564">a #ClutterBindConstraint</doc>
            <type name="BindConstraint" c:type="ClutterBindConstraint*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_offset"
              c:identifier="clutter_bind_constraint_get_offset"
              glib:get-property="offset">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-bind-constraint.c"
             line="603">Retrieves the offset set using [method@Clutter.BindConstraint.set_offset]</doc>
        <source-position filename="clutter/clutter/clutter-bind-constraint.h"
                         line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-bind-constraint.c"
               line="609">the offset, in pixels</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="constraint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-bind-constraint.c"
                 line="605">a #ClutterBindConstraint</doc>
            <type name="BindConstraint" c:type="ClutterBindConstraint*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_source"
              c:identifier="clutter_bind_constraint_get_source"
              glib:get-property="source">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-bind-constraint.c"
             line="522">Retrieves the #ClutterActor set using [method@Clutter.BindConstraint.set_source]</doc>
        <source-position filename="clutter/clutter/clutter-bind-constraint.h"
                         line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-bind-constraint.c"
               line="528">a pointer to the source actor</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="constraint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-bind-constraint.c"
                 line="524">a #ClutterBindConstraint</doc>
            <type name="BindConstraint" c:type="ClutterBindConstraint*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_coordinate"
              c:identifier="clutter_bind_constraint_set_coordinate"
              glib:set-property="coordinate">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-bind-constraint.c"
             line="538">Sets the coordinate to bind in the constraint</doc>
        <source-position filename="clutter/clutter/clutter-bind-constraint.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="constraint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-bind-constraint.c"
                 line="540">a #ClutterBindConstraint</doc>
            <type name="BindConstraint" c:type="ClutterBindConstraint*"/>
          </instance-parameter>
          <parameter name="coordinate" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-bind-constraint.c"
                 line="541">the coordinate to bind</doc>
            <type name="BindCoordinate" c:type="ClutterBindCoordinate"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_offset"
              c:identifier="clutter_bind_constraint_set_offset"
              glib:set-property="offset">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-bind-constraint.c"
             line="579">Sets the offset to be applied to the constraint</doc>
        <source-position filename="clutter/clutter/clutter-bind-constraint.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="constraint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-bind-constraint.c"
                 line="581">a #ClutterBindConstraint</doc>
            <type name="BindConstraint" c:type="ClutterBindConstraint*"/>
          </instance-parameter>
          <parameter name="offset" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-bind-constraint.c"
                 line="582">the offset to apply, in pixels</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_source"
              c:identifier="clutter_bind_constraint_set_source"
              glib:set-property="source">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-bind-constraint.c"
             line="458">Sets the source #ClutterActor for the constraint</doc>
        <source-position filename="clutter/clutter/clutter-bind-constraint.h"
                         line="47"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="constraint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-bind-constraint.c"
                 line="460">a #ClutterBindConstraint</doc>
            <type name="BindConstraint" c:type="ClutterBindConstraint*"/>
          </instance-parameter>
          <parameter name="source"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-bind-constraint.c"
                 line="461">a #ClutterActor, or %NULL to unset the source</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <property name="coordinate"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_coordinate"
                getter="get_coordinate"
                default-value="CLUTTER_BIND_X">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-bind-constraint.c"
             line="392">The coordinate to be bound</doc>
        <type name="BindCoordinate"/>
      </property>
      <property name="offset"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_offset"
                getter="get_offset"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-bind-constraint.c"
             line="405">The offset, in pixels, to be applied to the binding</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="source"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_source"
                getter="get_source">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-bind-constraint.c"
             line="377">The #ClutterActor used as the source for the binding.

The #ClutterActor must not be contained inside the actor associated
to the constraint.</doc>
        <type name="Actor"/>
      </property>
    </class>
    <record name="BindConstraintClass"
            c:type="ClutterBindConstraintClass"
            glib:is-gtype-struct-for="BindConstraint">
      <source-position filename="clutter/clutter/clutter-bind-constraint.h"
                       line="38"/>
      <field name="parent_class">
        <type name="ConstraintClass" c:type="ClutterConstraintClass"/>
      </field>
    </record>
    <enumeration name="BindCoordinate"
                 glib:type-name="ClutterBindCoordinate"
                 glib:get-type="clutter_bind_coordinate_get_type"
                 c:type="ClutterBindCoordinate">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="432">Specifies which property should be used in a binding</doc>
      <member name="x"
              value="0"
              c:identifier="CLUTTER_BIND_X"
              glib:nick="x"
              glib:name="CLUTTER_BIND_X">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="434">Bind the X coordinate</doc>
      </member>
      <member name="y"
              value="1"
              c:identifier="CLUTTER_BIND_Y"
              glib:nick="y"
              glib:name="CLUTTER_BIND_Y">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="435">Bind the Y coordinate</doc>
      </member>
      <member name="width"
              value="2"
              c:identifier="CLUTTER_BIND_WIDTH"
              glib:nick="width"
              glib:name="CLUTTER_BIND_WIDTH">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="436">Bind the width</doc>
      </member>
      <member name="height"
              value="3"
              c:identifier="CLUTTER_BIND_HEIGHT"
              glib:nick="height"
              glib:name="CLUTTER_BIND_HEIGHT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="437">Bind the height</doc>
      </member>
      <member name="position"
              value="4"
              c:identifier="CLUTTER_BIND_POSITION"
              glib:nick="position"
              glib:name="CLUTTER_BIND_POSITION">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="438">Equivalent to to %CLUTTER_BIND_X and
  %CLUTTER_BIND_Y</doc>
      </member>
      <member name="size"
              value="5"
              c:identifier="CLUTTER_BIND_SIZE"
              glib:nick="size"
              glib:name="CLUTTER_BIND_SIZE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="440">Equivalent to %CLUTTER_BIND_WIDTH and
  %CLUTTER_BIND_HEIGHT</doc>
      </member>
      <member name="all"
              value="6"
              c:identifier="CLUTTER_BIND_ALL"
              glib:nick="all"
              glib:name="CLUTTER_BIND_ALL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="442">Equivalent to %CLUTTER_BIND_POSITION and
  %CLUTTER_BIND_SIZE</doc>
      </member>
    </enumeration>
    <class name="BindingPool"
           c:symbol-prefix="binding_pool"
           c:type="ClutterBindingPool"
           parent="GObject.Object"
           final="1"
           glib:type-name="ClutterBindingPool"
           glib:get-type="clutter_binding_pool_get_type"
           glib:type-struct="BindingPoolClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-binding-pool.c"
           line="24">Pool for key bindings

#ClutterBindingPool is a data structure holding a set of key bindings.
Each key binding associates a key symbol (eventually with modifiers)
to an action. A callback function is associated to each action.

For a given key symbol and modifier mask combination there can be only one
action; for each action there can be only one callback. There can be
multiple actions with the same name, and the same callback can be used
to handle multiple key bindings.

Actors requiring key bindings should create a new #ClutterBindingPool
inside their class initialization function and then install actions
like this:

```c
static void
foo_class_init (FooClass *klass)
{
  ClutterBindingPool *binding_pool;

  binding_pool = clutter_binding_pool_get_for_class (klass);

  clutter_binding_pool_install_action (binding_pool, "move-up",
                                       CLUTTER_Up, 0,
                                       G_CALLBACK (foo_action_move_up),
                                       NULL, NULL);
  clutter_binding_pool_install_action (binding_pool, "move-up",
                                       CLUTTER_KP_Up, 0,
                                       G_CALLBACK (foo_action_move_up),
                                       NULL, NULL);
}
```

The callback has a signature of:

```c
   gboolean (* callback) (GObject             *instance,
                          const gchar         *action_name,
                          guint                key_val,
                          ClutterModifierType  modifiers,
                          gpointer             user_data);
```

The actor should then override the [signal@Actor::key-press-event] and
use [method@BindingPool.activate] to match a [struct@Event] key event
structure to one of the actions:

```c
  ClutterBindingPool *pool;

  // retrieve the binding pool for the type of the actor
  pool = clutter_binding_pool_find (G_OBJECT_TYPE_NAME (actor));

  // activate any callback matching the key symbol and modifiers
  // mask of the key event. the returned value can be directly
  // used to signal that the actor has handled the event.
  return clutter_binding_pool_activate (pool,
                                        key_event-&gt;keyval,
                                        key_event-&gt;modifier_state,
                                        G_OBJECT (actor));
```

The [method@BindingPool.activate] function will return %FALSE if
no action for the given key binding was found, if the action was
blocked (using [method@BindingPool.block_action]) or if the
key binding handler returned %FALSE.</doc>
      <source-position filename="clutter/clutter/clutter-binding-pool.h"
                       line="39"/>
      <constructor name="new" c:identifier="clutter_binding_pool_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-binding-pool.c"
             line="324">Creates a new #ClutterBindingPool that can be used to store
key bindings for an actor. The @name must be a unique identifier
for the binding pool, so that [func@Clutter.BindingPool.find] will
be able to return the correct binding pool.</doc>
        <source-position filename="clutter/clutter/clutter-binding-pool.h"
                         line="46"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-binding-pool.c"
               line="333">the newly created binding pool with the given
  name. Use g_object_unref() when done.</doc>
          <type name="BindingPool" c:type="ClutterBindingPool*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="326">the name of the binding pool</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="find" c:identifier="clutter_binding_pool_find">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-binding-pool.c"
             line="400">Finds the #ClutterBindingPool with @name.</doc>
        <source-position filename="clutter/clutter/clutter-binding-pool.h"
                         line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-binding-pool.c"
               line="406">a pointer to the #ClutterBindingPool, or %NULL</doc>
          <type name="BindingPool" c:type="ClutterBindingPool*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="402">the name of the binding pool to find</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_for_class"
                c:identifier="clutter_binding_pool_get_for_class">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-binding-pool.c"
             line="355">Retrieves the #ClutterBindingPool for the given #GObject class
and, eventually, creates it. This function is a wrapper around
[ctor@Clutter.BindingPool.new] and uses the class type name as the
unique name for the binding pool.

Calling this function multiple times will return the same
#ClutterBindingPool.

A binding pool for a class can also be retrieved using
[func@Clutter.BindingPool.find] with the class type name:

```
  pool = clutter_binding_pool_find (G_OBJECT_TYPE_NAME (instance));
```</doc>
        <source-position filename="clutter/clutter/clutter-binding-pool.h"
                         line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-binding-pool.c"
               line="374">the binding pool for the given class.
  The returned #ClutterBindingPool is owned by Clutter and should not
  be freed directly</doc>
          <type name="BindingPool" c:type="ClutterBindingPool*"/>
        </return-value>
        <parameters>
          <parameter name="klass"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="357">a #GObjectClass pointer</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <method name="activate" c:identifier="clutter_binding_pool_activate">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-binding-pool.c"
             line="792">Activates the callback associated to the action that is
bound to the @key_val and @modifiers pair.

The callback has the following signature:

```
  void (* callback) (GObject             *gobject,
                     const gchar         *action_name,
                     guint                key_val,
                     ClutterModifierType  modifiers,
                     gpointer             user_data);
```

Where the #GObject instance is @gobject and the user data
is the one passed when installing the action with
[method@Clutter.BindingPool.install_action].

If the action bound to the @key_val, @modifiers pair has been
blocked using [method@Clutter.BindingPool.block_action], the callback
will not be invoked, and this function will return %FALSE.</doc>
        <source-position filename="clutter/clutter/clutter-binding-pool.h"
                         line="89"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-binding-pool.c"
               line="820">%TRUE if an action was found and was activated</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="794">a #ClutterBindingPool</doc>
            <type name="BindingPool" c:type="ClutterBindingPool*"/>
          </instance-parameter>
          <parameter name="key_val" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="795">the key symbol</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="modifiers" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="796">bitmask for the modifiers</doc>
            <type name="ModifierType" c:type="ClutterModifierType"/>
          </parameter>
          <parameter name="gobject" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="797">a #GObject</doc>
            <type name="GObject.Object" c:type="GObject*"/>
          </parameter>
        </parameters>
      </method>
      <method name="block_action"
              c:identifier="clutter_binding_pool_block_action">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-binding-pool.c"
             line="846">Blocks all the actions with name @action_name inside @pool.</doc>
        <source-position filename="clutter/clutter/clutter-binding-pool.h"
                         line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="848">a #ClutterBindingPool</doc>
            <type name="BindingPool" c:type="ClutterBindingPool*"/>
          </instance-parameter>
          <parameter name="action_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="849">an action name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="find_action"
              c:identifier="clutter_binding_pool_find_action">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-binding-pool.c"
             line="681">Retrieves the name of the action matching the given key symbol
and modifiers bitmask.</doc>
        <source-position filename="clutter/clutter/clutter-binding-pool.h"
                         line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-binding-pool.c"
               line="690">the name of the action, if found, or %NULL. The
  returned string is owned by the binding pool and should never
  be modified or freed</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="683">a #ClutterBindingPool</doc>
            <type name="BindingPool" c:type="ClutterBindingPool*"/>
          </instance-parameter>
          <parameter name="key_val" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="684">a key symbol</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="modifiers" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="685">a bitmask for the modifiers</doc>
            <type name="ModifierType" c:type="ClutterModifierType"/>
          </parameter>
        </parameters>
      </method>
      <method name="install_action"
              c:identifier="clutter_binding_pool_install_action">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-binding-pool.c"
             line="426">Installs a new action inside a #ClutterBindingPool. The action
is bound to @key_val and @modifiers.

The same action name can be used for multiple @key_val, @modifiers
pairs.

When an action has been activated using [method@Clutter.BindingPool.activate]
the passed @callback will be invoked (with @data).

Actions can be blocked with [method@Clutter.BindingPool.block_action]
and then unblocked using [method@Clutter.BindingPool.unblock_action].</doc>
        <source-position filename="clutter/clutter/clutter-binding-pool.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="428">a #ClutterBindingPool</doc>
            <type name="BindingPool" c:type="ClutterBindingPool*"/>
          </instance-parameter>
          <parameter name="action_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="429">the name of the action</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="key_val" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="430">key symbol</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="modifiers" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="431">bitmask of modifiers</doc>
            <type name="ModifierType" c:type="ClutterModifierType"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="4"
                     destroy="5">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="432">function to be called
  when the action is activated</doc>
            <type name="GObject.Callback" c:type="GCallback"/>
          </parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="434">data to be passed to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="notify" transfer-ownership="none" scope="async">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="435">function to be called when the action is removed
  from the pool</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="install_closure"
              c:identifier="clutter_binding_pool_install_closure">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-binding-pool.c"
             line="496">A #GClosure variant of [method@Clutter.BindingPool.install_action].

Installs a new action inside a #ClutterBindingPool. The action
is bound to @key_val and @modifiers.

The same action name can be used for multiple @key_val, @modifiers
pairs.

When an action has been activated using [method@Clutter.BindingPool.activate]
the passed @closure will be invoked.

Actions can be blocked with [method@Clutter.BindingPool.block_action]
and then unblocked using [method@Clutter.BindingPool.unblock_action].</doc>
        <source-position filename="clutter/clutter/clutter-binding-pool.h"
                         line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="498">a #ClutterBindingPool</doc>
            <type name="BindingPool" c:type="ClutterBindingPool*"/>
          </instance-parameter>
          <parameter name="action_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="499">the name of the action</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="key_val" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="500">key symbol</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="modifiers" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="501">bitmask of modifiers</doc>
            <type name="ModifierType" c:type="ClutterModifierType"/>
          </parameter>
          <parameter name="closure" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="502">a #GClosure</doc>
            <type name="GObject.Closure" c:type="GClosure*"/>
          </parameter>
        </parameters>
      </method>
      <method name="override_action"
              c:identifier="clutter_binding_pool_override_action">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-binding-pool.c"
             line="560">Allows overriding the action for @key_val and @modifiers inside a
#ClutterBindingPool. See [method@Clutter.BindingPool.install_action].

When an action has been activated using [method@Clutter.BindingPool.activate]
the passed @callback will be invoked (with @data).

Actions can be blocked with [method@Clutter.BindingPool.block_action]
and then unblocked using [method@Clutter.BindingPool.unblock_action].</doc>
        <source-position filename="clutter/clutter/clutter-binding-pool.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="562">a #ClutterBindingPool</doc>
            <type name="BindingPool" c:type="ClutterBindingPool*"/>
          </instance-parameter>
          <parameter name="key_val" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="563">key symbol</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="modifiers" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="564">bitmask of modifiers</doc>
            <type name="ModifierType" c:type="ClutterModifierType"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="3"
                     destroy="4">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="565">function to be called when the action is activated</doc>
            <type name="GObject.Callback" c:type="GCallback"/>
          </parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="566">data to be passed to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="notify" transfer-ownership="none" scope="async">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="567">function to be called when the action is removed
  from the pool</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="override_closure"
              c:identifier="clutter_binding_pool_override_closure">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-binding-pool.c"
             line="623">A #GClosure variant of [method@Clutter.BindingPool.override_action].

Allows overriding the action for @key_val and @modifiers inside a
#ClutterBindingPool. See [method@Clutter.BindingPool.install_closure].

When an action has been activated using [method@Clutter.BindingPool.activate]
the passed @callback will be invoked (with @data).

Actions can be blocked with [method@Clutter.BindingPool.block_action]
and then unblocked using [method@Clutter.BindingPool.unblock_action].</doc>
        <source-position filename="clutter/clutter/clutter-binding-pool.h"
                         line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="625">a #ClutterBindingPool</doc>
            <type name="BindingPool" c:type="ClutterBindingPool*"/>
          </instance-parameter>
          <parameter name="key_val" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="626">key symbol</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="modifiers" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="627">bitmask of modifiers</doc>
            <type name="ModifierType" c:type="ClutterModifierType"/>
          </parameter>
          <parameter name="closure" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="628">a #GClosure</doc>
            <type name="GObject.Closure" c:type="GClosure*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_action"
              c:identifier="clutter_binding_pool_remove_action">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-binding-pool.c"
             line="711">Removes the action matching the given @key_val, @modifiers pair,
if any exists.</doc>
        <source-position filename="clutter/clutter/clutter-binding-pool.h"
                         line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="713">a #ClutterBindingPool</doc>
            <type name="BindingPool" c:type="ClutterBindingPool*"/>
          </instance-parameter>
          <parameter name="key_val" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="714">a key symbol</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="modifiers" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="715">a bitmask for the modifiers</doc>
            <type name="ModifierType" c:type="ClutterModifierType"/>
          </parameter>
        </parameters>
      </method>
      <method name="unblock_action"
              c:identifier="clutter_binding_pool_unblock_action">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-binding-pool.c"
             line="871">Unblockes all the actions with name @action_name inside @pool.

Unblocking an action does not cause the callback bound to it to
be invoked in case [method@Clutter.BindingPool.activate] was called on
an action previously blocked with [method@Clutter.BindingPool.block_action].</doc>
        <source-position filename="clutter/clutter/clutter-binding-pool.h"
                         line="98"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="873">a #ClutterBindingPool</doc>
            <type name="BindingPool" c:type="ClutterBindingPool*"/>
          </instance-parameter>
          <parameter name="action_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-binding-pool.c"
                 line="874">an action name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="name"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-binding-pool.c"
             line="296">The unique name of the #ClutterBindingPool.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <record name="BindingPoolClass"
            c:type="ClutterBindingPoolClass"
            glib:is-gtype-struct-for="BindingPool">
      <source-position filename="clutter/clutter/clutter-binding-pool.h"
                       line="39"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="BlitNode"
           c:symbol-prefix="blit_node"
           c:type="ClutterBlitNode"
           parent="PaintNode"
           glib:type-name="ClutterBlitNode"
           glib:get-type="clutter_blit_node_get_type"
           glib:type-struct="BlitNodeClass"
           glib:fundamental="1">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="154"/>
      <constructor name="new" c:identifier="clutter_blit_node_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-nodes.c"
             line="1301">Creates a new #ClutterBlitNode that blits @src into the current
draw framebuffer.

You must only add rectangles using [method@BlitNode.add_blit_rectangle].</doc>
        <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                         line="160"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-nodes.c"
               line="1310">the newly created #ClutterBlitNode.
  Use clutter_paint_node_unref() when done.</doc>
          <type name="PaintNode" c:type="ClutterPaintNode*"/>
        </return-value>
        <parameters>
          <parameter name="src" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-nodes.c"
                 line="1303">the source #CoglFramebuffer</doc>
            <type name="Cogl.Framebuffer" c:type="CoglFramebuffer*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_blit_rectangle"
              c:identifier="clutter_blit_node_add_blit_rectangle">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-nodes.c"
             line="1326">Adds a new blit rectangle to the stack of rectangles. All the
constraints of [method@Cogl.Framebuffer.blit] apply here.</doc>
        <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                         line="163"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="blit_node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-nodes.c"
                 line="1328">a #ClutterBlitNode</doc>
            <type name="BlitNode" c:type="ClutterBlitNode*"/>
          </instance-parameter>
          <parameter name="src_x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-nodes.c"
                 line="1329">Source x position</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="src_y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-nodes.c"
                 line="1330">Source y position</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="dst_x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-nodes.c"
                 line="1331">Destination x position</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="dst_y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-nodes.c"
                 line="1332">Destination y position</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-nodes.c"
                 line="1333">Width of region to copy</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-nodes.c"
                 line="1334">Height of region to copy</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="BlitNodeClass"
            c:type="ClutterBlitNodeClass"
            glib:is-gtype-struct-for="BlitNode">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="154"/>
    </record>
    <class name="BlurEffect"
           c:symbol-prefix="blur_effect"
           c:type="ClutterBlurEffect"
           parent="OffscreenEffect"
           glib:type-name="ClutterBlurEffect"
           glib:get-type="clutter_blur_effect_get_type"
           glib:type-struct="BlurEffectClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-blur-effect.c"
           line="25">A blur effect

#ClutterBlurEffect is a sub-class of #ClutterEffect that allows blurring a
actor and its contents.</doc>
      <source-position filename="clutter/clutter/clutter-blur-effect.h"
                       line="49"/>
      <constructor name="new" c:identifier="clutter_blur_effect_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-blur-effect.c"
             line="194">Creates a new #ClutterBlurEffect to be used with
[method@Clutter.Actor.add_effect]</doc>
        <source-position filename="clutter/clutter/clutter-blur-effect.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-blur-effect.c"
               line="200">the newly created #ClutterBlurEffect or %NULL</doc>
          <type name="Effect" c:type="ClutterEffect*"/>
        </return-value>
      </constructor>
      <field name="parent_instance">
        <type name="OffscreenEffect" c:type="ClutterOffscreenEffect"/>
      </field>
    </class>
    <record name="BlurEffectClass"
            c:type="ClutterBlurEffectClass"
            glib:is-gtype-struct-for="BlurEffect">
      <source-position filename="clutter/clutter/clutter-blur-effect.h"
                       line="49"/>
      <field name="parent_class">
        <type name="OffscreenEffectClass"
              c:type="ClutterOffscreenEffectClass"/>
      </field>
      <field name="base_pipeline">
        <type name="Cogl.Pipeline" c:type="CoglPipeline*"/>
      </field>
    </record>
    <class name="BlurNode"
           c:symbol-prefix="blur_node"
           c:type="ClutterBlurNode"
           parent="LayerNode"
           glib:type-name="ClutterBlurNode"
           glib:get-type="clutter_blur_node_get_type"
           glib:type-struct="BlurNodeClass"
           glib:fundamental="1">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="176"/>
      <constructor name="new" c:identifier="clutter_blur_node_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-nodes.c"
             line="1414">@width width of the blur layer
Creates a new #ClutterBlurNode.

Children of this node will be painted inside a separate framebuffer,
which will be blurred and painted on the current draw framebuffer.</doc>
        <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                         line="182"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-nodes.c"
               line="1425">the newly created #ClutterBlurNode.
  Use clutter_paint_node_unref() when done.</doc>
          <type name="PaintNode" c:type="ClutterPaintNode*"/>
        </return-value>
        <parameters>
          <parameter name="width" transfer-ownership="none">
            <type name="guint" c:type="unsigned int"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-nodes.c"
                 line="1417">height of the blur layer</doc>
            <type name="guint" c:type="unsigned int"/>
          </parameter>
          <parameter name="radius" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-nodes.c"
                 line="1418">radius (in pixels) of the blur</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </constructor>
    </class>
    <record name="BlurNodeClass"
            c:type="ClutterBlurNodeClass"
            glib:is-gtype-struct-for="BlurNode">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="176"/>
    </record>
    <class name="BoxLayout"
           c:symbol-prefix="box_layout"
           c:type="ClutterBoxLayout"
           parent="LayoutManager"
           glib:type-name="ClutterBoxLayout"
           glib:get-type="clutter_box_layout_get_type"
           glib:type-struct="BoxLayoutClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-box-layout.c"
           line="28">A layout manager arranging children on a single line

The #ClutterBoxLayout is a [class@Clutter.LayoutManager] implementing the
following layout policy:

 - all children are arranged on a single line
 - the axis used is controlled by the [property@Clutter.BoxLayout:orientation] property
 - each child will be allocated to its natural size or, if [property@Clutter.Actor:x-expand] or
 [property@Clutter.Actor:y-expand] are set, the available size
 - honours the #ClutterActor's [property@Clutter.Actor:x-align] and [property@Clutter.Actor:y-align] properties
 to fill the available size
 - if the [property@Clutter.BoxLayout:homogeneous] boolean property is set, then all widgets will
 get the same size, ignoring expand settings and the preferred sizes

It is possible to control the spacing between children of a
#ClutterBoxLayout by using [method@Clutter.BoxLayout.set_spacing].</doc>
      <source-position filename="clutter/clutter/clutter-box-layout.h"
                       line="50"/>
      <constructor name="new" c:identifier="clutter_box_layout_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-box-layout.c"
             line="987">Creates a new #ClutterBoxLayout layout manager</doc>
        <source-position filename="clutter/clutter/clutter-box-layout.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-box-layout.c"
               line="992">the newly created #ClutterBoxLayout</doc>
          <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
        </return-value>
      </constructor>
      <method name="get_homogeneous"
              c:identifier="clutter_box_layout_get_homogeneous"
              glib:get-property="homogeneous">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-box-layout.c"
             line="1137">Retrieves if the children sizes are allocated homogeneously.</doc>
        <source-position filename="clutter/clutter/clutter-box-layout.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-box-layout.c"
               line="1143">%TRUE if the #ClutterBoxLayout is arranging its children
  homogeneously, and %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-box-layout.c"
                 line="1139">a #ClutterBoxLayout</doc>
            <type name="BoxLayout" c:type="ClutterBoxLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_orientation"
              c:identifier="clutter_box_layout_get_orientation"
              glib:get-property="orientation">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-box-layout.c"
             line="1086">Retrieves the orientation of the @layout.</doc>
        <source-position filename="clutter/clutter/clutter-box-layout.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-box-layout.c"
               line="1092">the orientation of the layout</doc>
          <type name="Orientation" c:type="ClutterOrientation"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-box-layout.c"
                 line="1088">a #ClutterBoxLayout</doc>
            <type name="BoxLayout" c:type="ClutterBoxLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_spacing"
              c:identifier="clutter_box_layout_get_spacing"
              glib:get-property="spacing">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-box-layout.c"
             line="1030">Retrieves the spacing set using [method@Clutter.BoxLayout.set_spacing]</doc>
        <source-position filename="clutter/clutter/clutter-box-layout.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-box-layout.c"
               line="1036">the spacing between children of the #ClutterBoxLayout</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-box-layout.c"
                 line="1032">a #ClutterBoxLayout</doc>
            <type name="BoxLayout" c:type="ClutterBoxLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_homogeneous"
              c:identifier="clutter_box_layout_set_homogeneous"
              glib:set-property="homogeneous">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-box-layout.c"
             line="1106">Sets whether the size of @layout children should be
homogeneous</doc>
        <source-position filename="clutter/clutter/clutter-box-layout.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-box-layout.c"
                 line="1108">a #ClutterBoxLayout</doc>
            <type name="BoxLayout" c:type="ClutterBoxLayout*"/>
          </instance-parameter>
          <parameter name="homogeneous" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-box-layout.c"
                 line="1109">%TRUE if the layout should be homogeneous</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_orientation"
              c:identifier="clutter_box_layout_set_orientation"
              glib:set-property="orientation">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-box-layout.c"
             line="1049">Sets the orientation of the #ClutterBoxLayout layout manager.</doc>
        <source-position filename="clutter/clutter/clutter-box-layout.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-box-layout.c"
                 line="1051">a #ClutterBoxLayout</doc>
            <type name="BoxLayout" c:type="ClutterBoxLayout*"/>
          </instance-parameter>
          <parameter name="orientation" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-box-layout.c"
                 line="1052">the orientation of the #ClutterBoxLayout</doc>
            <type name="Orientation" c:type="ClutterOrientation"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_spacing"
              c:identifier="clutter_box_layout_set_spacing"
              glib:set-property="spacing">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-box-layout.c"
             line="1000">Sets the spacing between children of @layout</doc>
        <source-position filename="clutter/clutter/clutter-box-layout.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-box-layout.c"
                 line="1002">a #ClutterBoxLayout</doc>
            <type name="BoxLayout" c:type="ClutterBoxLayout*"/>
          </instance-parameter>
          <parameter name="spacing" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-box-layout.c"
                 line="1003">the spacing between children of the layout, in pixels</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <property name="homogeneous"
                writable="1"
                transfer-ownership="none"
                setter="set_homogeneous"
                getter="get_homogeneous"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-box-layout.c"
             line="945">Whether the #ClutterBoxLayout should arrange its children
homogeneously, i.e. all children get the same size</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="orientation"
                writable="1"
                transfer-ownership="none"
                setter="set_orientation"
                getter="get_orientation"
                default-value="CLUTTER_ORIENTATION_HORIZONTAL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-box-layout.c"
             line="932">The orientation of the #ClutterBoxLayout, either horizontal
or vertical</doc>
        <type name="Orientation"/>
      </property>
      <property name="spacing"
                writable="1"
                transfer-ownership="none"
                setter="set_spacing"
                getter="get_spacing"
                default-value="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-box-layout.c"
             line="957">The spacing between children of the #ClutterBoxLayout, in pixels</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <field name="parent_instance">
        <type name="LayoutManager" c:type="ClutterLayoutManager"/>
      </field>
    </class>
    <record name="BoxLayoutClass"
            c:type="ClutterBoxLayoutClass"
            glib:is-gtype-struct-for="BoxLayout">
      <source-position filename="clutter/clutter/clutter-box-layout.h"
                       line="50"/>
      <field name="parent_class" readable="0" private="1">
        <type name="LayoutManagerClass" c:type="ClutterLayoutManagerClass"/>
      </field>
    </record>
    <class name="BrightnessContrastEffect"
           c:symbol-prefix="brightness_contrast_effect"
           c:type="ClutterBrightnessContrastEffect"
           parent="OffscreenEffect"
           glib:type-name="ClutterBrightnessContrastEffect"
           glib:get-type="clutter_brightness_contrast_effect_get_type"
           glib:type-struct="BrightnessContrastEffectClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-brightness-contrast-effect.c"
           line="25">Increase/decrease brightness and/or contrast of actor.

#ClutterBrightnessContrastEffect is a sub-class of #ClutterEffect that
changes the overall brightness of a #ClutterActor.</doc>
      <source-position filename="clutter/clutter/clutter-brightness-contrast-effect.h"
                       line="44"/>
      <constructor name="new"
                   c:identifier="clutter_brightness_contrast_effect_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-brightness-contrast-effect.c"
             line="404">Creates a new #ClutterBrightnessContrastEffect to be used with
[method@Clutter.Actor.add_effect]</doc>
        <source-position filename="clutter/clutter/clutter-brightness-contrast-effect.h"
                         line="53"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-brightness-contrast-effect.c"
               line="410">the newly created
  #ClutterBrightnessContrastEffect or %NULL.  Use g_object_unref() when
  done.</doc>
          <type name="Effect" c:type="ClutterEffect*"/>
        </return-value>
      </constructor>
      <method name="get_brightness"
              c:identifier="clutter_brightness_contrast_effect_get_brightness"
              glib:get-property="brightness">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-brightness-contrast-effect.c"
             line="458">Retrieves the change in brightness used by @effect.</doc>
        <source-position filename="clutter/clutter/clutter-brightness-contrast-effect.h"
                         line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="460">a #ClutterBrightnessContrastEffect</doc>
            <type name="BrightnessContrastEffect"
                  c:type="ClutterBrightnessContrastEffect*"/>
          </instance-parameter>
          <parameter name="red"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="461">return location for red component of the
   change in brightness</doc>
            <type name="gfloat" c:type="float*"/>
          </parameter>
          <parameter name="green"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="463">return location for green component of the
   change in brightness</doc>
            <type name="gfloat" c:type="float*"/>
          </parameter>
          <parameter name="blue"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="465">return location for blue component of the
   change in brightness</doc>
            <type name="gfloat" c:type="float*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_contrast"
              c:identifier="clutter_brightness_contrast_effect_get_contrast"
              glib:get-property="contrast">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-brightness-contrast-effect.c"
             line="548">Retrieves the contrast value used by @effect.</doc>
        <source-position filename="clutter/clutter/clutter-brightness-contrast-effect.h"
                         line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="550">a #ClutterBrightnessContrastEffect</doc>
            <type name="BrightnessContrastEffect"
                  c:type="ClutterBrightnessContrastEffect*"/>
          </instance-parameter>
          <parameter name="red"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="551">return location for red component of the
   change in contrast</doc>
            <type name="gfloat" c:type="float*"/>
          </parameter>
          <parameter name="green"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="553">return location for green component of the
   change in contrast</doc>
            <type name="gfloat" c:type="float*"/>
          </parameter>
          <parameter name="blue"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="555">return location for blue component of the
   change in contrast</doc>
            <type name="gfloat" c:type="float*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_brightness"
              c:identifier="clutter_brightness_contrast_effect_set_brightness"
              glib:set-property="brightness">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-brightness-contrast-effect.c"
             line="491">The range of @brightness is [-1.0, 1.0], where 0.0 designates no change;
a value below 0.0 indicates a decrease in brightness; and a value
above 0.0 indicates an increase of brightness.</doc>
        <source-position filename="clutter/clutter/clutter-brightness-contrast-effect.h"
                         line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="493">a #ClutterBrightnessContrastEffect</doc>
            <type name="BrightnessContrastEffect"
                  c:type="ClutterBrightnessContrastEffect*"/>
          </instance-parameter>
          <parameter name="brightness" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="494">the brightness change for all three components (r, g, b)</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_brightness_full"
              c:identifier="clutter_brightness_contrast_effect_set_brightness_full">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-brightness-contrast-effect.c"
             line="420">The range for each component is [-1.0, 1.0] where 0.0 designates no change,
values below 0.0 mean a decrease in brightness, and values above indicate
an increase.</doc>
        <source-position filename="clutter/clutter/clutter-brightness-contrast-effect.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="422">a #ClutterBrightnessContrastEffect</doc>
            <type name="BrightnessContrastEffect"
                  c:type="ClutterBrightnessContrastEffect*"/>
          </instance-parameter>
          <parameter name="red" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="423">red component of the change in brightness</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="green" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="424">green component of the change in brightness</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="blue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="425">blue component of the change in brightness</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_contrast"
              c:identifier="clutter_brightness_contrast_effect_set_contrast"
              glib:set-property="contrast">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-brightness-contrast-effect.c"
             line="581">The range for @contrast is [-1.0, 1.0], where 0.0 designates no change;
a value below 0.0 indicates a decrease in contrast; and a value above
0.0 indicates an increase.</doc>
        <source-position filename="clutter/clutter/clutter-brightness-contrast-effect.h"
                         line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="583">a #ClutterBrightnessContrastEffect</doc>
            <type name="BrightnessContrastEffect"
                  c:type="ClutterBrightnessContrastEffect*"/>
          </instance-parameter>
          <parameter name="contrast" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="584">contrast change for all three channels</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_contrast_full"
              c:identifier="clutter_brightness_contrast_effect_set_contrast_full">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-brightness-contrast-effect.c"
             line="510">The range for each component is [-1.0, 1.0] where 0.0 designates no change,
values below 0.0 mean a decrease in contrast, and values above indicate
an increase.</doc>
        <source-position filename="clutter/clutter/clutter-brightness-contrast-effect.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="512">a #ClutterBrightnessContrastEffect</doc>
            <type name="BrightnessContrastEffect"
                  c:type="ClutterBrightnessContrastEffect*"/>
          </instance-parameter>
          <parameter name="red" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="513">red component of the change in contrast</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="green" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="514">green component of the change in contrast</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="blue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-brightness-contrast-effect.c"
                 line="515">blue component of the change in contrast</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </method>
      <property name="brightness"
                writable="1"
                transfer-ownership="none"
                setter="set_brightness"
                getter="get_brightness"
                default-value="#7f7f7fff">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-brightness-contrast-effect.c"
             line="249">The brightness change to apply to the effect.

This property uses a #CoglColor to represent the changes to each
color channel. The range is [ 0, 255 ], with 127 as the value used
to indicate no change; values smaller than 127 indicate a decrease
in brightness, and values larger than 127 indicate an increase in
brightness.</doc>
        <type name="Cogl.Color"/>
      </property>
      <property name="contrast"
                writable="1"
                transfer-ownership="none"
                setter="set_contrast"
                getter="get_contrast"
                default-value="#7f7f7fff">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-brightness-contrast-effect.c"
             line="266">The contrast change to apply to the effect.

This property uses a #CoglColor to represent the changes to each
color channel. The range is [ 0, 255 ], with 127 as the value used
to indicate no change; values smaller than 127 indicate a decrease
in contrast, and values larger than 127 indicate an increase in
contrast.</doc>
        <type name="Cogl.Color"/>
      </property>
      <field name="parent_instance">
        <type name="OffscreenEffect" c:type="ClutterOffscreenEffect"/>
      </field>
    </class>
    <record name="BrightnessContrastEffectClass"
            c:type="ClutterBrightnessContrastEffectClass"
            glib:is-gtype-struct-for="BrightnessContrastEffect">
      <source-position filename="clutter/clutter/clutter-brightness-contrast-effect.h"
                       line="44"/>
      <field name="parent_class">
        <type name="OffscreenEffectClass"
              c:type="ClutterOffscreenEffectClass"/>
      </field>
      <field name="base_pipeline">
        <type name="Cogl.Pipeline" c:type="CoglPipeline*"/>
      </field>
    </record>
    <record name="ButtonEvent"
            c:type="ClutterButtonEvent"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-event.h" line="96"/>
    </record>
    <enumeration name="ButtonState"
                 glib:type-name="ClutterButtonState"
                 glib:get-type="clutter_button_state_get_type"
                 c:type="ClutterButtonState">
      <member name="released"
              value="0"
              c:identifier="CLUTTER_BUTTON_STATE_RELEASED"
              glib:nick="released"
              glib:name="CLUTTER_BUTTON_STATE_RELEASED">
      </member>
      <member name="pressed"
              value="1"
              c:identifier="CLUTTER_BUTTON_STATE_PRESSED"
              glib:nick="pressed"
              glib:name="CLUTTER_BUTTON_STATE_PRESSED">
      </member>
    </enumeration>
    <function-macro name="CLIP_NODE"
                    c:identifier="CLUTTER_CLIP_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="66"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COLOR_NODE"
                    c:identifier="CLUTTER_COLOR_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="CURRENT_TIME" value="0" c:type="CLUTTER_CURRENT_TIME">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-event.h"
           line="45">Default value for "now".</doc>
      <source-position filename="clutter/clutter/clutter-event.h" line="50"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <record name="Cicp" c:type="ClutterCicp">
      <source-position filename="clutter/clutter/clutter-color-state-params.h"
                       line="134"/>
      <field name="primaries" writable="1">
        <type name="CicpPrimaries" c:type="ClutterCicpPrimaries"/>
      </field>
      <field name="transfer" writable="1">
        <type name="CicpTransfer" c:type="ClutterCicpTransfer"/>
      </field>
      <field name="matrix_coefficients" writable="1">
        <type name="guint8" c:type="uint8_t"/>
      </field>
      <field name="video_full_range_flag" writable="1">
        <type name="guint8" c:type="uint8_t"/>
      </field>
    </record>
    <enumeration name="CicpPrimaries"
                 glib:type-name="ClutterCicpPrimaries"
                 glib:get-type="clutter_cicp_primaries_get_type"
                 c:type="ClutterCicpPrimaries">
      <member name="srgb"
              value="1"
              c:identifier="CLUTTER_CICP_PRIMARIES_SRGB"
              glib:nick="srgb"
              glib:name="CLUTTER_CICP_PRIMARIES_SRGB">
      </member>
      <member name="pal"
              value="5"
              c:identifier="CLUTTER_CICP_PRIMARIES_PAL"
              glib:nick="pal"
              glib:name="CLUTTER_CICP_PRIMARIES_PAL">
      </member>
      <member name="ntsc"
              value="6"
              c:identifier="CLUTTER_CICP_PRIMARIES_NTSC"
              glib:nick="ntsc"
              glib:name="CLUTTER_CICP_PRIMARIES_NTSC">
      </member>
      <member name="ntsc_2"
              value="7"
              c:identifier="CLUTTER_CICP_PRIMARIES_NTSC_2"
              glib:nick="ntsc-2"
              glib:name="CLUTTER_CICP_PRIMARIES_NTSC_2">
      </member>
      <member name="bt2020"
              value="9"
              c:identifier="CLUTTER_CICP_PRIMARIES_BT2020"
              glib:nick="bt2020"
              glib:name="CLUTTER_CICP_PRIMARIES_BT2020">
      </member>
      <member name="p3"
              value="12"
              c:identifier="CLUTTER_CICP_PRIMARIES_P3"
              glib:nick="p3"
              glib:name="CLUTTER_CICP_PRIMARIES_P3">
      </member>
    </enumeration>
    <enumeration name="CicpTransfer"
                 glib:type-name="ClutterCicpTransfer"
                 glib:get-type="clutter_cicp_transfer_get_type"
                 c:type="ClutterCicpTransfer">
      <member name="bt709"
              value="1"
              c:identifier="CLUTTER_CICP_TRANSFER_BT709"
              glib:nick="bt709"
              glib:name="CLUTTER_CICP_TRANSFER_BT709">
      </member>
      <member name="gamma22"
              value="4"
              c:identifier="CLUTTER_CICP_TRANSFER_GAMMA22"
              glib:nick="gamma22"
              glib:name="CLUTTER_CICP_TRANSFER_GAMMA22">
      </member>
      <member name="gamma28"
              value="5"
              c:identifier="CLUTTER_CICP_TRANSFER_GAMMA28"
              glib:nick="gamma28"
              glib:name="CLUTTER_CICP_TRANSFER_GAMMA28">
      </member>
      <member name="bt601"
              value="6"
              c:identifier="CLUTTER_CICP_TRANSFER_BT601"
              glib:nick="bt601"
              glib:name="CLUTTER_CICP_TRANSFER_BT601">
      </member>
      <member name="linear"
              value="8"
              c:identifier="CLUTTER_CICP_TRANSFER_LINEAR"
              glib:nick="linear"
              glib:name="CLUTTER_CICP_TRANSFER_LINEAR">
      </member>
      <member name="srgb"
              value="13"
              c:identifier="CLUTTER_CICP_TRANSFER_SRGB"
              glib:nick="srgb"
              glib:name="CLUTTER_CICP_TRANSFER_SRGB">
      </member>
      <member name="bt2020"
              value="14"
              c:identifier="CLUTTER_CICP_TRANSFER_BT2020"
              glib:nick="bt2020"
              glib:name="CLUTTER_CICP_TRANSFER_BT2020">
      </member>
      <member name="bt2020_2"
              value="15"
              c:identifier="CLUTTER_CICP_TRANSFER_BT2020_2"
              glib:nick="bt2020-2"
              glib:name="CLUTTER_CICP_TRANSFER_BT2020_2">
      </member>
      <member name="pq"
              value="16"
              c:identifier="CLUTTER_CICP_TRANSFER_PQ"
              glib:nick="pq"
              glib:name="CLUTTER_CICP_TRANSFER_PQ">
      </member>
      <member name="hlg"
              value="18"
              c:identifier="CLUTTER_CICP_TRANSFER_HLG"
              glib:nick="hlg"
              glib:name="CLUTTER_CICP_TRANSFER_HLG">
      </member>
    </enumeration>
    <class name="ClickGesture"
           c:symbol-prefix="click_gesture"
           c:type="ClutterClickGesture"
           parent="PressGesture"
           final="1"
           glib:type-name="ClutterClickGesture"
           glib:get-type="clutter_click_gesture_get_type"
           glib:type-struct="ClickGestureClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-click-gesture.c"
           line="18">A #ClutterPressGesture subclass for recognizing click gestures</doc>
      <source-position filename="clutter/clutter/clutter-click-gesture.h"
                       line="31"/>
      <constructor name="new" c:identifier="clutter_click_gesture_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-click-gesture.c"
             line="212">Creates a new #ClutterClickGesture instance</doc>
        <source-position filename="clutter/clutter/clutter-click-gesture.h"
                         line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-click-gesture.c"
               line="217">the newly created #ClutterClickGesture</doc>
          <type name="Action" c:type="ClutterAction*"/>
        </return-value>
      </constructor>
      <method name="get_n_clicks_required"
              c:identifier="clutter_click_gesture_get_n_clicks_required"
              glib:get-property="n-clicks-required">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-click-gesture.c"
             line="225">Gets the number of clicks required for the click gesture to recognize.</doc>
        <source-position filename="clutter/clutter/clutter-click-gesture.h"
                         line="38"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-click-gesture.c"
               line="231">The number of clicks</doc>
          <type name="guint" c:type="unsigned int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-click-gesture.c"
                 line="227">a #ClutterClickGesture</doc>
            <type name="ClickGesture" c:type="ClutterClickGesture*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_recognize_on_press"
              c:identifier="clutter_click_gesture_get_recognize_on_press"
              glib:get-property="recognize-on-press">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-click-gesture.c"
             line="265">Get whether the click gesture recognizes on button-press/touch-begin events.</doc>
        <source-position filename="clutter/clutter/clutter-click-gesture.h"
                         line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-click-gesture.c"
               line="271">%TRUE when the gesture recognizes on press.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-click-gesture.c"
                 line="267">a #ClutterClickGesture</doc>
            <type name="ClickGesture" c:type="ClutterClickGesture*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_n_clicks_required"
              c:identifier="clutter_click_gesture_set_n_clicks_required"
              glib:set-property="n-clicks-required">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-click-gesture.c"
             line="241">Sets the number of clicks required for the gesture to recognize, this can
be used to implement double-click gestures.

See also #ClutterClickGesture:n-clicks-required.</doc>
        <source-position filename="clutter/clutter/clutter-click-gesture.h"
                         line="41"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-click-gesture.c"
                 line="243">a #ClutterClickGesture</doc>
            <type name="ClickGesture" c:type="ClutterClickGesture*"/>
          </instance-parameter>
          <parameter name="n_clicks_required" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-click-gesture.c"
                 line="244">the number of clicks required</doc>
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_recognize_on_press"
              c:identifier="clutter_click_gesture_set_recognize_on_press"
              glib:set-property="recognize-on-press">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-click-gesture.c"
             line="281">Set this to %TRUE to make the click gesture recognize on
button-press/touch-begin rather than on button-release/touch-end events.

See also #ClutterClickGesture:recognize-on-press.</doc>
        <source-position filename="clutter/clutter/clutter-click-gesture.h"
                         line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-click-gesture.c"
                 line="283">a #ClutterClickGesture</doc>
            <type name="ClickGesture" c:type="ClutterClickGesture*"/>
          </instance-parameter>
          <parameter name="recognize_on_press" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-click-gesture.c"
                 line="284">whether to recognize on press</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="n-clicks-required"
                writable="1"
                transfer-ownership="none"
                setter="set_n_clicks_required"
                getter="get_n_clicks_required"
                default-value="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-click-gesture.c"
             line="171">The number of clicks required for the gesture to recognize, this can
be used to implement double-click gestures.

Note that for single clicks, the gesture will recognize on button-release,
while for double or more clicks, the gesture will recognize on
button-press.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="recognize-on-press"
                writable="1"
                transfer-ownership="none"
                setter="set_recognize_on_press"
                getter="get_recognize_on_press"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-click-gesture.c"
             line="188">Set this to %TRUE to make the click gesture recognize on
button-press/touch-begin rather than on button-release/touch-end events.

Defaults to %FALSE.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="ClickGestureClass"
            c:type="ClutterClickGestureClass"
            glib:is-gtype-struct-for="ClickGesture">
      <source-position filename="clutter/clutter/clutter-click-gesture.h"
                       line="31"/>
      <field name="parent_class">
        <type name="PressGestureClass" c:type="ClutterPressGestureClass"/>
      </field>
    </record>
    <class name="ClipNode"
           c:symbol-prefix="clip_node"
           c:type="ClutterClipNode"
           parent="PaintNode"
           glib:type-name="ClutterClipNode"
           glib:get-type="clutter_clip_node_get_type"
           glib:type-struct="ClipNodeClass"
           glib:fundamental="1">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="70"/>
      <constructor name="new" c:identifier="clutter_clip_node_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-nodes.c"
             line="812">Creates a new #ClutterPaintNode that will clip its child
nodes to the 2D regions added to it.</doc>
        <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                         line="76"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-nodes.c"
               line="818">the newly created #ClutterPaintNode.
  Use clutter_paint_node_unref() when done.</doc>
          <type name="PaintNode" c:type="ClutterPaintNode*"/>
        </return-value>
      </constructor>
    </class>
    <record name="ClipNodeClass"
            c:type="ClutterClipNodeClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="ClipNode">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-paint-nodes.c"
           line="710">The `ClutterClipNodeClass` structure is an opaque
type whose members cannot be directly accessed.</doc>
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="70"/>
    </record>
    <class name="Clone"
           c:symbol-prefix="clone"
           c:type="ClutterClone"
           parent="Actor"
           glib:type-name="ClutterClone"
           glib:get-type="clutter_clone_get_type"
           glib:type-struct="CloneClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-clone.c"
           line="24">An actor that displays a clone of a source actor

#ClutterClone is a [class@Clutter.Actor] which draws with the paint
function of another actor, scaled to fit its own allocation.

#ClutterClone can be used to efficiently clone any other actor.

#ClutterClone does not require the presence of support for FBOs
in the underlying GL or GLES implementation.</doc>
      <source-position filename="clutter/clutter/clutter-clone.h" line="45"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Animatable"/>
      <constructor name="new" c:identifier="clutter_clone_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-clone.c"
             line="379">Creates a new #ClutterActor which clones @source/</doc>
        <source-position filename="clutter/clutter/clutter-clone.h" line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-clone.c"
               line="385">the newly created #ClutterClone</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-clone.c"
                 line="381">a #ClutterActor, or %NULL</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_source"
              c:identifier="clutter_clone_get_source"
              glib:get-property="source">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-clone.c"
             line="451">Retrieves the source #ClutterActor being cloned by @self.</doc>
        <source-position filename="clutter/clutter/clutter-clone.h" line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-clone.c"
               line="457">the actor source for the clone</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-clone.c"
                 line="453">a #ClutterClone</doc>
            <type name="Clone" c:type="ClutterClone*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_source"
              c:identifier="clutter_clone_set_source"
              glib:set-property="source">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-clone.c"
             line="433">Sets @source as the source actor to be cloned by @self.</doc>
        <source-position filename="clutter/clutter/clutter-clone.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-clone.c"
                 line="435">a #ClutterClone</doc>
            <type name="Clone" c:type="ClutterClone*"/>
          </instance-parameter>
          <parameter name="source"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-clone.c"
                 line="436">a #ClutterActor, or %NULL</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <property name="source"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_source"
                getter="get_source">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-clone.c"
             line="355">This property specifies the source actor being cloned.</doc>
        <type name="Actor"/>
      </property>
      <field name="parent_instance">
        <type name="Actor" c:type="ClutterActor"/>
      </field>
    </class>
    <record name="CloneClass"
            c:type="ClutterCloneClass"
            glib:is-gtype-struct-for="Clone">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-clone.h"
           line="36">The #ClutterCloneClass structure contains only private data</doc>
      <source-position filename="clutter/clutter/clutter-clone.h" line="45"/>
      <field name="parent_class" readable="0" private="1">
        <type name="ActorClass" c:type="ClutterActorClass"/>
      </field>
    </record>
    <class name="ColorManager"
           c:symbol-prefix="color_manager"
           c:type="ClutterColorManager"
           parent="GObject.Object"
           final="1"
           glib:type-name="ClutterColorManager"
           glib:get-type="clutter_color_manager_get_type"
           glib:type-struct="ColorManagerClass">
      <source-position filename="clutter/clutter/clutter-color-manager.h"
                       line="33"/>
      <method name="get_default_color_state"
              c:identifier="clutter_color_manager_get_default_color_state"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-color-manager.h"
                         line="40"/>
        <return-value>
          <type name="ColorState" c:type="ClutterColorState*"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_manager" transfer-ownership="none">
            <type name="ColorManager" c:type="ClutterColorManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="context"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-color-manager.c"
             line="116">The associated ClutterContext.</doc>
        <type name="Context"/>
      </property>
    </class>
    <record name="ColorManagerClass"
            c:type="ClutterColorManagerClass"
            glib:is-gtype-struct-for="ColorManager">
      <source-position filename="clutter/clutter/clutter-color-manager.h"
                       line="33"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="ColorNode"
           c:symbol-prefix="color_node"
           c:type="ClutterColorNode"
           parent="PipelineNode"
           glib:type-name="ClutterColorNode"
           glib:get-type="clutter_color_node_get_type"
           glib:type-struct="ColorNodeClass"
           glib:fundamental="1">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="41"/>
      <constructor name="new" c:identifier="clutter_color_node_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-nodes.c"
             line="566">Creates a new #ClutterPaintNode that will paint a solid color
fill using @color.</doc>
        <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                         line="47"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-nodes.c"
               line="573">the newly created #ClutterPaintNode. Use
  clutter_paint_node_unref() when done</doc>
          <type name="PaintNode" c:type="ClutterPaintNode*"/>
        </return-value>
        <parameters>
          <parameter name="color"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-nodes.c"
                 line="568">the color to paint, or %NULL</doc>
            <type name="Cogl.Color" c:type="const CoglColor*"/>
          </parameter>
        </parameters>
      </constructor>
    </class>
    <record name="ColorNodeClass"
            c:type="ClutterColorNodeClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="ColorNode">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-paint-nodes.c"
           line="538">The `ClutterColorNodeClass` structure is an
opaque type whose members cannot be directly accessed.</doc>
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="41"/>
    </record>
    <class name="ColorState"
           c:symbol-prefix="color_state"
           c:type="ClutterColorState"
           parent="GObject.Object"
           glib:type-name="ClutterColorState"
           glib:get-type="clutter_color_state_get_type"
           glib:type-struct="ColorStateClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-color-state.c"
           line="27">Color state of each ClutterActor

The #ClutterColorState class contains the colorspace of each color
states (e.g. sRGB colorspace).

Each [class@Actor] would own such an object.

A single #ClutterColorState object can be shared by multiple [class@Actor]
or maybe a separate color state for each [class@Actor] (depending on whether
#ClutterColorState would be statefull or stateless).

#ClutterColorState, if not set during construction, it will default to sRGB
color state

The #ClutterColorState would have API to get the colorspace, whether the
actor content is in pq or not, and things like that</doc>
      <source-position filename="clutter/clutter/clutter-color-state.h"
                       line="98"/>
      <virtual-method name="append_transform_snippet">
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
          <parameter name="target_color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
          <parameter name="snippet_globals" transfer-ownership="none">
            <type name="GLib.String" c:type="GString*"/>
          </parameter>
          <parameter name="snippet_source" transfer-ownership="none">
            <type name="GLib.String" c:type="GString*"/>
          </parameter>
          <parameter name="snippet_color_var" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="do_transform_from_XYZ">
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state.h"
                 line="78">the #ClutterColorState</doc>
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state.h"
                 line="79">the given data</doc>
            <array zero-terminated="0" c:type="float*">
              <type name="gfloat" c:type="float"/>
            </array>
          </parameter>
          <parameter name="n_samples" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state.h"
                 line="80">the number of provided samples</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="do_transform_to_XYZ">
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state.h"
                 line="68">the #ClutterColorState</doc>
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state.h"
                 line="69">the given data</doc>
            <array zero-terminated="0" c:type="float*">
              <type name="gfloat" c:type="float"/>
            </array>
          </parameter>
          <parameter name="n_samples" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state.h"
                 line="70">the number of provided samples</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="equals" invoker="equals">
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
          <parameter name="other_color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_blending" invoker="get_blending">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-color-state.c"
             line="854">Retrieves a variant of @color_state that is suitable for blending. This
usually is a variant with linear transfer characteristics. If @color_state
already is a #ClutterColorState suitable for blending, then @color_state is
returned.

If @force is TRUE then linear transfer characteristics are used always.</doc>
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="96"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-color-state.c"
               line="866">the #ClutterColorState suitable for blending</doc>
          <type name="ColorState" c:type="ClutterColorState*"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state.c"
                 line="856">a #ClutterColorState</doc>
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
          <parameter name="force" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state.c"
                 line="857">if a linear variant should be forced</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="init_color_transform_key">
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
          <parameter name="target_color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="ColorStateTransformFlags"
                  c:type="ClutterColorStateTransformFlags"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="ColorTransformKey" c:type="ClutterColorTransformKey*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="needs_mapping" invoker="needs_mapping">
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="89"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
          <parameter name="target_color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="required_format" invoker="required_format">
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="94"/>
        <return-value transfer-ownership="none">
          <type name="EncodingRequiredFormat"
                c:type="ClutterEncodingRequiredFormat"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="to_string" invoker="to_string">
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="92"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="update_uniforms" invoker="update_uniforms">
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
          <parameter name="target_color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
          <parameter name="pipeline" transfer-ownership="none">
            <type name="Cogl.Pipeline" c:type="CoglPipeline*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_pipeline_transform"
              c:identifier="clutter_color_state_add_pipeline_transform">
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="107"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
          <parameter name="target_color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
          <parameter name="pipeline" transfer-ownership="none">
            <type name="Cogl.Pipeline" c:type="CoglPipeline*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="ColorStateTransformFlags"
                  c:type="ClutterColorStateTransformFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="do_transform"
              c:identifier="clutter_color_state_do_transform">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-color-state.c"
             line="722">Applies the transform to the given #ClutterColorState</doc>
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="118"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state.c"
                 line="724">a #ClutterColorState</doc>
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
          <parameter name="target_color_state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state.c"
                 line="725">the target a #ClutterColorState</doc>
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state.c"
                 line="726">The transform data</doc>
            <array zero-terminated="0" c:type="float*">
              <type name="gfloat" c:type="float"/>
            </array>
          </parameter>
          <parameter name="n_samples" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state.c"
                 line="727">The number of data samples</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="equals" c:identifier="clutter_color_state_equals">
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="124"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
          <parameter name="other_color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_blending"
              c:identifier="clutter_color_state_get_blending">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-color-state.c"
             line="854">Retrieves a variant of @color_state that is suitable for blending. This
usually is a variant with linear transfer characteristics. If @color_state
already is a #ClutterColorState suitable for blending, then @color_state is
returned.

If @force is TRUE then linear transfer characteristics are used always.</doc>
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="135"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-color-state.c"
               line="866">the #ClutterColorState suitable for blending</doc>
          <type name="ColorState" c:type="ClutterColorState*"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state.c"
                 line="856">a #ClutterColorState</doc>
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
          <parameter name="force" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state.c"
                 line="857">if a linear variant should be forced</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="clutter_color_state_get_id">
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="104"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="unsigned int"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="needs_mapping"
              c:identifier="clutter_color_state_needs_mapping">
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="128"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
          <parameter name="target_color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
        </parameters>
      </method>
      <method name="params_do_tone_mapping"
              c:identifier="clutter_color_state_params_do_tone_mapping">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-color-state-params.c"
             line="1966">Applies the tone mapping to the given #ClutterColorState</doc>
        <source-position filename="clutter/clutter/clutter-color-state-params.h"
                         line="188"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state-params.c"
                 line="1968">a #ClutterColorState</doc>
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
          <parameter name="other_color_state" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state-params.c"
                 line="1969">the other a #ClutterColorState</doc>
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state-params.c"
                 line="1970">The data</doc>
            <array zero-terminated="0" c:type="float*">
              <type name="gfloat" c:type="float"/>
            </array>
          </parameter>
          <parameter name="n_samples" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state-params.c"
                 line="1971">The number of data samples</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="required_format"
              c:identifier="clutter_color_state_required_format">
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="132"/>
        <return-value transfer-ownership="none">
          <type name="EncodingRequiredFormat"
                c:type="ClutterEncodingRequiredFormat"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="to_string" c:identifier="clutter_color_state_to_string">
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="101"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="update_uniforms"
              c:identifier="clutter_color_state_update_uniforms">
        <source-position filename="clutter/clutter/clutter-color-state.h"
                         line="113"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </instance-parameter>
          <parameter name="target_color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
          <parameter name="pipeline" transfer-ownership="none">
            <type name="Cogl.Pipeline" c:type="CoglPipeline*"/>
          </parameter>
        </parameters>
      </method>
      <property name="context"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-color-state.c"
             line="243">The associated ClutterContext.</doc>
        <type name="Context"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="ColorStateClass"
            c:type="ClutterColorStateClass"
            glib:is-gtype-struct-for="ColorState">
      <source-position filename="clutter/clutter/clutter-color-state.h"
                       line="98"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="init_color_transform_key">
        <callback name="init_color_transform_key">
          <source-position filename="clutter/clutter/clutter-color-state.h"
                           line="51"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="color_state" transfer-ownership="none">
              <type name="ColorState" c:type="ClutterColorState*"/>
            </parameter>
            <parameter name="target_color_state" transfer-ownership="none">
              <type name="ColorState" c:type="ClutterColorState*"/>
            </parameter>
            <parameter name="flags" transfer-ownership="none">
              <type name="ColorStateTransformFlags"
                    c:type="ClutterColorStateTransformFlags"/>
            </parameter>
            <parameter name="key" transfer-ownership="none">
              <type name="ColorTransformKey"
                    c:type="ClutterColorTransformKey*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="append_transform_snippet">
        <callback name="append_transform_snippet">
          <source-position filename="clutter/clutter/clutter-color-state.h"
                           line="56"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="color_state" transfer-ownership="none">
              <type name="ColorState" c:type="ClutterColorState*"/>
            </parameter>
            <parameter name="target_color_state" transfer-ownership="none">
              <type name="ColorState" c:type="ClutterColorState*"/>
            </parameter>
            <parameter name="snippet_globals" transfer-ownership="none">
              <type name="GLib.String" c:type="GString*"/>
            </parameter>
            <parameter name="snippet_source" transfer-ownership="none">
              <type name="GLib.String" c:type="GString*"/>
            </parameter>
            <parameter name="snippet_color_var" transfer-ownership="none">
              <type name="utf8" c:type="const char*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="update_uniforms">
        <callback name="update_uniforms">
          <source-position filename="clutter/clutter/clutter-color-state.h"
                           line="62"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="color_state" transfer-ownership="none">
              <type name="ColorState" c:type="ClutterColorState*"/>
            </parameter>
            <parameter name="target_color_state" transfer-ownership="none">
              <type name="ColorState" c:type="ClutterColorState*"/>
            </parameter>
            <parameter name="pipeline" transfer-ownership="none">
              <type name="Cogl.Pipeline" c:type="CoglPipeline*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="do_transform_to_XYZ">
        <callback name="do_transform_to_XYZ">
          <source-position filename="clutter/clutter/clutter-color-state.h"
                           line="72"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="color_state" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-color-state.h"
                   line="68">the #ClutterColorState</doc>
              <type name="ColorState" c:type="ClutterColorState*"/>
            </parameter>
            <parameter name="data" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-color-state.h"
                   line="69">the given data</doc>
              <array zero-terminated="0" c:type="float*">
                <type name="gfloat" c:type="float"/>
              </array>
            </parameter>
            <parameter name="n_samples" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-color-state.h"
                   line="70">the number of provided samples</doc>
              <type name="gint" c:type="int"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="do_transform_from_XYZ">
        <callback name="do_transform_from_XYZ">
          <source-position filename="clutter/clutter/clutter-color-state.h"
                           line="82"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="color_state" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-color-state.h"
                   line="78">the #ClutterColorState</doc>
              <type name="ColorState" c:type="ClutterColorState*"/>
            </parameter>
            <parameter name="data" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-color-state.h"
                   line="79">the given data</doc>
              <array zero-terminated="0" c:type="float*">
                <type name="gfloat" c:type="float"/>
              </array>
            </parameter>
            <parameter name="n_samples" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-color-state.h"
                   line="80">the number of provided samples</doc>
              <type name="gint" c:type="int"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="equals">
        <callback name="equals">
          <source-position filename="clutter/clutter/clutter-color-state.h"
                           line="86"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="color_state" transfer-ownership="none">
              <type name="ColorState" c:type="ClutterColorState*"/>
            </parameter>
            <parameter name="other_color_state" transfer-ownership="none">
              <type name="ColorState" c:type="ClutterColorState*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="needs_mapping">
        <callback name="needs_mapping">
          <source-position filename="clutter/clutter/clutter-color-state.h"
                           line="89"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="color_state" transfer-ownership="none">
              <type name="ColorState" c:type="ClutterColorState*"/>
            </parameter>
            <parameter name="target_color_state" transfer-ownership="none">
              <type name="ColorState" c:type="ClutterColorState*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="to_string">
        <callback name="to_string">
          <source-position filename="clutter/clutter/clutter-color-state.h"
                           line="92"/>
          <return-value transfer-ownership="full">
            <type name="utf8" c:type="char*"/>
          </return-value>
          <parameters>
            <parameter name="color_state" transfer-ownership="none">
              <type name="ColorState" c:type="ClutterColorState*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="required_format">
        <callback name="required_format">
          <source-position filename="clutter/clutter/clutter-color-state.h"
                           line="94"/>
          <return-value transfer-ownership="none">
            <type name="EncodingRequiredFormat"
                  c:type="ClutterEncodingRequiredFormat"/>
          </return-value>
          <parameters>
            <parameter name="color_state" transfer-ownership="none">
              <type name="ColorState" c:type="ClutterColorState*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_blending">
        <callback name="get_blending">
          <source-position filename="clutter/clutter/clutter-color-state.h"
                           line="96"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state.c"
                 line="866">the #ClutterColorState suitable for blending</doc>
            <type name="ColorState" c:type="ClutterColorState*"/>
          </return-value>
          <parameters>
            <parameter name="color_state" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-color-state.c"
                   line="856">a #ClutterColorState</doc>
              <type name="ColorState" c:type="ClutterColorState*"/>
            </parameter>
            <parameter name="force" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-color-state.c"
                   line="857">if a linear variant should be forced</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="ColorStateIcc"
           c:symbol-prefix="color_state_icc"
           c:type="ClutterColorStateIcc"
           parent="ColorState"
           glib:type-name="ClutterColorStateIcc"
           glib:get-type="clutter_color_state_icc_get_type"
           glib:type-struct="ColorStateIccClass">
      <source-position filename="clutter/clutter/clutter-color-state-icc.h"
                       line="31"/>
      <constructor name="new"
                   c:identifier="clutter_color_state_icc_new"
                   throws="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-color-state-icc.c"
             line="659">Create a new ClutterColorStateIcc object from an icc profile.</doc>
        <source-position filename="clutter/clutter/clutter-color-state-icc.h"
                         line="38"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-color-state-icc.c"
               line="664">A new ClutterColorState object.</doc>
          <type name="ColorState" c:type="ClutterColorState*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="ClutterContext*"/>
          </parameter>
          <parameter name="icc_bytes" transfer-ownership="none">
            <type name="guint8" c:type="const uint8_t*"/>
          </parameter>
          <parameter name="icc_length" transfer-ownership="none">
            <type name="guint32" c:type="uint32_t"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_file" c:identifier="clutter_color_state_icc_get_file">
        <source-position filename="clutter/clutter/clutter-color-state-icc.h"
                         line="44"/>
        <return-value transfer-ownership="none">
          <type name="Mtk.AnonymousFile" c:type="const MtkAnonymousFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state_icc" transfer-ownership="none">
            <type name="ColorStateIcc" c:type="ClutterColorStateIcc*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="ColorStateIccClass"
            c:type="ClutterColorStateIccClass"
            glib:is-gtype-struct-for="ColorStateIcc">
      <source-position filename="clutter/clutter/clutter-color-state-icc.h"
                       line="31"/>
      <field name="parent_class">
        <type name="ColorStateClass" c:type="ClutterColorStateClass"/>
      </field>
    </record>
    <class name="ColorStateParams"
           c:symbol-prefix="color_state_params"
           c:type="ClutterColorStateParams"
           parent="ColorState"
           glib:type-name="ClutterColorStateParams"
           glib:get-type="clutter_color_state_params_get_type"
           glib:type-struct="ColorStateParamsClass">
      <source-position filename="clutter/clutter/clutter-color-state-params.h"
                       line="138"/>
      <constructor name="new" c:identifier="clutter_color_state_params_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-color-state-params.c"
             line="2194">Create a new ClutterColorStateParams object.</doc>
        <source-position filename="clutter/clutter/clutter-color-state-params.h"
                         line="143"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-color-state-params.c"
               line="2199">A new ClutterColorState object.</doc>
          <type name="ColorState" c:type="ClutterColorState*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="ClutterContext*"/>
          </parameter>
          <parameter name="colorspace" transfer-ownership="none">
            <type name="Colorspace" c:type="ClutterColorspace"/>
          </parameter>
          <parameter name="transfer_function" transfer-ownership="none">
            <type name="TransferFunction" c:type="ClutterTransferFunction"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_cicp"
                   c:identifier="clutter_color_state_params_new_from_cicp"
                   throws="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-color-state-params.c"
             line="2411">Create a new ClutterColorState object from a cicp tuple.

See ITU-T H.273 for the specifications of the numbers in
the ClutterCicp struct.</doc>
        <source-position filename="clutter/clutter/clutter-color-state-params.h"
                         line="165"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-color-state-params.c"
               line="2422">A new ClutterColorState object.</doc>
          <type name="ColorState" c:type="ClutterColorState*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state-params.c"
                 line="2413">a  clutter context</doc>
            <type name="Context" c:type="ClutterContext*"/>
          </parameter>
          <parameter name="cicp" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-color-state-params.c"
                 line="2414">the cicp tuple</doc>
            <type name="Cicp" c:type="const ClutterCicp*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_primitives"
                   c:identifier="clutter_color_state_params_new_from_primitives">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-color-state-params.c"
             line="2279">Create a new ClutterColorState object using the color primitives.</doc>
        <source-position filename="clutter/clutter/clutter-color-state-params.h"
                         line="159"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-color-state-params.c"
               line="2284">A new ClutterColorState object.</doc>
          <type name="ColorState" c:type="ClutterColorState*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="ClutterContext*"/>
          </parameter>
          <parameter name="colorimetry" transfer-ownership="none">
            <type name="Colorimetry" c:type="ClutterColorimetry"/>
          </parameter>
          <parameter name="eotf" transfer-ownership="none">
            <type name="EOTF" c:type="ClutterEOTF"/>
          </parameter>
          <parameter name="luminance" transfer-ownership="none">
            <type name="Luminance" c:type="ClutterLuminance"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_full"
                   c:identifier="clutter_color_state_params_new_full">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-color-state-params.c"
             line="2212">Create a new ClutterColorStateParams object with all possible parameters.
Some arguments might not be valid to set with other arguments.</doc>
        <source-position filename="clutter/clutter/clutter-color-state-params.h"
                         line="148"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-color-state-params.c"
               line="2218">A new ClutterColorState object.</doc>
          <type name="ColorState" c:type="ClutterColorState*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="ClutterContext*"/>
          </parameter>
          <parameter name="colorspace" transfer-ownership="none">
            <type name="Colorspace" c:type="ClutterColorspace"/>
          </parameter>
          <parameter name="transfer_function" transfer-ownership="none">
            <type name="TransferFunction" c:type="ClutterTransferFunction"/>
          </parameter>
          <parameter name="primaries" transfer-ownership="none">
            <type name="Primaries" c:type="ClutterPrimaries*"/>
          </parameter>
          <parameter name="gamma_exp" transfer-ownership="none">
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="min_lum" transfer-ownership="none">
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="max_lum" transfer-ownership="none">
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="ref_lum" transfer-ownership="none">
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="ref_is_1_0" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_colorimetry"
              c:identifier="clutter_color_state_params_get_colorimetry">
        <source-position filename="clutter/clutter/clutter-color-state-params.h"
                         line="170"/>
        <return-value transfer-ownership="none">
          <type name="Colorimetry" c:type="const ClutterColorimetry*"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state_params"
                              transfer-ownership="none">
            <type name="ColorStateParams" c:type="ClutterColorStateParams*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_eotf"
              c:identifier="clutter_color_state_params_get_eotf">
        <source-position filename="clutter/clutter/clutter-color-state-params.h"
                         line="173"/>
        <return-value transfer-ownership="none">
          <type name="EOTF" c:type="const ClutterEOTF*"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state_params"
                              transfer-ownership="none">
            <type name="ColorStateParams" c:type="ClutterColorStateParams*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_luminance"
              c:identifier="clutter_color_state_params_get_luminance">
        <source-position filename="clutter/clutter/clutter-color-state-params.h"
                         line="176"/>
        <return-value transfer-ownership="none">
          <type name="Luminance" c:type="const ClutterLuminance*"/>
        </return-value>
        <parameters>
          <instance-parameter name="color_state_params"
                              transfer-ownership="none">
            <type name="ColorStateParams" c:type="ClutterColorStateParams*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="ColorStateParamsClass"
            c:type="ClutterColorStateParamsClass"
            glib:is-gtype-struct-for="ColorStateParams">
      <source-position filename="clutter/clutter/clutter-color-state-params.h"
                       line="138"/>
      <field name="parent_class">
        <type name="ColorStateClass" c:type="ClutterColorStateClass"/>
      </field>
    </record>
    <bitfield name="ColorStateTransformFlags"
              glib:type-name="ClutterColorStateTransformFlags"
              glib:get-type="clutter_color_state_transform_flags_get_type"
              c:type="ClutterColorStateTransformFlags">
      <member name="opaque"
              value="1"
              c:identifier="CLUTTER_COLOR_STATE_TRANSFORM_OPAQUE"
              glib:nick="opaque"
              glib:name="CLUTTER_COLOR_STATE_TRANSFORM_OPAQUE">
      </member>
    </bitfield>
    <record name="ColorTransformKey"
            c:type="ClutterColorTransformKey"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-types.h" line="76"/>
    </record>
    <record name="Colorimetry" c:type="ClutterColorimetry">
      <source-position filename="clutter/clutter/clutter-color-state-params.h"
                       line="83"/>
      <field name="type" writable="1" bits="1">
        <type name="ColorimetryType" c:type="ClutterColorimetryType"/>
      </field>
      <union>
        <source-position filename="clutter/clutter/clutter-color-state-params.h"
                         line="82"/>
        <field name="colorspace" writable="1">
          <type name="Colorspace" c:type="ClutterColorspace"/>
        </field>
        <field name="primaries" writable="1">
          <type name="Primaries" c:type="ClutterPrimaries*"/>
        </field>
      </union>
    </record>
    <enumeration name="ColorimetryType"
                 glib:type-name="ClutterColorimetryType"
                 glib:get-type="clutter_colorimetry_type_get_type"
                 c:type="ClutterColorimetryType">
      <member name="colorspace"
              value="0"
              c:identifier="CLUTTER_COLORIMETRY_TYPE_COLORSPACE"
              glib:nick="colorspace"
              glib:name="CLUTTER_COLORIMETRY_TYPE_COLORSPACE">
      </member>
      <member name="primaries"
              value="1"
              c:identifier="CLUTTER_COLORIMETRY_TYPE_PRIMARIES"
              glib:nick="primaries"
              glib:name="CLUTTER_COLORIMETRY_TYPE_PRIMARIES">
      </member>
    </enumeration>
    <class name="ColorizeEffect"
           c:symbol-prefix="colorize_effect"
           c:type="ClutterColorizeEffect"
           parent="OffscreenEffect"
           glib:type-name="ClutterColorizeEffect"
           glib:get-type="clutter_colorize_effect_get_type"
           glib:type-struct="ColorizeEffectClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-colorize-effect.c"
           line="25">A colorization effect

#ClutterColorizeEffect is a sub-class of #ClutterEffect that
colorizes an actor with the given tint.</doc>
      <source-position filename="clutter/clutter/clutter-colorize-effect.h"
                       line="50"/>
      <constructor name="new" c:identifier="clutter_colorize_effect_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-colorize-effect.c"
             line="239">Creates a new #ClutterColorizeEffect to be used with
[method@Clutter.Actor.add_effect]</doc>
        <source-position filename="clutter/clutter/clutter-colorize-effect.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-colorize-effect.c"
               line="246">the newly created #ClutterColorizeEffect or %NULL</doc>
          <type name="Effect" c:type="ClutterEffect*"/>
        </return-value>
        <parameters>
          <parameter name="tint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-colorize-effect.c"
                 line="241">the color to be used</doc>
            <type name="Cogl.Color" c:type="const CoglColor*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_tint"
              c:identifier="clutter_colorize_effect_get_tint"
              glib:get-property="tint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-colorize-effect.c"
             line="281">Retrieves the tint used by @effect</doc>
        <source-position filename="clutter/clutter/clutter-colorize-effect.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-colorize-effect.c"
                 line="283">a #ClutterColorizeEffect</doc>
            <type name="ColorizeEffect" c:type="ClutterColorizeEffect*"/>
          </instance-parameter>
          <parameter name="tint"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-colorize-effect.c"
                 line="284">return location for the color used</doc>
            <type name="Cogl.Color" c:type="CoglColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tint"
              c:identifier="clutter_colorize_effect_set_tint"
              glib:set-property="tint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-colorize-effect.c"
             line="256">Sets the tint to be used when colorizing</doc>
        <source-position filename="clutter/clutter/clutter-colorize-effect.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-colorize-effect.c"
                 line="258">a #ClutterColorizeEffect</doc>
            <type name="ColorizeEffect" c:type="ClutterColorizeEffect*"/>
          </instance-parameter>
          <parameter name="tint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-colorize-effect.c"
                 line="259">the color to be used</doc>
            <type name="Cogl.Color" c:type="const CoglColor*"/>
          </parameter>
        </parameters>
      </method>
      <property name="tint"
                writable="1"
                transfer-ownership="none"
                setter="set_tint"
                getter="get_tint"
                default-value="#ffcc99ff">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-colorize-effect.c"
             line="169">The tint to apply to the actor</doc>
        <type name="Cogl.Color"/>
      </property>
      <field name="parent_instance">
        <type name="OffscreenEffect" c:type="ClutterOffscreenEffect"/>
      </field>
    </class>
    <record name="ColorizeEffectClass"
            c:type="ClutterColorizeEffectClass"
            glib:is-gtype-struct-for="ColorizeEffect">
      <source-position filename="clutter/clutter/clutter-colorize-effect.h"
                       line="50"/>
      <field name="parent_class">
        <type name="OffscreenEffectClass"
              c:type="ClutterOffscreenEffectClass"/>
      </field>
      <field name="base_pipeline">
        <type name="Cogl.Pipeline" c:type="CoglPipeline*"/>
      </field>
    </record>
    <enumeration name="Colorspace"
                 glib:type-name="ClutterColorspace"
                 glib:get-type="clutter_colorspace_get_type"
                 c:type="ClutterColorspace">
      <member name="srgb"
              value="0"
              c:identifier="CLUTTER_COLORSPACE_SRGB"
              glib:nick="srgb"
              glib:name="CLUTTER_COLORSPACE_SRGB">
      </member>
      <member name="bt2020"
              value="1"
              c:identifier="CLUTTER_COLORSPACE_BT2020"
              glib:nick="bt2020"
              glib:name="CLUTTER_COLORSPACE_BT2020">
      </member>
      <member name="ntsc"
              value="2"
              c:identifier="CLUTTER_COLORSPACE_NTSC"
              glib:nick="ntsc"
              glib:name="CLUTTER_COLORSPACE_NTSC">
      </member>
      <member name="pal"
              value="3"
              c:identifier="CLUTTER_COLORSPACE_PAL"
              glib:nick="pal"
              glib:name="CLUTTER_COLORSPACE_PAL">
      </member>
      <member name="p3"
              value="4"
              c:identifier="CLUTTER_COLORSPACE_P3"
              glib:nick="p3"
              glib:name="CLUTTER_COLORSPACE_P3">
      </member>
      <function name="to_primaries"
                c:identifier="clutter_colorspace_to_primaries">
        <source-position filename="clutter/clutter/clutter-color-state-params.h"
                         line="182"/>
        <return-value transfer-ownership="none">
          <type name="Primaries" c:type="const ClutterPrimaries*"/>
        </return-value>
        <parameters>
          <parameter name="colorspace" transfer-ownership="none">
            <type name="Colorspace" c:type="ClutterColorspace"/>
          </parameter>
        </parameters>
      </function>
    </enumeration>
    <class name="Constraint"
           c:symbol-prefix="constraint"
           c:type="ClutterConstraint"
           parent="ActorMeta"
           abstract="1"
           glib:type-name="ClutterConstraint"
           glib:get-type="clutter_constraint_get_type"
           glib:type-struct="ConstraintClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-constraint.c"
           line="25">Abstract class for constraints on position or size

#ClutterConstraint is a base abstract class for modifiers of a #ClutterActor
position or size.

A #ClutterConstraint sub-class should contain the logic for modifying
the position or size of the #ClutterActor to which it is applied, by
updating the actor's allocation. Each #ClutterConstraint can change the
allocation of the actor to which they are applied by overriding the
[vfunc@Clutter.Constraint.update_allocation] virtual function.

## Using Constraints

Constraints can be used with fixed layout managers, like
#ClutterFixedLayout, or with actors implicitly using a fixed layout
manager, like #ClutterGroup and #ClutterStage.

Constraints provide a way to build user interfaces by using
relations between #ClutterActors, without explicit fixed
positioning and sizing, similarly to how fluid layout managers like
#ClutterBoxLayout lay out their children.

Constraints are attached to a #ClutterActor, and are available
for inspection using [method@Clutter.Actor.get_constraints].

Clutter provides different implementation of the #ClutterConstraint
abstract class, for instance:

 - #ClutterAlignConstraint, a constraint that can be used to align
 an actor to another one on either the horizontal or the vertical
 axis, using a normalized value between 0 and 1.
 - #ClutterBindConstraint, a constraint binds the X, Y, width or height
 of an actor to the corresponding position or size of a source actor,
 with or without an offset.
 - #ClutterSnapConstraint, a constraint that "snaps" together the edges
 of two #ClutterActors; if an actor uses two constraints on both its
 horizontal or vertical edges then it can also expand to fit the empty
 space.

It is important to note that Clutter does not avoid loops or
competing constraints; if two or more #ClutterConstraints
are operating on the same positional or dimensional attributes of an
actor, or if the constraints on two different actors depend on each
other, then the behavior is undefined.

## Implementing a ClutterConstraint

Creating a sub-class of #ClutterConstraint requires the
implementation of the [vfunc@Clutter.Constraint.update_allocation]
virtual function.

The `update_allocation()` virtual function is called during the
allocation sequence of a #ClutterActor, and allows any #ClutterConstraint
attached to that actor to modify the allocation before it is passed to
the actor's #ClutterActorClass.allocate() implementation.

The #ClutterActorBox passed to the `update_allocation()` implementation
contains the original allocation of the #ClutterActor, plus the eventual
modifications applied by the other #ClutterConstraints, in the same order
the constraints have been applied to the actor.

It is not necessary for a #ClutterConstraint sub-class to chain
up to the parent's implementation.

If a #ClutterConstraint is parametrized - i.e. if it contains
properties that affect the way the constraint is implemented - it should
call clutter_actor_queue_relayout() on the actor to which it is attached
to whenever any parameter is changed. The actor to which it is attached
can be recovered at any point using clutter_actor_meta_get_actor().</doc>
      <source-position filename="clutter/clutter/clutter-constraint.h"
                       line="71"/>
      <virtual-method name="update_allocation">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-constraint.h"
             line="46">virtual function used to update the allocation
  of the #ClutterActor using the #ClutterConstraint</doc>
        <source-position filename="clutter/clutter/clutter-constraint.h"
                         line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="constraint" transfer-ownership="none">
            <type name="Constraint" c:type="ClutterConstraint*"/>
          </instance-parameter>
          <parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="allocation" transfer-ownership="none">
            <type name="ActorBox" c:type="ClutterActorBox*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="update_preferred_size"
                      invoker="update_preferred_size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-constraint.c"
             line="191">Asks the @constraint to update the size request of a #ClutterActor.</doc>
        <source-position filename="clutter/clutter/clutter-constraint.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="constraint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-constraint.c"
                 line="193">a #ClutterConstraint</doc>
            <type name="Constraint" c:type="ClutterConstraint*"/>
          </instance-parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-constraint.c"
                 line="194">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="direction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-constraint.c"
                 line="195">a #ClutterOrientation</doc>
            <type name="Orientation" c:type="ClutterOrientation"/>
          </parameter>
          <parameter name="for_size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-constraint.c"
                 line="196">the size in the opposite direction</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="minimum_size"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-constraint.c"
                 line="197">the minimum size to modify</doc>
            <type name="gfloat" c:type="float*"/>
          </parameter>
          <parameter name="natural_size"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-constraint.c"
                 line="198">the natural size to modify</doc>
            <type name="gfloat" c:type="float*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="update_preferred_size"
              c:identifier="clutter_constraint_update_preferred_size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-constraint.c"
             line="191">Asks the @constraint to update the size request of a #ClutterActor.</doc>
        <source-position filename="clutter/clutter/clutter-constraint.h"
                         line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="constraint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-constraint.c"
                 line="193">a #ClutterConstraint</doc>
            <type name="Constraint" c:type="ClutterConstraint*"/>
          </instance-parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-constraint.c"
                 line="194">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="direction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-constraint.c"
                 line="195">a #ClutterOrientation</doc>
            <type name="Orientation" c:type="ClutterOrientation"/>
          </parameter>
          <parameter name="for_size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-constraint.c"
                 line="196">the size in the opposite direction</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="minimum_size"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-constraint.c"
                 line="197">the minimum size to modify</doc>
            <type name="gfloat" c:type="float*"/>
          </parameter>
          <parameter name="natural_size"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-constraint.c"
                 line="198">the natural size to modify</doc>
            <type name="gfloat" c:type="float*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="ActorMeta" c:type="ClutterActorMeta"/>
      </field>
    </class>
    <record name="ConstraintClass"
            c:type="ClutterConstraintClass"
            glib:is-gtype-struct-for="Constraint">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-constraint.h"
           line="44">The #ClutterConstraintClass structure contains
only private data</doc>
      <source-position filename="clutter/clutter/clutter-constraint.h"
                       line="71"/>
      <field name="parent_class" readable="0" private="1">
        <type name="ActorMetaClass" c:type="ClutterActorMetaClass"/>
      </field>
      <field name="update_allocation">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-constraint.h"
             line="46">virtual function used to update the allocation
  of the #ClutterActor using the #ClutterConstraint</doc>
        <callback name="update_allocation">
          <source-position filename="clutter/clutter/clutter-constraint.h"
                           line="61"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="constraint" transfer-ownership="none">
              <type name="Constraint" c:type="ClutterConstraint*"/>
            </parameter>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="allocation" transfer-ownership="none">
              <type name="ActorBox" c:type="ClutterActorBox*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="update_preferred_size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-constraint.h"
             line="48">virtual function used to update the preferred
  size of the #ClutterActor using the #ClutterConstraint; optional,
  since 1.22</doc>
        <callback name="update_preferred_size">
          <source-position filename="clutter/clutter/clutter-constraint.h"
                           line="65"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="constraint" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-constraint.c"
                   line="193">a #ClutterConstraint</doc>
              <type name="Constraint" c:type="ClutterConstraint*"/>
            </parameter>
            <parameter name="actor" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-constraint.c"
                   line="194">a #ClutterActor</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="direction" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-constraint.c"
                   line="195">a #ClutterOrientation</doc>
              <type name="Orientation" c:type="ClutterOrientation"/>
            </parameter>
            <parameter name="for_size" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-constraint.c"
                   line="196">the size in the opposite direction</doc>
              <type name="gfloat" c:type="float"/>
            </parameter>
            <parameter name="minimum_size"
                       direction="inout"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-constraint.c"
                   line="197">the minimum size to modify</doc>
              <type name="gfloat" c:type="float*"/>
            </parameter>
            <parameter name="natural_size"
                       direction="inout"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-constraint.c"
                   line="198">the natural size to modify</doc>
              <type name="gfloat" c:type="float*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Content"
               c:symbol-prefix="content"
               c:type="ClutterContent"
               glib:type-name="ClutterContent"
               glib:get-type="clutter_content_get_type"
               glib:type-struct="ContentInterface">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-content.c"
           line="25">Delegate for painting the content of an actor

#ClutterContent is an interface to implement types responsible for
painting the content of a [class@Actor].

Multiple actors can use the same #ClutterContent instance, in order
to share the resources associated with painting the same content..</doc>
      <source-position filename="clutter/clutter/clutter-content.h" line="78"/>
      <virtual-method name="attached">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-content.h"
             line="46">virtual function; called each time a #ClutterContent is attached
  to a #ClutterActor.</doc>
        <source-position filename="clutter/clutter/clutter-content.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="content" transfer-ownership="none">
            <type name="Content" c:type="ClutterContent*"/>
          </instance-parameter>
          <parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="detached">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-content.h"
             line="48">virtual function; called each time a #ClutterContent is detached
  from a #ClutterActor.</doc>
        <source-position filename="clutter/clutter/clutter-content.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="content" transfer-ownership="none">
            <type name="Content" c:type="ClutterContent*"/>
          </instance-parameter>
          <parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_preferred_size" invoker="get_preferred_size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-content.c"
             line="314">Retrieves the natural size of the @content, if any.

The natural size of a #ClutterContent is defined as the size the content
would have regardless of the allocation of the actor that is painting it,
for instance the size of an image data.</doc>
        <source-position filename="clutter/clutter/clutter-content.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-content.c"
               line="326">%TRUE if the content has a preferred size, and %FALSE
  otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="content" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-content.c"
                 line="316">a #ClutterContent</doc>
            <type name="Content" c:type="ClutterContent*"/>
          </instance-parameter>
          <parameter name="width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-content.c"
                 line="317">return location for the natural width of the content</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-content.c"
                 line="318">return location for the natural height of the content</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="invalidate" invoker="invalidate">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-content.c"
             line="151">Invalidates a #ClutterContent.

This function should be called by #ClutterContent implementations when
they change the way a the content should be painted regardless of the
actor state.</doc>
        <source-position filename="clutter/clutter/clutter-content.h"
                         line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="content" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-content.c"
                 line="153">a #ClutterContent</doc>
            <type name="Content" c:type="ClutterContent*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="invalidate_size" invoker="invalidate_size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-content.c"
             line="187">Signals that @content's size changed. Attached actors with request mode
set to %CLUTTER_REQUEST_CONTENT_SIZE will have a relayout queued.

Attached actors with other request modes are not redrawn. To redraw them
too, use [method@Clutter.Content.invalidate].</doc>
        <source-position filename="clutter/clutter/clutter-content.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="content" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-content.c"
                 line="189">a #ClutterContent</doc>
            <type name="Content" c:type="ClutterContent*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="paint_content">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-content.h"
             line="44">virtual function; called each time the content needs to
  paint itself</doc>
        <source-position filename="clutter/clutter/clutter-content.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="content" transfer-ownership="none">
            <type name="Content" c:type="ClutterContent*"/>
          </instance-parameter>
          <parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="node" transfer-ownership="none">
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </parameter>
          <parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_preferred_size"
              c:identifier="clutter_content_get_preferred_size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-content.c"
             line="314">Retrieves the natural size of the @content, if any.

The natural size of a #ClutterContent is defined as the size the content
would have regardless of the allocation of the actor that is painting it,
for instance the size of an image data.</doc>
        <source-position filename="clutter/clutter/clutter-content.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-content.c"
               line="326">%TRUE if the content has a preferred size, and %FALSE
  otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="content" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-content.c"
                 line="316">a #ClutterContent</doc>
            <type name="Content" c:type="ClutterContent*"/>
          </instance-parameter>
          <parameter name="width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-content.c"
                 line="317">return location for the natural width of the content</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-content.c"
                 line="318">return location for the natural height of the content</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="invalidate" c:identifier="clutter_content_invalidate">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-content.c"
             line="151">Invalidates a #ClutterContent.

This function should be called by #ClutterContent implementations when
they change the way a the content should be painted regardless of the
actor state.</doc>
        <source-position filename="clutter/clutter/clutter-content.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="content" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-content.c"
                 line="153">a #ClutterContent</doc>
            <type name="Content" c:type="ClutterContent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="invalidate_size"
              c:identifier="clutter_content_invalidate_size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-content.c"
             line="187">Signals that @content's size changed. Attached actors with request mode
set to %CLUTTER_REQUEST_CONTENT_SIZE will have a relayout queued.

Attached actors with other request modes are not redrawn. To redraw them
too, use [method@Clutter.Content.invalidate].</doc>
        <source-position filename="clutter/clutter/clutter-content.h"
                         line="88"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="content" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-content.c"
                 line="189">a #ClutterContent</doc>
            <type name="Content" c:type="ClutterContent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <glib:signal name="attached" when="first">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-content.c"
             line="116">This signal is emitted each time a #ClutterContent implementation is
assigned to a #ClutterActor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-content.c"
                 line="119">a #ClutterActor</doc>
            <type name="Actor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="detached" when="first">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-content.c"
             line="133">This signal is emitted each time a #ClutterContent implementation is
removed from a #ClutterActor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-content.c"
                 line="136">a #ClutterActor</doc>
            <type name="Actor"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <enumeration name="ContentGravity"
                 glib:type-name="ClutterContentGravity"
                 glib:get-type="clutter_content_gravity_get_type"
                 c:type="ClutterContentGravity">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="822">Controls the alignment of the #ClutterContent inside a #ClutterActor.</doc>
      <member name="top_left"
              value="0"
              c:identifier="CLUTTER_CONTENT_GRAVITY_TOP_LEFT"
              glib:nick="top-left"
              glib:name="CLUTTER_CONTENT_GRAVITY_TOP_LEFT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="824">Align the content to the top left corner</doc>
      </member>
      <member name="top"
              value="1"
              c:identifier="CLUTTER_CONTENT_GRAVITY_TOP"
              glib:nick="top"
              glib:name="CLUTTER_CONTENT_GRAVITY_TOP">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="825">Align the content to the top edge</doc>
      </member>
      <member name="top_right"
              value="2"
              c:identifier="CLUTTER_CONTENT_GRAVITY_TOP_RIGHT"
              glib:nick="top-right"
              glib:name="CLUTTER_CONTENT_GRAVITY_TOP_RIGHT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="826">Align the content to the top right corner</doc>
      </member>
      <member name="left"
              value="3"
              c:identifier="CLUTTER_CONTENT_GRAVITY_LEFT"
              glib:nick="left"
              glib:name="CLUTTER_CONTENT_GRAVITY_LEFT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="827">Align the content to the left edge</doc>
      </member>
      <member name="center"
              value="4"
              c:identifier="CLUTTER_CONTENT_GRAVITY_CENTER"
              glib:nick="center"
              glib:name="CLUTTER_CONTENT_GRAVITY_CENTER">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="828">Align the content to the center</doc>
      </member>
      <member name="right"
              value="5"
              c:identifier="CLUTTER_CONTENT_GRAVITY_RIGHT"
              glib:nick="right"
              glib:name="CLUTTER_CONTENT_GRAVITY_RIGHT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="829">Align the content to the right edge</doc>
      </member>
      <member name="bottom_left"
              value="6"
              c:identifier="CLUTTER_CONTENT_GRAVITY_BOTTOM_LEFT"
              glib:nick="bottom-left"
              glib:name="CLUTTER_CONTENT_GRAVITY_BOTTOM_LEFT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="830">Align the content to the bottom left corner</doc>
      </member>
      <member name="bottom"
              value="7"
              c:identifier="CLUTTER_CONTENT_GRAVITY_BOTTOM"
              glib:nick="bottom"
              glib:name="CLUTTER_CONTENT_GRAVITY_BOTTOM">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="831">Align the content to the bottom edge</doc>
      </member>
      <member name="bottom_right"
              value="8"
              c:identifier="CLUTTER_CONTENT_GRAVITY_BOTTOM_RIGHT"
              glib:nick="bottom-right"
              glib:name="CLUTTER_CONTENT_GRAVITY_BOTTOM_RIGHT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="832">Align the content to the bottom right corner</doc>
      </member>
      <member name="resize_fill"
              value="9"
              c:identifier="CLUTTER_CONTENT_GRAVITY_RESIZE_FILL"
              glib:nick="resize-fill"
              glib:name="CLUTTER_CONTENT_GRAVITY_RESIZE_FILL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="833">Resize the content to fill the allocation</doc>
      </member>
      <member name="resize_aspect"
              value="10"
              c:identifier="CLUTTER_CONTENT_GRAVITY_RESIZE_ASPECT"
              glib:nick="resize-aspect"
              glib:name="CLUTTER_CONTENT_GRAVITY_RESIZE_ASPECT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="834">Resize the content to remain within the
  allocation, while maintaining the aspect ratio</doc>
      </member>
    </enumeration>
    <record name="ContentInterface"
            c:type="ClutterContentInterface"
            glib:is-gtype-struct-for="Content">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-content.h"
           line="40">The #ClutterContentInterface structure contains only
private data.</doc>
      <source-position filename="clutter/clutter/clutter-content.h" line="78"/>
      <field name="g_iface" readable="0" private="1">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="get_preferred_size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-content.h"
             line="42">virtual function; should be overridden by subclasses
  of #ClutterContent that have a natural size</doc>
        <callback name="get_preferred_size">
          <source-position filename="clutter/clutter/clutter-content.h"
                           line="62"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-content.c"
                 line="326">%TRUE if the content has a preferred size, and %FALSE
  otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="content" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-content.c"
                   line="316">a #ClutterContent</doc>
              <type name="Content" c:type="ClutterContent*"/>
            </parameter>
            <parameter name="width"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full"
                       optional="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-content.c"
                   line="317">return location for the natural width of the content</doc>
              <type name="gfloat" c:type="gfloat*"/>
            </parameter>
            <parameter name="height"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full"
                       optional="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-content.c"
                   line="318">return location for the natural height of the content</doc>
              <type name="gfloat" c:type="gfloat*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="paint_content">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-content.h"
             line="44">virtual function; called each time the content needs to
  paint itself</doc>
        <callback name="paint_content">
          <source-position filename="clutter/clutter/clutter-content.h"
                           line="65"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="content" transfer-ownership="none">
              <type name="Content" c:type="ClutterContent*"/>
            </parameter>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="node" transfer-ownership="none">
              <type name="PaintNode" c:type="ClutterPaintNode*"/>
            </parameter>
            <parameter name="paint_context" transfer-ownership="none">
              <type name="PaintContext" c:type="ClutterPaintContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="attached">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-content.h"
             line="46">virtual function; called each time a #ClutterContent is attached
  to a #ClutterActor.</doc>
        <callback name="attached">
          <source-position filename="clutter/clutter/clutter-content.h"
                           line="70"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="content" transfer-ownership="none">
              <type name="Content" c:type="ClutterContent*"/>
            </parameter>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="detached">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-content.h"
             line="48">virtual function; called each time a #ClutterContent is detached
  from a #ClutterActor.</doc>
        <callback name="detached">
          <source-position filename="clutter/clutter/clutter-content.h"
                           line="72"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="content" transfer-ownership="none">
              <type name="Content" c:type="ClutterContent*"/>
            </parameter>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="invalidate">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-content.h"
             line="50">virtual function; called each time a #ClutterContent state
  is changed.</doc>
        <callback name="invalidate">
          <source-position filename="clutter/clutter/clutter-content.h"
                           line="75"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="content" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-content.c"
                   line="153">a #ClutterContent</doc>
              <type name="Content" c:type="ClutterContent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="invalidate_size">
        <callback name="invalidate_size">
          <source-position filename="clutter/clutter/clutter-content.h"
                           line="77"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="content" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-content.c"
                   line="189">a #ClutterContent</doc>
              <type name="Content" c:type="ClutterContent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <bitfield name="ContentRepeat"
              glib:type-name="ClutterContentRepeat"
              glib:get-type="clutter_content_repeat_get_type"
              c:type="ClutterContentRepeat">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="905">Content repeat modes.</doc>
      <member name="none"
              value="0"
              c:identifier="CLUTTER_REPEAT_NONE"
              glib:nick="none"
              glib:name="CLUTTER_REPEAT_NONE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="907">No repeat</doc>
      </member>
      <member name="x_axis"
              value="1"
              c:identifier="CLUTTER_REPEAT_X_AXIS"
              glib:nick="x-axis"
              glib:name="CLUTTER_REPEAT_X_AXIS">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="908">Repeat the content on the X axis</doc>
      </member>
      <member name="y_axis"
              value="2"
              c:identifier="CLUTTER_REPEAT_Y_AXIS"
              glib:nick="y-axis"
              glib:name="CLUTTER_REPEAT_Y_AXIS">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="909">Repeat the content on the Y axis</doc>
      </member>
      <member name="both"
              value="3"
              c:identifier="CLUTTER_REPEAT_BOTH"
              glib:nick="both"
              glib:name="CLUTTER_REPEAT_BOTH">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="910">Repeat the content on both axis</doc>
      </member>
    </bitfield>
    <class name="Context"
           c:symbol-prefix="context"
           c:type="ClutterContext"
           parent="GObject.Object"
           glib:type-name="ClutterContext"
           glib:get-type="clutter_context_get_type"
           glib:type-struct="ContextClass">
      <source-position filename="clutter/clutter/clutter-context.h" line="30"/>
      <constructor name="new"
                   c:identifier="clutter_context_new"
                   introspectable="0"
                   throws="1">
        <source-position filename="clutter/clutter/clutter-context.h"
                         line="36"/>
        <return-value transfer-ownership="full">
          <type name="Context" c:type="ClutterContext*"/>
        </return-value>
        <parameters>
          <parameter name="backend_constructor"
                     transfer-ownership="none"
                     closure="1">
            <type name="BackendConstructor"
                  c:type="ClutterBackendConstructor"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="destroy"
              c:identifier="clutter_context_destroy"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-context.h"
                         line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="ClutterContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_backend" c:identifier="clutter_context_get_backend">
        <source-position filename="clutter/clutter/clutter-context.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-context.h"
               line="49">The %ClutterBackend</doc>
          <type name="Backend" c:type="ClutterBackend*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="ClutterContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_color_manager"
              c:identifier="clutter_context_get_color_manager">
        <source-position filename="clutter/clutter/clutter-context.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-context.h"
               line="62">The %ClutterColorManager</doc>
          <type name="ColorManager" c:type="ClutterColorManager*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="ClutterContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pipeline_cache"
              c:identifier="clutter_context_get_pipeline_cache"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-context.h"
                         line="57"/>
        <return-value>
          <type name="PipelineCache" c:type="ClutterPipelineCache*"/>
        </return-value>
        <parameters>
          <instance-parameter name="clutter_context" transfer-ownership="none">
            <type name="Context" c:type="ClutterContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_settings" c:identifier="clutter_context_get_settings">
        <source-position filename="clutter/clutter/clutter-context.h"
                         line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-context.h"
               line="70">The %ClutterSettings</doc>
          <type name="Settings" c:type="ClutterSettings*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="ClutterContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_text_direction"
              c:identifier="clutter_context_get_text_direction">
        <source-position filename="clutter/clutter/clutter-context.h"
                         line="54"/>
        <return-value transfer-ownership="none">
          <type name="TextDirection" c:type="ClutterTextDirection"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="ClutterContext*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="ContextClass"
            c:type="ClutterContextClass"
            glib:is-gtype-struct-for="Context">
      <source-position filename="clutter/clutter/clutter-context.h" line="30"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="CrossingEvent"
            c:type="ClutterCrossingEvent"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-event.h" line="100"/>
    </record>
    <function-macro name="DEPRECATED_FOR"
                    c:identifier="CLUTTER_DEPRECATED_FOR"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-macros.h" line="60"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_MACRO_FOR"
                    c:identifier="CLUTTER_DEPRECATED_MACRO_FOR"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-macros.h" line="62"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <bitfield name="DebugFlag"
              glib:type-name="ClutterDebugFlag"
              glib:get-type="clutter_debug_flag_get_type"
              c:type="ClutterDebugFlag">
      <member name="misc"
              value="1"
              c:identifier="CLUTTER_DEBUG_MISC"
              glib:nick="misc"
              glib:name="CLUTTER_DEBUG_MISC">
      </member>
      <member name="actor"
              value="2"
              c:identifier="CLUTTER_DEBUG_ACTOR"
              glib:nick="actor"
              glib:name="CLUTTER_DEBUG_ACTOR">
      </member>
      <member name="texture"
              value="4"
              c:identifier="CLUTTER_DEBUG_TEXTURE"
              glib:nick="texture"
              glib:name="CLUTTER_DEBUG_TEXTURE">
      </member>
      <member name="event"
              value="8"
              c:identifier="CLUTTER_DEBUG_EVENT"
              glib:nick="event"
              glib:name="CLUTTER_DEBUG_EVENT">
      </member>
      <member name="paint"
              value="16"
              c:identifier="CLUTTER_DEBUG_PAINT"
              glib:nick="paint"
              glib:name="CLUTTER_DEBUG_PAINT">
      </member>
      <member name="pango"
              value="32"
              c:identifier="CLUTTER_DEBUG_PANGO"
              glib:nick="pango"
              glib:name="CLUTTER_DEBUG_PANGO">
      </member>
      <member name="backend"
              value="64"
              c:identifier="CLUTTER_DEBUG_BACKEND"
              glib:nick="backend"
              glib:name="CLUTTER_DEBUG_BACKEND">
      </member>
      <member name="scheduler"
              value="128"
              c:identifier="CLUTTER_DEBUG_SCHEDULER"
              glib:nick="scheduler"
              glib:name="CLUTTER_DEBUG_SCHEDULER">
      </member>
      <member name="script"
              value="256"
              c:identifier="CLUTTER_DEBUG_SCRIPT"
              glib:nick="script"
              glib:name="CLUTTER_DEBUG_SCRIPT">
      </member>
      <member name="shader"
              value="512"
              c:identifier="CLUTTER_DEBUG_SHADER"
              glib:nick="shader"
              glib:name="CLUTTER_DEBUG_SHADER">
      </member>
      <member name="multistage"
              value="1024"
              c:identifier="CLUTTER_DEBUG_MULTISTAGE"
              glib:nick="multistage"
              glib:name="CLUTTER_DEBUG_MULTISTAGE">
      </member>
      <member name="animation"
              value="2048"
              c:identifier="CLUTTER_DEBUG_ANIMATION"
              glib:nick="animation"
              glib:name="CLUTTER_DEBUG_ANIMATION">
      </member>
      <member name="layout"
              value="4096"
              c:identifier="CLUTTER_DEBUG_LAYOUT"
              glib:nick="layout"
              glib:name="CLUTTER_DEBUG_LAYOUT">
      </member>
      <member name="pick"
              value="8192"
              c:identifier="CLUTTER_DEBUG_PICK"
              glib:nick="pick"
              glib:name="CLUTTER_DEBUG_PICK">
      </member>
      <member name="eventloop"
              value="16384"
              c:identifier="CLUTTER_DEBUG_EVENTLOOP"
              glib:nick="eventloop"
              glib:name="CLUTTER_DEBUG_EVENTLOOP">
      </member>
      <member name="clipping"
              value="32768"
              c:identifier="CLUTTER_DEBUG_CLIPPING"
              glib:nick="clipping"
              glib:name="CLUTTER_DEBUG_CLIPPING">
      </member>
      <member name="oob_transforms"
              value="65536"
              c:identifier="CLUTTER_DEBUG_OOB_TRANSFORMS"
              glib:nick="oob-transforms"
              glib:name="CLUTTER_DEBUG_OOB_TRANSFORMS">
      </member>
      <member name="frame_timings"
              value="131072"
              c:identifier="CLUTTER_DEBUG_FRAME_TIMINGS"
              glib:nick="frame-timings"
              glib:name="CLUTTER_DEBUG_FRAME_TIMINGS">
      </member>
      <member name="detailed_trace"
              value="262144"
              c:identifier="CLUTTER_DEBUG_DETAILED_TRACE"
              glib:nick="detailed-trace"
              glib:name="CLUTTER_DEBUG_DETAILED_TRACE">
      </member>
      <member name="grabs"
              value="524288"
              c:identifier="CLUTTER_DEBUG_GRABS"
              glib:nick="grabs"
              glib:name="CLUTTER_DEBUG_GRABS">
      </member>
      <member name="frame_clock"
              value="1048576"
              c:identifier="CLUTTER_DEBUG_FRAME_CLOCK"
              glib:nick="frame-clock"
              glib:name="CLUTTER_DEBUG_FRAME_CLOCK">
      </member>
      <member name="gestures"
              value="2097152"
              c:identifier="CLUTTER_DEBUG_GESTURES"
              glib:nick="gestures"
              glib:name="CLUTTER_DEBUG_GESTURES">
      </member>
    </bitfield>
    <class name="DeformEffect"
           c:symbol-prefix="deform_effect"
           c:type="ClutterDeformEffect"
           parent="OffscreenEffect"
           abstract="1"
           glib:type-name="ClutterDeformEffect"
           glib:get-type="clutter_deform_effect_get_type"
           glib:type-struct="DeformEffectClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-deform-effect.c"
           line="28">A base class for effects deforming the geometry of an actor

#ClutterDeformEffect is an abstract class providing all the plumbing
for creating effects that result in the deformation of an actor's
geometry.

#ClutterDeformEffect uses offscreen buffers to render the contents of
a #ClutterActor and then the Cogl vertex buffers API to submit the
geometry to the GPU.

## Implementing ClutterDeformEffect

Sub-classes of #ClutterDeformEffect should override the
[vfunc@Clutter.DeformEffect.deform_vertex] virtual function; this function
is called on every vertex that needs to be deformed by the effect.
Each passed vertex is an in-out parameter that initially contains the
position of the vertex and should be modified according to a specific
deformation algorithm.</doc>
      <source-position filename="clutter/clutter/clutter-deform-effect.h"
                       line="88"/>
      <virtual-method name="deform_vertex">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-deform-effect.h"
             line="72">virtual function; sub-classes should override this
  function to compute the deformation of each vertex</doc>
        <source-position filename="clutter/clutter/clutter-deform-effect.h"
                         line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <type name="DeformEffect" c:type="ClutterDeformEffect*"/>
          </instance-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>
          <parameter name="vertex" transfer-ownership="none">
            <type name="TextureVertex" c:type="ClutterTextureVertex*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_back_pipeline"
              c:identifier="clutter_deform_effect_get_back_pipeline"
              glib:get-property="back-pipeline">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-deform-effect.c"
             line="696">Retrieves the back pipeline used by @effect</doc>
        <source-position filename="clutter/clutter/clutter-deform-effect.h"
                         line="94"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-deform-effect.c"
               line="702">A #CoglPipeline.</doc>
          <type name="Cogl.Pipeline" c:type="CoglPipeline*"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-deform-effect.c"
                 line="698">a #ClutterDeformEffect</doc>
            <type name="DeformEffect" c:type="ClutterDeformEffect*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_tiles"
              c:identifier="clutter_deform_effect_get_n_tiles">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-deform-effect.c"
             line="769">Retrieves the number of horizontal and vertical tiles used to sub-divide
the actor's geometry during the effect</doc>
        <source-position filename="clutter/clutter/clutter-deform-effect.h"
                         line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-deform-effect.c"
                 line="771">a #ClutterDeformEffect</doc>
            <type name="DeformEffect" c:type="ClutterDeformEffect*"/>
          </instance-parameter>
          <parameter name="x_tiles"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-deform-effect.c"
                 line="772">return location for the number of horizontal tiles,
  or %NULL</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
          <parameter name="y_tiles"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-deform-effect.c"
                 line="774">return location for the number of vertical tiles,
  or %NULL</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="invalidate"
              c:identifier="clutter_deform_effect_invalidate">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-deform-effect.c"
             line="797">Invalidates the `effect`'s vertices and, if it is associated
to an actor, it will queue a redraw</doc>
        <source-position filename="clutter/clutter/clutter-deform-effect.h"
                         line="105"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-deform-effect.c"
                 line="799">a #ClutterDeformEffect</doc>
            <type name="DeformEffect" c:type="ClutterDeformEffect*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_back_pipeline"
              c:identifier="clutter_deform_effect_set_back_pipeline"
              glib:set-property="back-pipeline">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-deform-effect.c"
             line="665">Sets the pipeline that should be used when drawing the back face
of the actor during a deformation

The #ClutterDeformEffect will take a reference on the pipeline's
handle</doc>
        <source-position filename="clutter/clutter/clutter-deform-effect.h"
                         line="91"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-deform-effect.c"
                 line="667">a #ClutterDeformEffect</doc>
            <type name="DeformEffect" c:type="ClutterDeformEffect*"/>
          </instance-parameter>
          <parameter name="pipeline"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-deform-effect.c"
                 line="668">A #CoglPipeline</doc>
            <type name="Cogl.Pipeline" c:type="CoglPipeline*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_n_tiles"
              c:identifier="clutter_deform_effect_set_n_tiles">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-deform-effect.c"
             line="715">Sets the number of horizontal and vertical tiles to be used
when applying the effect

More tiles allow a finer grained deformation at the expenses
of computation</doc>
        <source-position filename="clutter/clutter/clutter-deform-effect.h"
                         line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-deform-effect.c"
                 line="717">a #ClutterDeformEffect</doc>
            <type name="DeformEffect" c:type="ClutterDeformEffect*"/>
          </instance-parameter>
          <parameter name="x_tiles" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-deform-effect.c"
                 line="718">number of horizontal tiles</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="y_tiles" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-deform-effect.c"
                 line="719">number of vertical tiles</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <property name="back-pipeline"
                writable="1"
                transfer-ownership="none"
                setter="set_back_pipeline"
                getter="get_back_pipeline">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-deform-effect.c"
             line="627">A pipeline to be used when painting the back of the actor
to which this effect has been applied

By default, no pipeline will be used</doc>
        <type name="Cogl.Pipeline"/>
      </property>
      <property name="x-tiles"
                writable="1"
                transfer-ownership="none"
                default-value="32">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-deform-effect.c"
             line="601">The number of horizontal tiles. The bigger the number, the
smaller the tiles</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="y-tiles"
                writable="1"
                transfer-ownership="none"
                default-value="32">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-deform-effect.c"
             line="614">The number of vertical tiles. The bigger the number, the
smaller the tiles</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <field name="parent_instance">
        <type name="OffscreenEffect" c:type="ClutterOffscreenEffect"/>
      </field>
    </class>
    <record name="DeformEffectClass"
            c:type="ClutterDeformEffectClass"
            glib:is-gtype-struct-for="DeformEffect">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-deform-effect.h"
           line="70">The #ClutterDeformEffectClass structure contains
only private data</doc>
      <source-position filename="clutter/clutter/clutter-deform-effect.h"
                       line="88"/>
      <field name="parent_class" readable="0" private="1">
        <type name="OffscreenEffectClass"
              c:type="ClutterOffscreenEffectClass"/>
      </field>
      <field name="deform_vertex">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-deform-effect.h"
             line="72">virtual function; sub-classes should override this
  function to compute the deformation of each vertex</doc>
        <callback name="deform_vertex">
          <source-position filename="clutter/clutter/clutter-deform-effect.h"
                           line="84"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="effect" transfer-ownership="none">
              <type name="DeformEffect" c:type="ClutterDeformEffect*"/>
            </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>
            <parameter name="vertex" transfer-ownership="none">
              <type name="TextureVertex" c:type="ClutterTextureVertex*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="DesaturateEffect"
           c:symbol-prefix="desaturate_effect"
           c:type="ClutterDesaturateEffect"
           parent="OffscreenEffect"
           glib:type-name="ClutterDesaturateEffect"
           glib:get-type="clutter_desaturate_effect_get_type"
           glib:type-struct="DesaturateEffectClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-desaturate-effect.c"
           line="25">A desaturation effect

#ClutterDesaturateEffect is a sub-class of #ClutterEffect that
desaturates the color of an actor and its contents. The strength
of the desaturation effect is controllable and animatable through
the #ClutterDesaturateEffect:factor property.</doc>
      <source-position filename="clutter/clutter/clutter-desaturate-effect.h"
                       line="43"/>
      <constructor name="new" c:identifier="clutter_desaturate_effect_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-desaturate-effect.c"
             line="243">Creates a new #ClutterDesaturateEffect to be used with
[method@Clutter.Actor.add_effect]</doc>
        <source-position filename="clutter/clutter/clutter-desaturate-effect.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-desaturate-effect.c"
               line="250">the newly created #ClutterDesaturateEffect or %NULL</doc>
          <type name="Effect" c:type="ClutterEffect*"/>
        </return-value>
        <parameters>
          <parameter name="factor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-desaturate-effect.c"
                 line="245">the desaturation factor, between 0.0 and 1.0</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_factor"
              c:identifier="clutter_desaturate_effect_get_factor"
              glib:get-property="factor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-desaturate-effect.c"
             line="291">Retrieves the desaturation factor of @effect</doc>
        <source-position filename="clutter/clutter/clutter-desaturate-effect.h"
                         line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-desaturate-effect.c"
               line="297">the desaturation factor</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-desaturate-effect.c"
                 line="293">a #ClutterDesaturateEffect</doc>
            <type name="DesaturateEffect" c:type="ClutterDesaturateEffect*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_factor"
              c:identifier="clutter_desaturate_effect_set_factor"
              glib:set-property="factor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-desaturate-effect.c"
             line="262">Sets the desaturation factor for @effect, with 0.0 being "do not desaturate"
and 1.0 being "fully desaturate"</doc>
        <source-position filename="clutter/clutter/clutter-desaturate-effect.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-desaturate-effect.c"
                 line="264">a #ClutterDesaturateEffect</doc>
            <type name="DesaturateEffect" c:type="ClutterDesaturateEffect*"/>
          </instance-parameter>
          <parameter name="factor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-desaturate-effect.c"
                 line="265">the desaturation factor, between 0.0 and 1.0</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <property name="factor"
                writable="1"
                transfer-ownership="none"
                setter="set_factor"
                getter="get_factor"
                default-value="1.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-desaturate-effect.c"
             line="187">The desaturation factor, between 0.0 (no desaturation) and 1.0 (full
desaturation).</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <field name="parent_instance">
        <type name="OffscreenEffect" c:type="ClutterOffscreenEffect"/>
      </field>
    </class>
    <record name="DesaturateEffectClass"
            c:type="ClutterDesaturateEffectClass"
            glib:is-gtype-struct-for="DesaturateEffect">
      <source-position filename="clutter/clutter/clutter-desaturate-effect.h"
                       line="43"/>
      <field name="parent_class">
        <type name="OffscreenEffectClass"
              c:type="ClutterOffscreenEffectClass"/>
      </field>
      <field name="base_pipeline">
        <type name="Cogl.Pipeline" c:type="CoglPipeline*"/>
      </field>
    </record>
    <record name="DeviceEvent"
            c:type="ClutterDeviceEvent"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-event.h" line="110"/>
    </record>
    <bitfield name="DrawDebugFlag"
              glib:type-name="ClutterDrawDebugFlag"
              glib:get-type="clutter_draw_debug_flag_get_type"
              c:type="ClutterDrawDebugFlag">
      <member name="disable_swap_events"
              value="1"
              c:identifier="CLUTTER_DEBUG_DISABLE_SWAP_EVENTS"
              glib:nick="disable-swap-events"
              glib:name="CLUTTER_DEBUG_DISABLE_SWAP_EVENTS">
      </member>
      <member name="disable_clipped_redraws"
              value="2"
              c:identifier="CLUTTER_DEBUG_DISABLE_CLIPPED_REDRAWS"
              glib:nick="disable-clipped-redraws"
              glib:name="CLUTTER_DEBUG_DISABLE_CLIPPED_REDRAWS">
      </member>
      <member name="redraws"
              value="4"
              c:identifier="CLUTTER_DEBUG_REDRAWS"
              glib:nick="redraws"
              glib:name="CLUTTER_DEBUG_REDRAWS">
      </member>
      <member name="paint_volumes"
              value="8"
              c:identifier="CLUTTER_DEBUG_PAINT_VOLUMES"
              glib:nick="paint-volumes"
              glib:name="CLUTTER_DEBUG_PAINT_VOLUMES">
      </member>
      <member name="disable_culling"
              value="16"
              c:identifier="CLUTTER_DEBUG_DISABLE_CULLING"
              glib:nick="disable-culling"
              glib:name="CLUTTER_DEBUG_DISABLE_CULLING">
      </member>
      <member name="disable_offscreen_redirect"
              value="32"
              c:identifier="CLUTTER_DEBUG_DISABLE_OFFSCREEN_REDIRECT"
              glib:nick="disable-offscreen-redirect"
              glib:name="CLUTTER_DEBUG_DISABLE_OFFSCREEN_REDIRECT">
      </member>
      <member name="continuous_redraw"
              value="64"
              c:identifier="CLUTTER_DEBUG_CONTINUOUS_REDRAW"
              glib:nick="continuous-redraw"
              glib:name="CLUTTER_DEBUG_CONTINUOUS_REDRAW">
      </member>
      <member name="paint_deform_tiles"
              value="128"
              c:identifier="CLUTTER_DEBUG_PAINT_DEFORM_TILES"
              glib:nick="paint-deform-tiles"
              glib:name="CLUTTER_DEBUG_PAINT_DEFORM_TILES">
      </member>
      <member name="paint_damage_region"
              value="256"
              c:identifier="CLUTTER_DEBUG_PAINT_DAMAGE_REGION"
              glib:nick="paint-damage-region"
              glib:name="CLUTTER_DEBUG_PAINT_DAMAGE_REGION">
      </member>
      <member name="disable_dynamic_max_render_time"
              value="512"
              c:identifier="CLUTTER_DEBUG_DISABLE_DYNAMIC_MAX_RENDER_TIME"
              glib:nick="disable-dynamic-max-render-time"
              glib:name="CLUTTER_DEBUG_DISABLE_DYNAMIC_MAX_RENDER_TIME">
      </member>
      <member name="paint_max_render_time"
              value="1024"
              c:identifier="CLUTTER_DEBUG_PAINT_MAX_RENDER_TIME"
              glib:nick="paint-max-render-time"
              glib:name="CLUTTER_DEBUG_PAINT_MAX_RENDER_TIME">
      </member>
      <member name="disable_triple_buffering"
              value="2048"
              c:identifier="CLUTTER_DEBUG_DISABLE_TRIPLE_BUFFERING"
              glib:nick="disable-triple-buffering"
              glib:name="CLUTTER_DEBUG_DISABLE_TRIPLE_BUFFERING">
      </member>
    </bitfield>
    <record name="EOTF" c:type="ClutterEOTF">
      <source-position filename="clutter/clutter/clutter-color-state-params.h"
                       line="93"/>
      <field name="type" writable="1" bits="1">
        <type name="EOTFType" c:type="ClutterEOTFType"/>
      </field>
      <union>
        <source-position filename="clutter/clutter/clutter-color-state-params.h"
                         line="92"/>
        <field name="tf_name" writable="1">
          <type name="TransferFunction" c:type="ClutterTransferFunction"/>
        </field>
        <field name="gamma_exp" writable="1">
          <type name="gfloat" c:type="float"/>
        </field>
      </union>
      <method name="get_default_luminance"
              c:identifier="clutter_eotf_get_default_luminance">
        <source-position filename="clutter/clutter/clutter-color-state-params.h"
                         line="179"/>
        <return-value transfer-ownership="none">
          <type name="Luminance" c:type="const ClutterLuminance*"/>
        </return-value>
        <parameters>
          <instance-parameter name="eotf" transfer-ownership="none">
            <type name="EOTF" c:type="ClutterEOTF"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="EOTFType"
                 glib:type-name="ClutterEOTFType"
                 glib:get-type="clutter_eotf_type_get_type"
                 c:type="ClutterEOTFType">
      <member name="named"
              value="0"
              c:identifier="CLUTTER_EOTF_TYPE_NAMED"
              glib:nick="named"
              glib:name="CLUTTER_EOTF_TYPE_NAMED">
      </member>
      <member name="gamma"
              value="1"
              c:identifier="CLUTTER_EOTF_TYPE_GAMMA"
              glib:nick="gamma"
              glib:name="CLUTTER_EOTF_TYPE_GAMMA">
      </member>
    </enumeration>
    <constant name="EVENT_PROPAGATE"
              value="false"
              c:type="CLUTTER_EVENT_PROPAGATE">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-event.h"
           line="52">Continues the propagation of an event; this macro should be
used in event-related signals.</doc>
      <source-position filename="clutter/clutter/clutter-event.h" line="58"/>
      <type name="gboolean" c:type="gboolean"/>
    </constant>
    <constant name="EVENT_STOP" value="true" c:type="CLUTTER_EVENT_STOP">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-event.h"
           line="60">Stops the propagation of an event; this macro should be used
in event-related signals.</doc>
      <source-position filename="clutter/clutter/clutter-event.h" line="66"/>
      <type name="gboolean" c:type="gboolean"/>
    </constant>
    <class name="Effect"
           c:symbol-prefix="effect"
           c:type="ClutterEffect"
           parent="ActorMeta"
           abstract="1"
           glib:type-name="ClutterEffect"
           glib:get-type="clutter_effect_get_type"
           glib:type-struct="EffectClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-effect.c"
           line="25">Base class for actor effects

The #ClutterEffect class provides a default type and API for creating
effects for generic actors.

Effects are a #ClutterActorMeta sub-class that modify the way an actor
is painted in a way that is not part of the actor's implementation.

Effects should be the preferred way to affect the paint sequence of an
actor without sub-classing the actor itself and overriding the
[vfunc@Clutter.Actor.paint] virtual function.

## Implementing a ClutterEffect

Creating a sub-class of #ClutterEffect requires overriding the
[vfunc@Clutter.Effect.paint] method. The implementation of the function should look
something like this:

```c
void effect_paint (ClutterEffect *effect, ClutterEffectPaintFlags flags)
{
  // Set up initialisation of the paint such as binding a
  // CoglOffscreen or other operations

  // Chain to the next item in the paint sequence. This will either call
  // ‘paint’ on the next effect or just paint the actor if this is
  // the last effect.
  ClutterActor *actor =
    clutter_actor_meta_get_actor (CLUTTER_ACTOR_META (effect));

  clutter_actor_continue_paint (actor);

  // perform any cleanup of state, such as popping the CoglOffscreen
}
```

The effect can optionally avoid calling clutter_actor_continue_paint() to skip any
further stages of the paint sequence. This is useful for example if the effect
contains a cached image of the actor. In that case it can optimise painting by
avoiding the actor paint and instead painting the cached image.

The %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY flag is useful in this case. Clutter will set
this flag when a redraw has been queued on the actor since it was last painted. The
effect can use this information to decide if the cached image is still valid.

## A simple ClutterEffect implementation

The example below creates two rectangles: one will be painted "behind" the actor,
while another will be painted "on top" of the actor.

The #ClutterActorMetaClass.set_actor() implementation will create the two pipelines
used for the two different rectangles; the #ClutterEffectClass.paint() implementation
will paint the first pipeline using cogl_rectangle(), before continuing and then it
will paint paint the second pipeline after.

```c
 typedef struct {
   ClutterEffect parent_instance;

   CoglPipeline *rect_1;
   CoglPipeline *rect_2;
 } MyEffect;

 typedef struct _ClutterEffectClass MyEffectClass;

 G_DEFINE_TYPE (MyEffect, my_effect, CLUTTER_TYPE_EFFECT);

 static void
 my_effect_set_actor (ClutterActorMeta *meta,
                      ClutterActor     *actor)
 {
   MyEffect *self = MY_EFFECT (meta);
   CoglColor color;

   // Clear the previous state //
   if (self-&gt;rect_1)
     {
       g_object_unref (self-&gt;rect_1);
       self-&gt;rect_1 = NULL;
     }

   if (self-&gt;rect_2)
     {
       g_object_unref (self-&gt;rect_2);
       self-&gt;rect_2 = NULL;
     }

   // Maintain a pointer to the actor
   self-&gt;actor = actor;

   // If we've been detached by the actor then we should just bail out here
   if (self-&gt;actor == NULL)
     return;

   // Create a red pipeline
   self-&gt;rect_1 = cogl_pipeline_new ();
   cogl_color_init_from_4f (&amp;color, 1.0, 1.0, 1.0, 1.0);
   cogl_pipeline_set_color (self-&gt;rect_1, &amp;color);

   // Create a green pipeline
   self-&gt;rect_2 = cogl_pipeline_new ();
   cogl_color_init_from_4f (&amp;color, 0.0, 1.0, 0.0, 1.0);
   cogl_pipeline_set_color (self-&gt;rect_2, &amp;color);
 }

 static gboolean
 my_effect_paint (ClutterEffect *effect)
 {
   MyEffect *self = MY_EFFECT (effect);
   gfloat width, height;

   clutter_actor_get_size (self-&gt;actor, &amp;width, &amp;height);

   // Paint the first rectangle in the upper left quadrant
   cogl_set_source (self-&gt;rect_1);
   cogl_rectangle (0, 0, width / 2, height / 2);

   // Continue to the rest of the paint sequence
   clutter_actor_continue_paint (self-&gt;actor);

   // Paint the second rectangle in the lower right quadrant
   cogl_set_source (self-&gt;rect_2);
   cogl_rectangle (width / 2, height / 2, width, height);
 }

 static void
 my_effect_class_init (MyEffectClass *klass)
 {
   ClutterActorMetaClass *meta_class = CLUTTER_ACTOR_META_CLASS (klass);

   meta_class-&gt;set_actor = my_effect_set_actor;

   klass-&gt;paint = my_effect_paint;
 }
```</doc>
      <source-position filename="clutter/clutter/clutter-effect.h" line="82"/>
      <virtual-method name="modify_paint_volume">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-effect.h"
             line="50">virtual function</doc>
        <source-position filename="clutter/clutter/clutter-effect.h"
                         line="69"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <type name="Effect" c:type="ClutterEffect*"/>
          </instance-parameter>
          <parameter name="volume" transfer-ownership="none">
            <type name="PaintVolume" c:type="ClutterPaintVolume*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="paint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-effect.h"
             line="51">virtual function</doc>
        <source-position filename="clutter/clutter/clutter-effect.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <type name="Effect" c:type="ClutterEffect*"/>
          </instance-parameter>
          <parameter name="node" transfer-ownership="none">
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </parameter>
          <parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="EffectPaintFlags" c:type="ClutterEffectPaintFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="paint_node">
        <source-position filename="clutter/clutter/clutter-effect.h"
                         line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <type name="Effect" c:type="ClutterEffect*"/>
          </instance-parameter>
          <parameter name="node" transfer-ownership="none">
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </parameter>
          <parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="EffectPaintFlags" c:type="ClutterEffectPaintFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="pick">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-effect.h"
             line="52">virtual function</doc>
        <source-position filename="clutter/clutter/clutter-effect.h"
                         line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <type name="Effect" c:type="ClutterEffect*"/>
          </instance-parameter>
          <parameter name="pick_context" transfer-ownership="none">
            <type name="PickContext" c:type="ClutterPickContext*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="post_paint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-effect.h"
             line="49">virtual function</doc>
        <source-position filename="clutter/clutter/clutter-effect.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <type name="Effect" c:type="ClutterEffect*"/>
          </instance-parameter>
          <parameter name="node" transfer-ownership="none">
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </parameter>
          <parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="pre_paint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-effect.h"
             line="48">virtual function</doc>
        <source-position filename="clutter/clutter/clutter-effect.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <type name="Effect" c:type="ClutterEffect*"/>
          </instance-parameter>
          <parameter name="node" transfer-ownership="none">
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </parameter>
          <parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="queue_repaint" c:identifier="clutter_effect_queue_repaint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-effect.c"
             line="343">Queues a repaint of the effect. The effect can detect when the ‘paint’
method is called as a result of this function because it will not
have the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY flag set. In that case the
effect is free to assume that the actor has not changed its
appearance since the last time it was painted so it doesn't need to
call clutter_actor_continue_paint() if it can draw a cached
image. This is mostly intended for effects that are using a
%CoglOffscreen to redirect the actor (such as
%ClutterOffscreenEffect). In that case the effect can save a bit of
rendering time by painting the cached texture without causing the
entire actor to be painted.

This function can be used by effects that have their own animatable
parameters. For example, an effect which adds a varying degree of a
red tint to an actor by redirecting it through a CoglOffscreen
might have a property to specify the level of tint. When this value
changes, the underlying actor doesn't need to be redrawn so the
effect can call clutter_effect_queue_repaint() to make sure the
effect is repainted.

Note however that modifying the position of the parent of an actor
may change the appearance of the actor because its transformation
matrix would change. In this case a redraw wouldn't be queued on
the actor itself so the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY would still
not be set. The effect can detect this case by keeping track of the
last modelview matrix that was used to render the actor and
verifying that it remains the same in the next paint.

Any other effects that are layered on top of the passed in effect
will still be passed the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY flag. If
anything queues a redraw on the actor without specifying an effect
or with an effect that is lower in the chain of effects than this
one then that will override this call. In that case this effect
will instead be called with the %CLUTTER_EFFECT_PAINT_ACTOR_DIRTY
flag set.</doc>
        <source-position filename="clutter/clutter/clutter-effect.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-effect.c"
                 line="345">A #ClutterEffect which needs redrawing</doc>
            <type name="Effect" c:type="ClutterEffect*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="ActorMeta" c:type="ClutterActorMeta"/>
      </field>
    </class>
    <record name="EffectClass"
            c:type="ClutterEffectClass"
            glib:is-gtype-struct-for="Effect">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-effect.h"
           line="46">The #ClutterEffectClass structure contains only private data</doc>
      <source-position filename="clutter/clutter/clutter-effect.h" line="82"/>
      <field name="parent_class" readable="0" private="1">
        <type name="ActorMetaClass" c:type="ClutterActorMetaClass"/>
      </field>
      <field name="pre_paint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-effect.h"
             line="48">virtual function</doc>
        <callback name="pre_paint">
          <source-position filename="clutter/clutter/clutter-effect.h"
                           line="62"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="effect" transfer-ownership="none">
              <type name="Effect" c:type="ClutterEffect*"/>
            </parameter>
            <parameter name="node" transfer-ownership="none">
              <type name="PaintNode" c:type="ClutterPaintNode*"/>
            </parameter>
            <parameter name="paint_context" transfer-ownership="none">
              <type name="PaintContext" c:type="ClutterPaintContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="post_paint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-effect.h"
             line="49">virtual function</doc>
        <callback name="post_paint">
          <source-position filename="clutter/clutter/clutter-effect.h"
                           line="65"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="effect" transfer-ownership="none">
              <type name="Effect" c:type="ClutterEffect*"/>
            </parameter>
            <parameter name="node" transfer-ownership="none">
              <type name="PaintNode" c:type="ClutterPaintNode*"/>
            </parameter>
            <parameter name="paint_context" transfer-ownership="none">
              <type name="PaintContext" c:type="ClutterPaintContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="modify_paint_volume">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-effect.h"
             line="50">virtual function</doc>
        <callback name="modify_paint_volume">
          <source-position filename="clutter/clutter/clutter-effect.h"
                           line="69"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="effect" transfer-ownership="none">
              <type name="Effect" c:type="ClutterEffect*"/>
            </parameter>
            <parameter name="volume" transfer-ownership="none">
              <type name="PaintVolume" c:type="ClutterPaintVolume*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="paint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-effect.h"
             line="51">virtual function</doc>
        <callback name="paint">
          <source-position filename="clutter/clutter/clutter-effect.h"
                           line="72"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="effect" transfer-ownership="none">
              <type name="Effect" c:type="ClutterEffect*"/>
            </parameter>
            <parameter name="node" transfer-ownership="none">
              <type name="PaintNode" c:type="ClutterPaintNode*"/>
            </parameter>
            <parameter name="paint_context" transfer-ownership="none">
              <type name="PaintContext" c:type="ClutterPaintContext*"/>
            </parameter>
            <parameter name="flags" transfer-ownership="none">
              <type name="EffectPaintFlags" c:type="ClutterEffectPaintFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="paint_node">
        <callback name="paint_node">
          <source-position filename="clutter/clutter/clutter-effect.h"
                           line="76"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="effect" transfer-ownership="none">
              <type name="Effect" c:type="ClutterEffect*"/>
            </parameter>
            <parameter name="node" transfer-ownership="none">
              <type name="PaintNode" c:type="ClutterPaintNode*"/>
            </parameter>
            <parameter name="paint_context" transfer-ownership="none">
              <type name="PaintContext" c:type="ClutterPaintContext*"/>
            </parameter>
            <parameter name="flags" transfer-ownership="none">
              <type name="EffectPaintFlags" c:type="ClutterEffectPaintFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="pick">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-effect.h"
             line="52">virtual function</doc>
        <callback name="pick">
          <source-position filename="clutter/clutter/clutter-effect.h"
                           line="80"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="effect" transfer-ownership="none">
              <type name="Effect" c:type="ClutterEffect*"/>
            </parameter>
            <parameter name="pick_context" transfer-ownership="none">
              <type name="PickContext" c:type="ClutterPickContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <bitfield name="EffectPaintFlags"
              glib:type-name="ClutterEffectPaintFlags"
              glib:get-type="clutter_effect_paint_flags_get_type"
              c:type="ClutterEffectPaintFlags">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="458">Flags passed to the ‘paint’ or ‘pick’ method of #ClutterEffect.</doc>
      <member name="actor_dirty"
              value="1"
              c:identifier="CLUTTER_EFFECT_PAINT_ACTOR_DIRTY"
              glib:nick="actor-dirty"
              glib:name="CLUTTER_EFFECT_PAINT_ACTOR_DIRTY">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="460">The actor or one of its children
  has queued a redraw before this paint. This implies that the effect
  should call clutter_actor_continue_paint() to chain to the next
  effect and can not cache any results from a previous paint.</doc>
      </member>
      <member name="bypass_effect"
              value="2"
              c:identifier="CLUTTER_EFFECT_PAINT_BYPASS_EFFECT"
              glib:nick="bypass-effect"
              glib:name="CLUTTER_EFFECT_PAINT_BYPASS_EFFECT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="464">The effect should not be used
  on this frame, but it will be asked to paint the actor still.</doc>
      </member>
    </bitfield>
    <enumeration name="EncodingRequiredFormat"
                 glib:type-name="ClutterEncodingRequiredFormat"
                 glib:get-type="clutter_encoding_required_format_get_type"
                 c:type="ClutterEncodingRequiredFormat">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="922">The texture format required to store a specific encoding.</doc>
      <member name="uint8"
              value="0"
              c:identifier="CLUTTER_ENCODING_REQUIRED_FORMAT_UINT8"
              glib:nick="uint8"
              glib:name="CLUTTER_ENCODING_REQUIRED_FORMAT_UINT8">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="924">8bpc uint</doc>
      </member>
      <member name="uint10"
              value="1"
              c:identifier="CLUTTER_ENCODING_REQUIRED_FORMAT_UINT10"
              glib:nick="uint10"
              glib:name="CLUTTER_ENCODING_REQUIRED_FORMAT_UINT10">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="925">10bpc uint</doc>
      </member>
      <member name="fp16"
              value="2"
              c:identifier="CLUTTER_ENCODING_REQUIRED_FORMAT_FP16"
              glib:nick="fp16"
              glib:name="CLUTTER_ENCODING_REQUIRED_FORMAT_FP16">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="926">16bpc floating point</doc>
      </member>
    </enumeration>
    <union name="Event"
           c:type="ClutterEvent"
           glib:type-name="ClutterEvent"
           glib:get-type="clutter_event_get_type"
           c:symbol-prefix="event">
      <source-position filename="clutter/clutter/clutter-types.h" line="90"/>
      <method name="copy" c:identifier="clutter_event_copy">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="853">Copies @event.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="153"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="859">A newly allocated #ClutterEvent</doc>
          <type name="Event" c:type="ClutterEvent*"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="855">A #ClutterEvent.</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="clutter_event_free">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="928">Frees all resources used by @event.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="155"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="930">A #ClutterEvent.</doc>
            <type name="Event" c:type="ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_angle" c:identifier="clutter_event_get_angle">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1205">Retrieves the angle relative from @source to @target.

The direction of the angle is from the position X axis towards
the positive Y axis.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="187"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1215">the angle between two #ClutterEvent</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1207">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
          <parameter name="target" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1208">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_axes" c:identifier="clutter_event_get_axes">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1114">Retrieves the array of axes values attached to the event.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="190"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1121">an array of axis values</doc>
          <type name="gdouble" c:type="gdouble*"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1116">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
          <parameter name="n_axes"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1117">return location for the number of axes returned</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_button" c:identifier="clutter_event_get_button">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="633">Retrieves the button number of @event</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="210"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="640">the button number</doc>
          <type name="guint32" c:type="guint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="635">a #ClutterEvent of type %CLUTTER_BUTTON_PRESS or
  of type %CLUTTER_BUTTON_RELEASE</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_coords" c:identifier="clutter_event_get_coords">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="428">Retrieves the coordinates of @event and puts them into @x and @y.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="177"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="430">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
          <parameter name="x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="431">return location for the X coordinate, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="432">return location for the Y coordinate, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_device_tool"
              c:identifier="clutter_event_get_device_tool">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="812">Returns the device tool that originated this event</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="170"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="818">The tool of this event8</doc>
          <type name="InputDeviceTool" c:type="ClutterInputDeviceTool*"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="814">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_device_type"
              c:identifier="clutter_event_get_device_type">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="778">Retrieves the type of the device for @event</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="175"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="784">the #ClutterInputDeviceType for the device, if
  any is set</doc>
          <type name="InputDeviceType" c:type="ClutterInputDeviceType"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="780">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_distance" c:identifier="clutter_event_get_distance">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1184">Retrieves the distance between two events, a @source and a @target.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="184"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1191">the distance between two #ClutterEvent</doc>
          <type name="gfloat" c:type="float"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1186">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
          <parameter name="target" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1187">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_event_code"
              c:identifier="clutter_event_get_event_code">
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="274"/>
        <return-value transfer-ownership="none">
          <type name="guint32" c:type="uint32_t"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_event_sequence"
              c:identifier="clutter_event_get_event_sequence">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="751">Retrieves the #ClutterEventSequence of @event.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="221"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="759">the event sequence, or %NULL</doc>
          <type name="EventSequence" c:type="ClutterEventSequence*"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="753">a #ClutterEvent of type %CLUTTER_TOUCH_BEGIN,
  %CLUTTER_TOUCH_UPDATE, %CLUTTER_TOUCH_END, or
  %CLUTTER_TOUCH_CANCEL</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_flags" c:identifier="clutter_event_get_flags">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="554">Retrieves the #ClutterEventFlags of @event</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="160"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="560">the event flags</doc>
          <type name="EventFlags" c:type="ClutterEventFlags"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="556">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_gesture_motion_delta"
              c:identifier="clutter_event_get_gesture_motion_delta">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1476">Returns the gesture motion deltas relative to the current pointer
position.4</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="246"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1478">A clutter touchpad gesture event</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
          <parameter name="dx"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1479">the displacement relative to the pointer
     position in the X axis, or %NULL</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="dy"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1481">the displacement relative to the pointer
     position in the Y axis, or %NULL</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_gesture_motion_delta_unaccelerated"
              c:identifier="clutter_event_get_gesture_motion_delta_unaccelerated">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1520">Returns the unaccelerated gesture motion deltas relative to the current
pointer position. Unlike [method@Clutter.Event.get_gesture_motion_delta],
pointer acceleration is ignored.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="251"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1522">A clutter touchpad gesture event</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
          <parameter name="dx"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1523">the displacement relative to the pointer
     position in the X axis, or %NULL</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="dy"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1525">the displacement relative to the pointer
     position in the Y axis, or %NULL</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_gesture_phase"
              c:identifier="clutter_event_get_gesture_phase">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1449">Returns the phase of the event, See #ClutterTouchpadGesturePhase.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="243"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1455">the phase of the gesture event.</doc>
          <type name="TouchpadGesturePhase"
                c:type="ClutterTouchpadGesturePhase"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1451">a touchpad gesture event</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_gesture_pinch_angle_delta"
              c:identifier="clutter_event_get_gesture_pinch_angle_delta">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1412">Returns the angle delta reported by this specific event.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="237"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1418">The angle delta relative to the previous event.4</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1414">a touchpad pinch event</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_gesture_pinch_scale"
              c:identifier="clutter_event_get_gesture_pinch_scale">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1429">Returns the current scale as reported by @event, 1.0 being the original
distance at the time the corresponding event with phase
%CLUTTER_TOUCHPAD_GESTURE_PHASE_BEGIN is received.
is received.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="240"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1438">the current pinch gesture scale4</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1431">a touchpad pinch event</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_im_delete_length"
              c:identifier="clutter_event_get_im_delete_length">
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="297"/>
        <return-value transfer-ownership="none">
          <type name="guint32" c:type="uint32_t"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_im_location"
              c:identifier="clutter_event_get_im_location">
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="293"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
          <parameter name="offset" transfer-ownership="none">
            <type name="gint32" c:type="int32_t*"/>
          </parameter>
          <parameter name="anchor" transfer-ownership="none">
            <type name="gint32" c:type="int32_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_im_preedit_reset_mode"
              c:identifier="clutter_event_get_im_preedit_reset_mode">
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="299"/>
        <return-value transfer-ownership="none">
          <type name="PreeditResetMode" c:type="ClutterPreeditResetMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_im_text" c:identifier="clutter_event_get_im_text">
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="291"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_key_code" c:identifier="clutter_event_get_key_code">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="679">Retrieves the keycode of the key that caused @event</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="201"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="686">The keycode representing the key</doc>
          <type name="guint16" c:type="guint16"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="681">a #ClutterEvent of type %CLUTTER_KEY_PRESS or
   of type %CLUTTER_KEY_RELEASE</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_key_state" c:identifier="clutter_event_get_key_state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="720">Returns the modifier state decomposed into independent
pressed/latched/locked states. The effective state is a
composition of these 3 states, see [method@Clutter.Event.get_state].</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="205"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="722">a #ClutterEvent of type %CLUTTER_KEY_PRESS
  or %CLUTTER_KEY_RELEASE</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
          <parameter name="pressed"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="724">Return location for pressed modifiers</doc>
            <type name="ModifierType" c:type="ClutterModifierType*"/>
          </parameter>
          <parameter name="latched"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="725">Return location for latched modifiers</doc>
            <type name="ModifierType" c:type="ClutterModifierType*"/>
          </parameter>
          <parameter name="locked"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="726">Return location for locked modifiers</doc>
            <type name="ModifierType" c:type="ClutterModifierType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_key_symbol"
              c:identifier="clutter_event_get_key_symbol">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="660">Retrieves the key symbol of @event</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="199"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="667">the key symbol representing the key</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="662">a #ClutterEvent of type %CLUTTER_KEY_PRESS or
  of type %CLUTTER_KEY_RELEASE</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_key_unicode"
              c:identifier="clutter_event_get_key_unicode">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="698">Retrieves the unicode value for the key that caused @keyev.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="203"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="705">The unicode value representing the key</doc>
          <type name="gunichar" c:type="gunichar"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="700">a #ClutterEvent of type %CLUTTER_KEY_PRESS
  or %CLUTTER_KEY_RELEASE</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mode_group"
              c:identifier="clutter_event_get_mode_group">
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="265"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pad_details"
              c:identifier="clutter_event_get_pad_details">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1644">Returns the details of a pad event.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="268"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1654">#TRUE if event details could be obtained</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1646">a pad event</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
          <parameter name="number"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1647">ring/strip/dial/button number</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
          <parameter name="mode"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1648">pad mode as per the event</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
          <parameter name="source"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1649">source of the event</doc>
            <type name="InputDevicePadSource"
                  c:type="ClutterInputDevicePadSource*"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1650">event axis value</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_position" c:identifier="clutter_event_get_position">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="454">Retrieves the event coordinates as a #graphene_point_t.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="181"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="456">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="457">a #graphene_point_t</doc>
            <type name="Graphene.Point" c:type="graphene_point_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_related" c:identifier="clutter_event_get_related">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="570">Retrieves the related actor of a crossing event.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="212"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="577">the related #ClutterActor, or %NULL</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="572">a #ClutterEvent of type %CLUTTER_ENTER or of
  type %CLUTTER_LEAVE</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_relative_motion"
              c:identifier="clutter_event_get_relative_motion">
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="282"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
          <parameter name="dx" transfer-ownership="none">
            <type name="gdouble" c:type="double*"/>
          </parameter>
          <parameter name="dy" transfer-ownership="none">
            <type name="gdouble" c:type="double*"/>
          </parameter>
          <parameter name="dx_unaccel" transfer-ownership="none">
            <type name="gdouble" c:type="double*"/>
          </parameter>
          <parameter name="dy_unaccel" transfer-ownership="none">
            <type name="gdouble" c:type="double*"/>
          </parameter>
          <parameter name="dx_constrained" transfer-ownership="none">
            <type name="gdouble" c:type="double*"/>
          </parameter>
          <parameter name="dy_constrained" transfer-ownership="none">
            <type name="gdouble" c:type="double*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_scroll_delta"
              c:identifier="clutter_event_get_scroll_delta">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="589">Retrieves the precise scrolling information of @event.

The @event has to have a #ClutterScrollEvent.direction value
of %CLUTTER_SCROLL_SMOOTH.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="216"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="591">a #ClutterEvent of type %CLUTTER_SCROLL</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
          <parameter name="dx"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="592">return location for the delta on the horizontal axis</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
          <parameter name="dy"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="593">return location for the delta on the vertical axis</doc>
            <type name="gdouble" c:type="gdouble*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_scroll_direction"
              c:identifier="clutter_event_get_scroll_direction">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="616">Retrieves the direction of the scrolling of @event</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="214"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="622">the scrolling direction</doc>
          <type name="ScrollDirection" c:type="ClutterScrollDirection"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="618">a #ClutterEvent of type %CLUTTER_SCROLL</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_scroll_finish_flags"
              c:identifier="clutter_event_get_scroll_finish_flags">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1582">Returns the #ClutterScrollFinishFlags of an scroll event. Those
can be used to determine whether post-scroll effects like kinetic
scrolling should be applied.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="259"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1590">The scroll finish flags</doc>
          <type name="ScrollFinishFlags" c:type="ClutterScrollFinishFlags"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1584">an scroll event</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_scroll_flags"
              c:identifier="clutter_event_get_scroll_flags">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1602">Returns the #ClutterScrollFlags of an scroll event.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="262"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1608">The scroll flags</doc>
          <type name="ScrollFlags" c:type="ClutterScrollFlags"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1604">an scroll event</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_scroll_source"
              c:identifier="clutter_event_get_scroll_source">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1564">Returns the #ClutterScrollSource that applies to an scroll event.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="256"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1570">The source of scroll events</doc>
          <type name="ScrollSource" c:type="ClutterScrollSource"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1566">an scroll event</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_source" c:identifier="clutter_event_get_source">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="533">Retrieves the source #ClutterActor the event originated from, or
NULL if the event has no source.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="173"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="540">a #ClutterActor</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="535">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_source_device"
              c:identifier="clutter_event_get_source_device">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1094">Retrieves the hardware device that originated the event.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="167"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1100">a pointer to a #ClutterInputDevice
  or %NULL</doc>
          <type name="InputDevice" c:type="ClutterInputDevice*"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1096">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_state" c:identifier="clutter_event_get_state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="383">Retrieves the modifier state of the event. In case the window system
supports reporting latched and locked modifiers, this function returns
the effective state.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="164"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="391">the modifier state parameter, or 0</doc>
          <type name="ModifierType" c:type="ClutterModifierType"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="385">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_time" c:identifier="clutter_event_get_time">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="367">Retrieves the time of the event.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="162"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="373">the time of the event, or %CLUTTER_CURRENT_TIME</doc>
          <type name="guint32" c:type="guint32"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="369">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_time_us" c:identifier="clutter_event_get_time_us">
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="280"/>
        <return-value transfer-ownership="none">
          <type name="gint64" c:type="int64_t"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_touchpad_gesture_finger_count"
              c:identifier="clutter_event_get_touchpad_gesture_finger_count">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1386">Returns the number of fingers that is triggering the touchpad gesture.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="234"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1392">the number of fingers in the gesture.4</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1388">a touchpad swipe/pinch event</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_control_modifier"
              c:identifier="clutter_event_has_control_modifier">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1259">Checks whether @event has the Control modifier mask set.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="195"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1265">%TRUE if the event has the Control modifier mask set</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1261">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_shift_modifier"
              c:identifier="clutter_event_has_shift_modifier">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1245">Checks whether @event has the Shift modifier mask set.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="193"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1251">%TRUE if the event has the Shift modifier mask set</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1247">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_pointer_emulated"
              c:identifier="clutter_event_is_pointer_emulated">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1273">Checks whether a pointer @event has been generated by the windowing
system. The returned value can be used to distinguish between events
synthesized by the windowing system itself (as opposed by Clutter).</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="197"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1281">%TRUE if the event is pointer emulated</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1275">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="put" c:identifier="clutter_event_put">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1019">Puts a copy of the event on the back of the event queue. The event will
have the %CLUTTER_EVENT_FLAG_SYNTHETIC flag set. If the source is set
event signals will be emitted for this source and capture/bubbling for
its ancestors. If the source is not set it will be generated by picking
or use the actor that currently has keyboard focus</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="142"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1021">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="type" c:identifier="clutter_event_type">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="351">Retrieves the type of the event.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="158"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="357">a #ClutterEventType</doc>
          <type name="EventType" c:type="ClutterEventType"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="353">a #ClutterEvent</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="add_filter" c:identifier="clutter_event_add_filter">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1318">Adds a function which will be called for all events that Clutter
processes. The function will be called before any signals are
emitted for the event and it will take precedence over any grabs.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="145"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1329">an identifier for the event filter, to be used
  with [func@Clutter.Event.remove_filter].</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <parameter name="stage"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1320">The #ClutterStage to capture events for</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="notified"
                     closure="3"
                     destroy="2">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1321">The callback function which will be passed all events.</doc>
            <type name="EventFilterFunc" c:type="ClutterEventFilterFunc"/>
          </parameter>
          <parameter name="notify" transfer-ownership="none" scope="async">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1322">A #GDestroyNotify</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1323">A data pointer to pass to the function.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="get" c:identifier="clutter_event_get">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="977">Pops an event off the event queue. Applications should not need to call
this.</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="140"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="983">A #ClutterEvent or NULL if queue empty</doc>
          <type name="Event" c:type="ClutterEvent*"/>
        </return-value>
      </function>
      <function name="remove_filter"
                c:identifier="clutter_event_remove_filter">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1355">Removes an event filter that was previously added with
[func@Clutter.Event.add_filter].</doc>
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="150"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-event.c"
                 line="1357">The ID of the event filter, as returned from [func@Clutter.Event.add_filter]</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </function>
    </union>
    <callback name="EventFilterFunc" c:type="ClutterEventFilterFunc">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-event.h"
           line="113">A function pointer type used by event filters that are added with
[func@Clutter.Event.add_filter].</doc>
      <source-position filename="clutter/clutter/clutter-event.h" line="127"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.h"
             line="122">%CLUTTER_EVENT_STOP to indicate that the event
  has been handled or %CLUTTER_EVENT_PROPAGATE otherwise.
  Returning %CLUTTER_EVENT_STOP skips any further filter
  functions and prevents the signal emission for the event.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="event" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.h"
               line="115">the event that is going to be emitted</doc>
          <type name="Event" c:type="const ClutterEvent*"/>
        </parameter>
        <parameter name="event_actor" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.h"
               line="116">the current device actor of the events device</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.h"
               line="117">the data pointer passed to [func@Clutter.Event.add_filter]</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <bitfield name="EventFlags"
              glib:type-name="ClutterEventFlags"
              glib:get-type="clutter_event_flags_get_type"
              c:type="ClutterEventFlags">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="475">Flags for the #ClutterEvent</doc>
      <member name="none"
              value="0"
              c:identifier="CLUTTER_EVENT_NONE"
              glib:nick="none"
              glib:name="CLUTTER_EVENT_NONE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="477">No flag set</doc>
      </member>
      <member name="flag_synthetic"
              value="1"
              c:identifier="CLUTTER_EVENT_FLAG_SYNTHETIC"
              glib:nick="flag-synthetic"
              glib:name="CLUTTER_EVENT_FLAG_SYNTHETIC">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="478">Synthetic event</doc>
      </member>
      <member name="flag_input_method"
              value="2"
              c:identifier="CLUTTER_EVENT_FLAG_INPUT_METHOD"
              glib:nick="flag-input-method"
              glib:name="CLUTTER_EVENT_FLAG_INPUT_METHOD">
      </member>
      <member name="flag_repeated"
              value="4"
              c:identifier="CLUTTER_EVENT_FLAG_REPEATED"
              glib:nick="flag-repeated"
              glib:name="CLUTTER_EVENT_FLAG_REPEATED">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="479">Auto-repeated event</doc>
      </member>
      <member name="flag_relative_motion"
              value="8"
              c:identifier="CLUTTER_EVENT_FLAG_RELATIVE_MOTION"
              glib:nick="flag-relative-motion"
              glib:name="CLUTTER_EVENT_FLAG_RELATIVE_MOTION">
      </member>
      <member name="flag_grab_notify"
              value="16"
              c:identifier="CLUTTER_EVENT_FLAG_GRAB_NOTIFY"
              glib:nick="flag-grab-notify"
              glib:name="CLUTTER_EVENT_FLAG_GRAB_NOTIFY">
      </member>
      <member name="flag_pointer_emulated"
              value="32"
              c:identifier="CLUTTER_EVENT_FLAG_POINTER_EMULATED"
              glib:nick="flag-pointer-emulated"
              glib:name="CLUTTER_EVENT_FLAG_POINTER_EMULATED">
      </member>
      <member name="flag_a11y_modifier_first_click"
              value="64"
              c:identifier="CLUTTER_EVENT_FLAG_A11Y_MODIFIER_FIRST_CLICK"
              glib:nick="flag-a11y-modifier-first-click"
              glib:name="CLUTTER_EVENT_FLAG_A11Y_MODIFIER_FIRST_CLICK">
      </member>
    </bitfield>
    <enumeration name="EventPhase"
                 glib:type-name="ClutterEventPhase"
                 glib:get-type="clutter_event_phase_get_type"
                 c:type="ClutterEventPhase">
      <member name="capture"
              value="0"
              c:identifier="CLUTTER_PHASE_CAPTURE"
              glib:nick="capture"
              glib:name="CLUTTER_PHASE_CAPTURE">
      </member>
      <member name="bubble"
              value="1"
              c:identifier="CLUTTER_PHASE_BUBBLE"
              glib:nick="bubble"
              glib:name="CLUTTER_PHASE_BUBBLE">
      </member>
    </enumeration>
    <record name="EventSequence"
            c:type="ClutterEventSequence"
            opaque="1"
            glib:type-name="ClutterEventSequence"
            glib:get-type="clutter_event_sequence_get_type"
            c:symbol-prefix="event_sequence">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-types.h"
           line="94">The #ClutterEventSequence structure is an opaque
type used to denote the event sequence of a touch event.</doc>
      <source-position filename="clutter/clutter/clutter-types.h" line="100"/>
      <method name="get_slot" c:identifier="clutter_event_sequence_get_slot">
        <source-position filename="clutter/clutter/clutter-event.h"
                         line="277"/>
        <return-value transfer-ownership="none">
          <type name="gint32" c:type="int32_t"/>
        </return-value>
        <parameters>
          <instance-parameter name="sequence" transfer-ownership="none">
            <type name="EventSequence" c:type="const ClutterEventSequence*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="EventType"
                 glib:type-name="ClutterEventType"
                 glib:get-type="clutter_event_type_get_type"
                 c:type="ClutterEventType">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="495">Types of events.</doc>
      <member name="nothing"
              value="0"
              c:identifier="CLUTTER_NOTHING"
              glib:nick="nothing"
              glib:name="CLUTTER_NOTHING">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="497">Empty event</doc>
      </member>
      <member name="key_press"
              value="1"
              c:identifier="CLUTTER_KEY_PRESS"
              glib:nick="key-press"
              glib:name="CLUTTER_KEY_PRESS">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="498">Key press event</doc>
      </member>
      <member name="key_release"
              value="2"
              c:identifier="CLUTTER_KEY_RELEASE"
              glib:nick="key-release"
              glib:name="CLUTTER_KEY_RELEASE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="499">Key release event</doc>
      </member>
      <member name="motion"
              value="3"
              c:identifier="CLUTTER_MOTION"
              glib:nick="motion"
              glib:name="CLUTTER_MOTION">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="500">Pointer motion event</doc>
      </member>
      <member name="enter"
              value="4"
              c:identifier="CLUTTER_ENTER"
              glib:nick="enter"
              glib:name="CLUTTER_ENTER">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="501">Actor enter event</doc>
      </member>
      <member name="leave"
              value="5"
              c:identifier="CLUTTER_LEAVE"
              glib:nick="leave"
              glib:name="CLUTTER_LEAVE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="502">Actor leave event</doc>
      </member>
      <member name="button_press"
              value="6"
              c:identifier="CLUTTER_BUTTON_PRESS"
              glib:nick="button-press"
              glib:name="CLUTTER_BUTTON_PRESS">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="503">Pointer button press event</doc>
      </member>
      <member name="button_release"
              value="7"
              c:identifier="CLUTTER_BUTTON_RELEASE"
              glib:nick="button-release"
              glib:name="CLUTTER_BUTTON_RELEASE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="504">Pointer button release event</doc>
      </member>
      <member name="scroll"
              value="8"
              c:identifier="CLUTTER_SCROLL"
              glib:nick="scroll"
              glib:name="CLUTTER_SCROLL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="505">Pointer scroll event</doc>
      </member>
      <member name="touch_begin"
              value="9"
              c:identifier="CLUTTER_TOUCH_BEGIN"
              glib:nick="touch-begin"
              glib:name="CLUTTER_TOUCH_BEGIN">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="506">A new touch event sequence has started;</doc>
      </member>
      <member name="touch_update"
              value="10"
              c:identifier="CLUTTER_TOUCH_UPDATE"
              glib:nick="touch-update"
              glib:name="CLUTTER_TOUCH_UPDATE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="507">A touch event sequence has been updated;</doc>
      </member>
      <member name="touch_end"
              value="11"
              c:identifier="CLUTTER_TOUCH_END"
              glib:nick="touch-end"
              glib:name="CLUTTER_TOUCH_END">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="508">A touch event sequence has finished;</doc>
      </member>
      <member name="touch_cancel"
              value="12"
              c:identifier="CLUTTER_TOUCH_CANCEL"
              glib:nick="touch-cancel"
              glib:name="CLUTTER_TOUCH_CANCEL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="509">A touch event sequence has been canceled;</doc>
      </member>
      <member name="touchpad_pinch"
              value="13"
              c:identifier="CLUTTER_TOUCHPAD_PINCH"
              glib:nick="touchpad-pinch"
              glib:name="CLUTTER_TOUCHPAD_PINCH">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="510">A pinch gesture event, the current state is
  determined by its phase field;</doc>
      </member>
      <member name="touchpad_swipe"
              value="14"
              c:identifier="CLUTTER_TOUCHPAD_SWIPE"
              glib:nick="touchpad-swipe"
              glib:name="CLUTTER_TOUCHPAD_SWIPE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="512">A swipe gesture event, the current state is
  determined by its phase field;</doc>
      </member>
      <member name="touchpad_hold"
              value="15"
              c:identifier="CLUTTER_TOUCHPAD_HOLD"
              glib:nick="touchpad-hold"
              glib:name="CLUTTER_TOUCHPAD_HOLD">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="514">A hold gesture event, the current state is
  determined by its phase field. A hold gesture starts when the user places a
  finger on the touchpad and ends when all fingers are lifted. It is
  cancelled when the finger(s) move past a certain threshold.</doc>
      </member>
      <member name="proximity_in"
              value="16"
              c:identifier="CLUTTER_PROXIMITY_IN"
              glib:nick="proximity-in"
              glib:name="CLUTTER_PROXIMITY_IN">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="518">A tool entered in proximity to a tablet;</doc>
      </member>
      <member name="proximity_out"
              value="17"
              c:identifier="CLUTTER_PROXIMITY_OUT"
              glib:nick="proximity-out"
              glib:name="CLUTTER_PROXIMITY_OUT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="519">A tool left from the proximity area of a tablet;</doc>
      </member>
      <member name="pad_button_press"
              value="18"
              c:identifier="CLUTTER_PAD_BUTTON_PRESS"
              glib:nick="pad-button-press"
              glib:name="CLUTTER_PAD_BUTTON_PRESS">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="520">A tablet pad button press</doc>
      </member>
      <member name="pad_button_release"
              value="19"
              c:identifier="CLUTTER_PAD_BUTTON_RELEASE"
              glib:nick="pad-button-release"
              glib:name="CLUTTER_PAD_BUTTON_RELEASE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="521">A tablet pad button release</doc>
      </member>
      <member name="pad_strip"
              value="20"
              c:identifier="CLUTTER_PAD_STRIP"
              glib:nick="pad-strip"
              glib:name="CLUTTER_PAD_STRIP">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="522">A tablet pad tactile strip event</doc>
      </member>
      <member name="pad_ring"
              value="21"
              c:identifier="CLUTTER_PAD_RING"
              glib:nick="pad-ring"
              glib:name="CLUTTER_PAD_RING">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="523">A tablet pad tactile ring event</doc>
      </member>
      <member name="pad_dial"
              value="22"
              c:identifier="CLUTTER_PAD_DIAL"
              glib:nick="pad-dial"
              glib:name="CLUTTER_PAD_DIAL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="524">A tablet pad dial event</doc>
      </member>
      <member name="device_added"
              value="23"
              c:identifier="CLUTTER_DEVICE_ADDED"
              glib:nick="device-added"
              glib:name="CLUTTER_DEVICE_ADDED">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="525">Notification of an added device</doc>
      </member>
      <member name="device_removed"
              value="24"
              c:identifier="CLUTTER_DEVICE_REMOVED"
              glib:nick="device-removed"
              glib:name="CLUTTER_DEVICE_REMOVED">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="526">Notification of a removed device</doc>
      </member>
      <member name="im_commit"
              value="25"
              c:identifier="CLUTTER_IM_COMMIT"
              glib:nick="im-commit"
              glib:name="CLUTTER_IM_COMMIT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="527">Input method text commit</doc>
      </member>
      <member name="im_delete"
              value="26"
              c:identifier="CLUTTER_IM_DELETE"
              glib:nick="im-delete"
              glib:name="CLUTTER_IM_DELETE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="528">Input method text delete action</doc>
      </member>
      <member name="im_preedit"
              value="27"
              c:identifier="CLUTTER_IM_PREEDIT"
              glib:nick="im-preedit"
              glib:name="CLUTTER_IM_PREEDIT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="529">Input method pre-edit text notification</doc>
      </member>
      <member name="key_state"
              value="28"
              c:identifier="CLUTTER_KEY_STATE"
              glib:nick="key-state"
              glib:name="CLUTTER_KEY_STATE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="530">Keyboard state change</doc>
      </member>
      <member name="event_last"
              value="29"
              c:identifier="CLUTTER_EVENT_LAST"
              glib:nick="event-last"
              glib:name="CLUTTER_EVENT_LAST">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="531">Marks the end of the #ClutterEventType enumeration;</doc>
      </member>
    </enumeration>
    <class name="FixedLayout"
           c:symbol-prefix="fixed_layout"
           c:type="ClutterFixedLayout"
           parent="LayoutManager"
           glib:type-name="ClutterFixedLayout"
           glib:get-type="clutter_fixed_layout_get_type"
           glib:type-struct="FixedLayoutClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-fixed-layout.c"
           line="27">A fixed layout manager

#ClutterFixedLayout is a layout manager implementing the same
layout policies as #ClutterGroup.</doc>
      <source-position filename="clutter/clutter/clutter-fixed-layout.h"
                       line="47"/>
      <constructor name="new" c:identifier="clutter_fixed_layout_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-fixed-layout.c"
             line="173">Creates a new #ClutterFixedLayout</doc>
        <source-position filename="clutter/clutter/clutter-fixed-layout.h"
                         line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-fixed-layout.c"
               line="178">the newly created #ClutterFixedLayout</doc>
          <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
        </return-value>
      </constructor>
      <field name="parent_instance">
        <type name="LayoutManager" c:type="ClutterLayoutManager"/>
      </field>
    </class>
    <record name="FixedLayoutClass"
            c:type="ClutterFixedLayoutClass"
            glib:is-gtype-struct-for="FixedLayout">
      <source-position filename="clutter/clutter/clutter-fixed-layout.h"
                       line="47"/>
      <field name="parent_class" readable="0" private="1">
        <type name="LayoutManagerClass" c:type="ClutterLayoutManagerClass"/>
      </field>
    </record>
    <class name="FlowLayout"
           c:symbol-prefix="flow_layout"
           c:type="ClutterFlowLayout"
           parent="LayoutManager"
           final="1"
           glib:type-name="ClutterFlowLayout"
           glib:get-type="clutter_flow_layout_get_type"
           glib:type-struct="FlowLayoutClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-flow-layout.c"
           line="25">A reflowing layout manager

#ClutterFlowLayout is a layout manager which implements the following
policy:

  - the preferred natural size depends on the value
  of the #ClutterFlowLayout:orientation property; the layout will try
  to maintain all its children on a single row or
  column;
  - if either the width or the height allocated are
  smaller than the preferred ones, the layout will wrap; in this case,
  the preferred height or width, respectively, will take into account
  the amount of columns and rows;
  - each line (either column or row) in reflowing will
  have the size of the biggest cell on that line; if the
  #ClutterFlowLayout:homogeneous property is set to %FALSE the actor
  will be allocated within that area, and if set to %TRUE instead the
  actor will be given exactly that area;
  - the size of the columns or rows can be controlled
  for both minimum and maximum; the spacing can also be controlled
  in both columns and rows.</doc>
      <source-position filename="clutter/clutter/clutter-flow-layout.h"
                       line="38"/>
      <constructor name="new" c:identifier="clutter_flow_layout_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="1044">Creates a new #ClutterFlowLayout with the given @orientation</doc>
        <source-position filename="clutter/clutter/clutter-flow-layout.h"
                         line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-flow-layout.c"
               line="1050">the newly created #ClutterFlowLayout</doc>
          <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
        </return-value>
        <parameters>
          <parameter name="orientation" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1046">the orientation of the flow layout</doc>
            <type name="Orientation" c:type="ClutterOrientation"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_column_spacing"
              c:identifier="clutter_flow_layout_get_column_spacing"
              glib:get-property="column-spacing">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="1193">Retrieves the spacing between columns</doc>
        <source-position filename="clutter/clutter/clutter-flow-layout.h"
                         line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-flow-layout.c"
               line="1199">the spacing between columns of the #ClutterFlowLayout,
  in pixels</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1195">a #ClutterFlowLayout</doc>
            <type name="FlowLayout" c:type="ClutterFlowLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_column_width"
              c:identifier="clutter_flow_layout_get_column_width">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="1305">Retrieves the minimum and maximum column widths</doc>
        <source-position filename="clutter/clutter/clutter-flow-layout.h"
                         line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1307">a #ClutterFlowLayout</doc>
            <type name="FlowLayout" c:type="ClutterFlowLayout*"/>
          </instance-parameter>
          <parameter name="min_width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1308">return location for the minimum column width, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="max_width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1309">return location for the maximum column width, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_homogeneous"
              c:identifier="clutter_flow_layout_get_homogeneous"
              glib:get-property="homogeneous">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="1150">Retrieves whether the @layout is homogeneous</doc>
        <source-position filename="clutter/clutter/clutter-flow-layout.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-flow-layout.c"
               line="1156">%TRUE if the #ClutterFlowLayout is homogeneous</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1152">a #ClutterFlowLayout</doc>
            <type name="FlowLayout" c:type="ClutterFlowLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_orientation"
              c:identifier="clutter_flow_layout_get_orientation"
              glib:get-property="orientation">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="1105">Retrieves the orientation of the @layout</doc>
        <source-position filename="clutter/clutter/clutter-flow-layout.h"
                         line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-flow-layout.c"
               line="1111">the orientation of the #ClutterFlowLayout</doc>
          <type name="Orientation" c:type="ClutterOrientation"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1107">a #ClutterFlowLayout</doc>
            <type name="FlowLayout" c:type="ClutterFlowLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_row_height"
              c:identifier="clutter_flow_layout_get_row_height">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="1378">Retrieves the minimum and maximum row heights</doc>
        <source-position filename="clutter/clutter/clutter-flow-layout.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1380">a #ClutterFlowLayout</doc>
            <type name="FlowLayout" c:type="ClutterFlowLayout*"/>
          </instance-parameter>
          <parameter name="min_height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1381">return location for the minimum row height, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="max_height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1382">return location for the maximum row height, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_row_spacing"
              c:identifier="clutter_flow_layout_get_row_spacing"
              glib:get-property="row-spacing">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="1237">Retrieves the spacing between rows</doc>
        <source-position filename="clutter/clutter/clutter-flow-layout.h"
                         line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-flow-layout.c"
               line="1243">the spacing between rows of the #ClutterFlowLayout,
  in pixels</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1239">a #ClutterFlowLayout</doc>
            <type name="FlowLayout" c:type="ClutterFlowLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_snap_to_grid"
              c:identifier="clutter_flow_layout_get_snap_to_grid"
              glib:get-property="snap-to-grid">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="1424">Retrieves the value of #ClutterFlowLayout:snap-to-grid property</doc>
        <source-position filename="clutter/clutter/clutter-flow-layout.h"
                         line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-flow-layout.c"
               line="1430">%TRUE if the @layout is placing its children on a grid</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1426">a #ClutterFlowLayout</doc>
            <type name="FlowLayout" c:type="ClutterFlowLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_column_spacing"
              c:identifier="clutter_flow_layout_set_column_spacing"
              glib:set-property="column-spacing">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="1166">Sets the space between columns, in pixels</doc>
        <source-position filename="clutter/clutter/clutter-flow-layout.h"
                         line="58"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1168">a #ClutterFlowLayout</doc>
            <type name="FlowLayout" c:type="ClutterFlowLayout*"/>
          </instance-parameter>
          <parameter name="spacing" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1169">the space between columns</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_column_width"
              c:identifier="clutter_flow_layout_set_column_width">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="1254">Sets the minimum and maximum widths that a column can have</doc>
        <source-position filename="clutter/clutter/clutter-flow-layout.h"
                         line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1256">a #ClutterFlowLayout</doc>
            <type name="FlowLayout" c:type="ClutterFlowLayout*"/>
          </instance-parameter>
          <parameter name="min_width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1257">minimum width of a column</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="max_width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1258">maximum width of a column</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_homogeneous"
              c:identifier="clutter_flow_layout_set_homogeneous"
              glib:set-property="homogeneous">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="1122">Sets whether the @layout should allocate the same space for
each child</doc>
        <source-position filename="clutter/clutter/clutter-flow-layout.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1124">a #ClutterFlowLayout</doc>
            <type name="FlowLayout" c:type="ClutterFlowLayout*"/>
          </instance-parameter>
          <parameter name="homogeneous" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1125">whether the layout should be homogeneous or not</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_orientation"
              c:identifier="clutter_flow_layout_set_orientation"
              glib:set-property="orientation">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="1060">Sets the orientation of the flow layout

The orientation controls the direction used to allocate
the children: either horizontally or vertically. The
orientation also controls the direction of the overflowing</doc>
        <source-position filename="clutter/clutter/clutter-flow-layout.h"
                         line="47"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1062">a #ClutterFlowLayout</doc>
            <type name="FlowLayout" c:type="ClutterFlowLayout*"/>
          </instance-parameter>
          <parameter name="orientation" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1063">the orientation of the layout</doc>
            <type name="Orientation" c:type="ClutterOrientation"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_row_height"
              c:identifier="clutter_flow_layout_set_row_height">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="1327">Sets the minimum and maximum heights that a row can have</doc>
        <source-position filename="clutter/clutter/clutter-flow-layout.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1329">a #ClutterFlowLayout</doc>
            <type name="FlowLayout" c:type="ClutterFlowLayout*"/>
          </instance-parameter>
          <parameter name="min_height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1330">the minimum height of a row</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="max_height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1331">the maximum height of a row</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_row_spacing"
              c:identifier="clutter_flow_layout_set_row_spacing"
              glib:set-property="row-spacing">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="1210">Sets the spacing between rows, in pixels</doc>
        <source-position filename="clutter/clutter/clutter-flow-layout.h"
                         line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1212">a #ClutterFlowLayout</doc>
            <type name="FlowLayout" c:type="ClutterFlowLayout*"/>
          </instance-parameter>
          <parameter name="spacing" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1213">the space between rows</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_snap_to_grid"
              c:identifier="clutter_flow_layout_set_snap_to_grid"
              glib:set-property="snap-to-grid">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="1400">Whether the @layout should place its children on a grid.</doc>
        <source-position filename="clutter/clutter/clutter-flow-layout.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1402">a #ClutterFlowLayout</doc>
            <type name="FlowLayout" c:type="ClutterFlowLayout*"/>
          </instance-parameter>
          <parameter name="snap_to_grid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-flow-layout.c"
                 line="1403">%TRUE if @layout should place its children on a grid</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="column-spacing"
                writable="1"
                transfer-ownership="none"
                setter="set_column_spacing"
                getter="get_column_spacing"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="930">The spacing between columns, in pixels; the value of this
property is honoured by horizontal non-overflowing layouts
and by vertical overflowing layouts</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="homogeneous"
                writable="1"
                transfer-ownership="none"
                setter="set_homogeneous"
                getter="get_homogeneous"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="918">Whether each child inside the #ClutterFlowLayout should receive
the same allocation</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="max-column-width"
                writable="1"
                transfer-ownership="none"
                default-value="-1.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="970">Maximum width for each column in the layout, in pixels. If
set to -1 the width will be the maximum child width</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="max-row-height"
                writable="1"
                transfer-ownership="none"
                default-value="-1.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="995">Maximum height for each row in the layout, in pixels. If
set to -1 the width will be the maximum child height</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="min-column-width"
                writable="1"
                transfer-ownership="none"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="958">Minimum width for each column in the layout, in pixels</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="min-row-height"
                writable="1"
                transfer-ownership="none"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="983">Minimum height for each row in the layout, in pixels</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="orientation"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_orientation"
                getter="get_orientation"
                default-value="CLUTTER_ORIENTATION_HORIZONTAL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="902">The orientation of the #ClutterFlowLayout. The children
of the layout will be laid out following the orientation.

This property also controls the overflowing directions</doc>
        <type name="Orientation"/>
      </property>
      <property name="row-spacing"
                writable="1"
                transfer-ownership="none"
                setter="set_row_spacing"
                getter="get_row_spacing"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="944">The spacing between rows, in pixels; the value of this
property is honoured by vertical non-overflowing layouts and
by horizontal overflowing layouts</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="snap-to-grid"
                writable="1"
                transfer-ownership="none"
                setter="set_snap_to_grid"
                getter="get_snap_to_grid"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-flow-layout.c"
             line="1008">Whether the #ClutterFlowLayout should arrange its children
on a grid</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="FlowLayoutClass"
            c:type="ClutterFlowLayoutClass"
            glib:is-gtype-struct-for="FlowLayout">
      <source-position filename="clutter/clutter/clutter-flow-layout.h"
                       line="38"/>
      <field name="parent_class">
        <type name="LayoutManagerClass" c:type="ClutterLayoutManagerClass"/>
      </field>
    </record>
    <class name="Focus"
           c:symbol-prefix="focus"
           c:type="ClutterFocus"
           parent="GObject.Object"
           glib:type-name="ClutterFocus"
           glib:get-type="clutter_focus_get_type"
           glib:type-struct="FocusClass">
      <source-position filename="clutter/clutter/clutter-focus.h" line="61"/>
      <virtual-method name="get_current_actor" introspectable="0">
        <source-position filename="clutter/clutter/clutter-focus.h" line="49"/>
        <return-value>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="Focus" c:type="ClutterFocus*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="notify_grab">
        <source-position filename="clutter/clutter/clutter-focus.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="Focus" c:type="ClutterFocus*"/>
          </instance-parameter>
          <parameter name="grab" transfer-ownership="none">
            <type name="Grab" c:type="ClutterGrab*"/>
          </parameter>
          <parameter name="grab_actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="old_grab_actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="propagate_event">
        <source-position filename="clutter/clutter/clutter-focus.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="Focus" c:type="ClutterFocus*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="const ClutterEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_current_actor">
        <source-position filename="clutter/clutter/clutter-focus.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="Focus" c:type="ClutterFocus*"/>
          </instance-parameter>
          <parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="source_device" transfer-ownership="none">
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </parameter>
          <parameter name="time_ms" transfer-ownership="none">
            <type name="guint32" c:type="uint32_t"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="update_from_event">
        <source-position filename="clutter/clutter/clutter-focus.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="Focus" c:type="ClutterFocus*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="const ClutterEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <property name="stage"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Stage"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="FocusClass"
            c:type="ClutterFocusClass"
            glib:is-gtype-struct-for="Focus">
      <source-position filename="clutter/clutter/clutter-focus.h" line="61"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="set_current_actor">
        <callback name="set_current_actor">
          <source-position filename="clutter/clutter/clutter-focus.h"
                           line="45"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="focus" transfer-ownership="none">
              <type name="Focus" c:type="ClutterFocus*"/>
            </parameter>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="source_device" transfer-ownership="none">
              <type name="InputDevice" c:type="ClutterInputDevice*"/>
            </parameter>
            <parameter name="time_ms" transfer-ownership="none">
              <type name="guint32" c:type="uint32_t"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_current_actor" introspectable="0">
        <callback name="get_current_actor" introspectable="0">
          <source-position filename="clutter/clutter/clutter-focus.h"
                           line="49"/>
          <return-value>
            <type name="Actor" c:type="ClutterActor*"/>
          </return-value>
          <parameters>
            <parameter name="focus" transfer-ownership="none">
              <type name="Focus" c:type="ClutterFocus*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="propagate_event">
        <callback name="propagate_event">
          <source-position filename="clutter/clutter/clutter-focus.h"
                           line="51"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="focus" transfer-ownership="none">
              <type name="Focus" c:type="ClutterFocus*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Event" c:type="const ClutterEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="update_from_event">
        <callback name="update_from_event">
          <source-position filename="clutter/clutter/clutter-focus.h"
                           line="54"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="focus" transfer-ownership="none">
              <type name="Focus" c:type="ClutterFocus*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Event" c:type="const ClutterEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="notify_grab">
        <callback name="notify_grab">
          <source-position filename="clutter/clutter/clutter-focus.h"
                           line="57"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="focus" transfer-ownership="none">
              <type name="Focus" c:type="ClutterFocus*"/>
            </parameter>
            <parameter name="grab" transfer-ownership="none">
              <type name="Grab" c:type="ClutterGrab*"/>
            </parameter>
            <parameter name="grab_actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="old_grab_actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="Frame"
            c:type="ClutterFrame"
            opaque="1"
            glib:type-name="ClutterFrame"
            glib:get-type="clutter_frame_get_type"
            c:symbol-prefix="frame">
      <source-position filename="clutter/clutter/clutter-types.h" line="47"/>
      <method name="get_count" c:identifier="clutter_frame_get_count">
        <source-position filename="clutter/clutter/clutter-frame.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="gint64" c:type="int64_t"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame" transfer-ownership="none">
            <type name="Frame" c:type="ClutterFrame*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_frame_deadline"
              c:identifier="clutter_frame_get_frame_deadline">
        <source-position filename="clutter/clutter/clutter-frame.h" line="47"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame" transfer-ownership="none">
            <type name="Frame" c:type="ClutterFrame*"/>
          </instance-parameter>
          <parameter name="frame_deadline_us" transfer-ownership="none">
            <type name="gint64" c:type="int64_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_target_presentation_time"
              c:identifier="clutter_frame_get_target_presentation_time">
        <source-position filename="clutter/clutter/clutter-frame.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame" transfer-ownership="none">
            <type name="Frame" c:type="ClutterFrame*"/>
          </instance-parameter>
          <parameter name="target_presentation_time_us"
                     transfer-ownership="none">
            <type name="gint64" c:type="int64_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_result" c:identifier="clutter_frame_has_result">
        <source-position filename="clutter/clutter/clutter-frame.h" line="55"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame" transfer-ownership="none">
            <type name="Frame" c:type="ClutterFrame*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="clutter_frame_ref">
        <source-position filename="clutter/clutter/clutter-frame.h" line="34"/>
        <return-value transfer-ownership="full">
          <type name="Frame" c:type="ClutterFrame*"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame" transfer-ownership="none">
            <type name="Frame" c:type="ClutterFrame*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_result" c:identifier="clutter_frame_set_result">
        <source-position filename="clutter/clutter/clutter-frame.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame" transfer-ownership="none">
            <type name="Frame" c:type="ClutterFrame*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <type name="FrameResult" c:type="ClutterFrameResult"/>
          </parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="clutter_frame_unref">
        <source-position filename="clutter/clutter/clutter-frame.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame" transfer-ownership="none">
            <type name="Frame" c:type="ClutterFrame*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <class name="FrameClock"
           c:symbol-prefix="frame_clock"
           c:type="ClutterFrameClock"
           parent="GObject.Object"
           glib:type-name="ClutterFrameClock"
           glib:get-type="clutter_frame_clock_get_type"
           glib:type-struct="FrameClockClass">
      <source-position filename="clutter/clutter/clutter-frame-clock.h"
                       line="52"/>
      <constructor name="new"
                   c:identifier="clutter_frame_clock_new"
                   introspectable="0">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="79"/>
        <return-value transfer-ownership="full">
          <type name="FrameClock" c:type="ClutterFrameClock*"/>
        </return-value>
        <parameters>
          <parameter name="refresh_rate" transfer-ownership="none">
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="vblank_duration_us" transfer-ownership="none">
            <type name="gint64" c:type="int64_t"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="iface" transfer-ownership="none">
            <type name="FrameListenerIface"
                  c:type="const ClutterFrameListenerIface*"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_future_time"
              c:identifier="clutter_frame_clock_add_future_time">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="110"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
          <parameter name="when_us" transfer-ownership="none">
            <type name="gint64" c:type="int64_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_timeline"
              c:identifier="clutter_frame_clock_add_timeline">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="119"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
          <parameter name="timeline" transfer-ownership="none">
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </parameter>
        </parameters>
      </method>
      <method name="destroy" c:identifier="clutter_frame_clock_destroy">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="dispatch" c:identifier="clutter_frame_clock_dispatch">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="145"/>
        <return-value transfer-ownership="none">
          <type name="FrameResult" c:type="ClutterFrameResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="gint64" c:type="int64_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_max_render_time_debug_info"
              c:identifier="clutter_frame_clock_get_max_render_time_debug_info">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="131"/>
        <return-value transfer-ownership="full">
          <type name="GLib.String" c:type="GString*"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_priority"
              c:identifier="clutter_frame_clock_get_priority">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="138"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_refresh_rate"
              c:identifier="clutter_frame_clock_get_refresh_rate">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="126"/>
        <return-value transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="inhibit" c:identifier="clutter_frame_clock_inhibit">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="114"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="notify_presented"
              c:identifier="clutter_frame_clock_notify_presented"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
          <parameter name="frame_info" transfer-ownership="none">
            <type name="FrameInfo" c:type="ClutterFrameInfo*"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_ready"
              c:identifier="clutter_frame_clock_notify_ready">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="97"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="record_flip_time"
              c:identifier="clutter_frame_clock_record_flip_time">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="128"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
          <parameter name="flip_time_us" transfer-ownership="none">
            <type name="gint64" c:type="int64_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_timeline"
              c:identifier="clutter_frame_clock_remove_timeline">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="122"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
          <parameter name="timeline" transfer-ownership="none">
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </parameter>
        </parameters>
      </method>
      <method name="schedule_update"
              c:identifier="clutter_frame_clock_schedule_update">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="schedule_update_now"
              c:identifier="clutter_frame_clock_schedule_update_now">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="103"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_deadline_evasion"
              c:identifier="clutter_frame_clock_set_deadline_evasion">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="134"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
          <parameter name="deadline_evasion_us" transfer-ownership="none">
            <type name="gint64" c:type="int64_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_frame_sync_update_time"
              c:identifier="clutter_frame_clock_set_frame_sync_update_time">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="106"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
          <parameter name="update_time_us" transfer-ownership="none">
            <type name="gint64" c:type="int64_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_mode" c:identifier="clutter_frame_clock_set_mode">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
          <parameter name="mode" transfer-ownership="none">
            <type name="FrameClockMode" c:type="ClutterFrameClockMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_passive"
              c:identifier="clutter_frame_clock_set_passive">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="141"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
          <parameter name="driver" transfer-ownership="none">
            <type name="FrameClockDriver" c:type="ClutterFrameClockDriver*"/>
          </parameter>
        </parameters>
      </method>
      <method name="uninhibit" c:identifier="clutter_frame_clock_uninhibit">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="117"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </instance-parameter>
        </parameters>
      </method>
      <glib:signal name="destroy" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="FrameClockClass"
            c:type="ClutterFrameClockClass"
            glib:is-gtype-struct-for="FrameClock">
      <source-position filename="clutter/clutter/clutter-frame-clock.h"
                       line="52"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="FrameClockDriver"
           c:symbol-prefix="frame_clock_driver"
           c:type="ClutterFrameClockDriver"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="ClutterFrameClockDriver"
           glib:get-type="clutter_frame_clock_driver_get_type"
           glib:type-struct="FrameClockDriverClass">
      <source-position filename="clutter/clutter/clutter-frame-clock.h"
                       line="48"/>
      <virtual-method name="schedule_update">
        <source-position filename="clutter/clutter/clutter-frame-clock.h"
                         line="47"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="driver" transfer-ownership="none">
            <type name="FrameClockDriver" c:type="ClutterFrameClockDriver*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="FrameClockDriverClass"
            c:type="ClutterFrameClockDriverClass"
            glib:is-gtype-struct-for="FrameClockDriver">
      <source-position filename="clutter/clutter/clutter-frame-clock.h"
                       line="48"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="schedule_update">
        <callback name="schedule_update">
          <source-position filename="clutter/clutter/clutter-frame-clock.h"
                           line="47"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="driver" transfer-ownership="none">
              <type name="FrameClockDriver" c:type="ClutterFrameClockDriver*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="FrameClockMode"
                 glib:type-name="ClutterFrameClockMode"
                 glib:get-type="clutter_frame_clock_mode_get_type"
                 c:type="ClutterFrameClockMode">
      <member name="fixed"
              value="0"
              c:identifier="CLUTTER_FRAME_CLOCK_MODE_FIXED"
              glib:nick="fixed"
              glib:name="CLUTTER_FRAME_CLOCK_MODE_FIXED">
      </member>
      <member name="variable"
              value="1"
              c:identifier="CLUTTER_FRAME_CLOCK_MODE_VARIABLE"
              glib:nick="variable"
              glib:name="CLUTTER_FRAME_CLOCK_MODE_VARIABLE">
      </member>
      <member name="passive"
              value="2"
              c:identifier="CLUTTER_FRAME_CLOCK_MODE_PASSIVE"
              glib:nick="passive"
              glib:name="CLUTTER_FRAME_CLOCK_MODE_PASSIVE">
      </member>
    </enumeration>
    <record name="FrameInfo" c:type="ClutterFrameInfo" introspectable="0">
      <source-position filename="clutter/clutter/clutter-stage.h" line="136"/>
      <field name="global_frame_counter" writable="1">
        <type name="gint64" c:type="int64_t"/>
      </field>
      <field name="view_frame_counter" writable="1">
        <type name="gint64" c:type="int64_t"/>
      </field>
      <field name="presentation_time" writable="1">
        <type name="gint64" c:type="int64_t"/>
      </field>
      <field name="target_presentation_time" writable="1">
        <type name="gint64" c:type="int64_t"/>
      </field>
      <field name="refresh_rate" writable="1">
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="flags" writable="1">
        <type name="FrameInfoFlag" c:type="ClutterFrameInfoFlag"/>
      </field>
      <field name="sequence" writable="1">
        <type name="guint" c:type="unsigned int"/>
      </field>
      <field name="has_valid_gpu_rendering_duration" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="gpu_rendering_duration_ns" writable="1">
        <type name="gint64" c:type="int64_t"/>
      </field>
      <field name="cpu_time_before_buffer_swap_us" writable="1">
        <type name="gint64" c:type="int64_t"/>
      </field>
    </record>
    <bitfield name="FrameInfoFlag"
              glib:type-name="ClutterFrameInfoFlag"
              glib:get-type="clutter_frame_info_flag_get_type"
              c:type="ClutterFrameInfoFlag">
      <member name="none"
              value="0"
              c:identifier="CLUTTER_FRAME_INFO_FLAG_NONE"
              glib:nick="none"
              glib:name="CLUTTER_FRAME_INFO_FLAG_NONE">
      </member>
      <member name="hw_clock"
              value="1"
              c:identifier="CLUTTER_FRAME_INFO_FLAG_HW_CLOCK"
              glib:nick="hw-clock"
              glib:name="CLUTTER_FRAME_INFO_FLAG_HW_CLOCK">
      </member>
      <member name="zero_copy"
              value="2"
              c:identifier="CLUTTER_FRAME_INFO_FLAG_ZERO_COPY"
              glib:nick="zero-copy"
              glib:name="CLUTTER_FRAME_INFO_FLAG_ZERO_COPY">
      </member>
      <member name="vsync"
              value="4"
              c:identifier="CLUTTER_FRAME_INFO_FLAG_VSYNC"
              glib:nick="vsync"
              glib:name="CLUTTER_FRAME_INFO_FLAG_VSYNC">
      </member>
    </bitfield>
    <record name="FrameListenerIface"
            c:type="ClutterFrameListenerIface"
            introspectable="0">
      <source-position filename="clutter/clutter/clutter-frame-clock.h"
                       line="69"/>
      <field name="before_frame">
        <callback name="before_frame">
          <source-position filename="clutter/clutter/clutter-frame-clock.h"
                           line="61"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="frame_clock" transfer-ownership="none">
              <type name="FrameClock" c:type="ClutterFrameClock*"/>
            </parameter>
            <parameter name="frame" transfer-ownership="none">
              <type name="Frame" c:type="ClutterFrame*"/>
            </parameter>
            <parameter name="user_data"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1"
                       closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="frame">
        <callback name="frame">
          <source-position filename="clutter/clutter/clutter-frame-clock.h"
                           line="64"/>
          <return-value transfer-ownership="none">
            <type name="FrameResult" c:type="ClutterFrameResult"/>
          </return-value>
          <parameters>
            <parameter name="frame_clock" transfer-ownership="none">
              <type name="FrameClock" c:type="ClutterFrameClock*"/>
            </parameter>
            <parameter name="frame" transfer-ownership="none">
              <type name="Frame" c:type="ClutterFrame*"/>
            </parameter>
            <parameter name="user_data"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1"
                       closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="new_frame">
        <callback name="new_frame">
          <source-position filename="clutter/clutter/clutter-frame-clock.h"
                           line="67"/>
          <return-value transfer-ownership="full">
            <type name="Frame" c:type="ClutterFrame*"/>
          </return-value>
          <parameters>
            <parameter name="frame_clock" transfer-ownership="none">
              <type name="FrameClock" c:type="ClutterFrameClock*"/>
            </parameter>
            <parameter name="user_data"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1"
                       closure="1">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="FrameResult"
                 glib:type-name="ClutterFrameResult"
                 glib:get-type="clutter_frame_result_get_type"
                 c:type="ClutterFrameResult">
      <member name="pending_presented"
              value="0"
              c:identifier="CLUTTER_FRAME_RESULT_PENDING_PRESENTED"
              glib:nick="pending-presented"
              glib:name="CLUTTER_FRAME_RESULT_PENDING_PRESENTED">
      </member>
      <member name="idle"
              value="1"
              c:identifier="CLUTTER_FRAME_RESULT_IDLE"
              glib:nick="idle"
              glib:name="CLUTTER_FRAME_RESULT_IDLE">
      </member>
      <member name="ignored"
              value="2"
              c:identifier="CLUTTER_FRAME_RESULT_IGNORED"
              glib:nick="ignored"
              glib:name="CLUTTER_FRAME_RESULT_IGNORED">
      </member>
    </enumeration>
    <class name="Gesture"
           c:symbol-prefix="gesture"
           c:type="ClutterGesture"
           parent="Action"
           abstract="1"
           glib:type-name="ClutterGesture"
           glib:get-type="clutter_gesture_get_type"
           glib:type-struct="GestureClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-gesture.c"
           line="18">A #ClutterAction for recognizing gestures

#ClutterGesture is a sub-class of #ClutterAction and an abstract base class
for implementing the logic to recognize various input gestures.

Implementing a #ClutterGesture is done by subclassing #ClutterGesture,
connecting to the should_handle_sequence(), point_began()/moved()/ended()
and sequences_cancelled() vfuncs, and then moving the gesture through the
#ClutterGestureState state machine using clutter_gesture_set_state().

## Recognizing new gestures

#ClutterGesture uses five separate states to differentiate between the
phases of gesture recognition. Those states also define whether to block or
allow event delivery:

- WAITING: The gesture will be starting out in this state if no points
  are available. When points are added, the state automatically moves
  to POSSIBLE before the point_began() vfunc gets called.

- POSSIBLE: This is the state the gesture will be in when point_began()
  gets called the first time. As soon as the implementation is reasonably
  sure that the sequence of events is the gesture, it should set the state
  to RECOGNIZING.

- RECOGNIZING: A continuous gesture is being recognized. In this state
  the implementation usually triggers UI changes as feedback to the user.

- COMPLETED: The gesture was sucessfully recognized and has been completed.
  The gesture will automatically move to state WAITING after all the
  remaining points have ended.

- CANCELLED: The gesture was either not started at all because preconditions
  were not fulfilled or it was cancelled by the implementation.
  The gesture will automatically move to state WAITING after all the
  remaining points have ended.

Each #ClutterGesture starts out in the WAITING state and automatically
moves to POSSIBLE when #ClutterGestureClass.should_handle_sequence() returns
true for the first event of an event sequence. Events of this sequence must
then be handled using the point_began(), point_moved(), point_ended() and
sequences_cancelled() vfuncs. From these events, the implementation moves
the gesture through the #ClutterGestureState state-machine.

Note that point_ended() and sequences_cancelled() both have a default
implementation which automatically moves the state of the gesture to
CANCELLED.

Note that it's not guaranteed that clutter_gesture_set_state() will always
(and immediately) enter the requested state. To deal with this, never
assume the state has changed after calling clutter_gesture_set_state(),
and react to state changes by implementing the state_changed() vfunc.

## Relationships of gestures

By default, when multiple gestures try to recognize while sharing one or
more points, the first gesture to move to RECOGNIZING wins, and implicitly
moves all conflicting gestures to state CANCELLED. This behavior can be
prohibited by using the clutter_gesture_can_not_cancel() API or by
implementing the should_influence() or should_be_influenced_by() vfuncs
in your #ClutterGesture subclass.</doc>
      <source-position filename="clutter/clutter/clutter-gesture.h"
                       line="105"/>
      <virtual-method name="crossing_event" introspectable="0">
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="sequence_index" transfer-ownership="none">
            <type name="guint" c:type="unsigned int"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="EventType" c:type="ClutterEventType"/>
          </parameter>
          <parameter name="time" transfer-ownership="none">
            <type name="guint32" c:type="uint32_t"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="EventFlags" c:type="ClutterEventFlags"/>
          </parameter>
          <parameter name="source_actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="related_actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="may_recognize" introspectable="0">
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="point_began" introspectable="0">
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="47"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="sequence_index" transfer-ownership="none">
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="point_ended" introspectable="0">
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="sequence_index" transfer-ownership="none">
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="point_moved" introspectable="0">
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="sequence_index" transfer-ownership="none">
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="sequences_cancelled" introspectable="0">
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="sequences" transfer-ownership="none">
            <type name="guint" c:type="unsigned int*"/>
          </parameter>
          <parameter name="n_sequences" transfer-ownership="none">
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="should_be_influenced_by" introspectable="0">
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="102"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="other_gesture" transfer-ownership="none">
            <type name="Gesture" c:type="ClutterGesture*"/>
          </parameter>
          <parameter name="cancelled_on_recognizing" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="should_handle_sequence" introspectable="0">
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="41"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="sequence_begin_event" transfer-ownership="none">
            <type name="Event" c:type="const ClutterEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="should_influence" introspectable="0">
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="other_gesture" transfer-ownership="none">
            <type name="Gesture" c:type="ClutterGesture*"/>
          </parameter>
          <parameter name="cancel_on_recognizing" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="state_changed" introspectable="0">
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="old_state" transfer-ownership="none">
            <type name="GestureState" c:type="ClutterGestureState"/>
          </parameter>
          <parameter name="new_state" transfer-ownership="none">
            <type name="GestureState" c:type="ClutterGestureState"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="can_not_cancel"
              c:identifier="clutter_gesture_can_not_cancel">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-gesture.c"
             line="1797">In case @self and @other_gesture are operating on the same points, calling
this function will make sure that @self does not cancel @other_gesture
when @self moves to state RECOGNIZING.

To allow two gestures to recognize simultaneously using the same set of
points (for example a zoom and a rotate gesture on the same actor), call
clutter_gesture_can_not_cancel() twice, so that both gestures can not
cancel each other.</doc>
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="162"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1799">a #ClutterGesture</doc>
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="other_gesture" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1800">the other #ClutterGesture</doc>
            <type name="Gesture" c:type="ClutterGesture*"/>
          </parameter>
        </parameters>
      </method>
      <method name="cancel" c:identifier="clutter_gesture_cancel">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-gesture.c"
             line="1479">Cancels the gesture by setting its state to CANCELLED.</doc>
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="115"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1481">a #ClutterGesture</doc>
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_points" c:identifier="clutter_gesture_get_n_points">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-gesture.c"
             line="1528">Retrieves the number of active points the gesture currently has.</doc>
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="121"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-gesture.c"
               line="1534">the number of active points</doc>
          <type name="guint" c:type="unsigned int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1530">a #ClutterGesture</doc>
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_point_begin_coords"
              c:identifier="clutter_gesture_get_point_begin_coords">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-gesture.c"
             line="1651">Retrieves the begin coordinates of the point with index @point_index.</doc>
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="138"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1653">a #ClutterGesture</doc>
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="point_index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1654">index of the point</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="coords_out"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1655">a #graphene_point_t</doc>
            <type name="Graphene.Point" c:type="graphene_point_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_point_begin_coords_abs"
              c:identifier="clutter_gesture_get_point_begin_coords_abs"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="143"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="point_index" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="coords_out" transfer-ownership="none">
            <type name="Graphene.Point" c:type="graphene_point_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_point_coords"
              c:identifier="clutter_gesture_get_point_coords">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-gesture.c"
             line="1593">Retrieves the latest coordinates of the point with index @point_index.</doc>
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="128"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1595">a #ClutterGesture</doc>
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="point_index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1596">index of the point</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="coords_out"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1597">a #graphene_point_t</doc>
            <type name="Graphene.Point" c:type="graphene_point_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_point_coords_abs"
              c:identifier="clutter_gesture_get_point_coords_abs"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="133"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="point_index" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="coords_out" transfer-ownership="none">
            <type name="Graphene.Point" c:type="graphene_point_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_point_event"
              c:identifier="clutter_gesture_get_point_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-gesture.c"
             line="1767">Retrieves the the latest event of the point with index @point_index.</doc>
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="158"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-gesture.c"
               line="1774">The #ClutterEvent</doc>
          <type name="Event" c:type="const ClutterEvent*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1769">a #ClutterGesture</doc>
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="point_index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1770">index of the point</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_point_previous_coords"
              c:identifier="clutter_gesture_get_point_previous_coords">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-gesture.c"
             line="1709">Retrieves the previous coordinates of the point with index @point_index.</doc>
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="148"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1711">a #ClutterGesture</doc>
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="point_index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1712">index of the point</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="coords_out"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1713">a #graphene_point_t</doc>
            <type name="Graphene.Point" c:type="graphene_point_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_point_previous_coords_abs"
              c:identifier="clutter_gesture_get_point_previous_coords_abs"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="153"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="point_index" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="coords_out" transfer-ownership="none">
            <type name="Graphene.Point" c:type="graphene_point_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_points" c:identifier="clutter_gesture_get_points">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-gesture.c"
             line="1557">Retrieves an array of the currently active points of the gesture, the array is
ordered in the order the points were added in (newest to oldest).</doc>
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="124"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-gesture.c"
               line="1565">array with active points of the gesture</doc>
          <array length="0" zero-terminated="0" c:type="unsigned int*">
            <type name="guint" c:type="unsigned int"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1559">a #ClutterGesture</doc>
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="n_points"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1560">number of points</doc>
            <type name="gsize" c:type="size_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_state"
              c:identifier="clutter_gesture_get_state"
              glib:get-property="state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-gesture.c"
             line="1508">Gets the current state of the gesture.</doc>
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="112"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-gesture.c"
               line="1514">the #ClutterGestureState</doc>
          <type name="GestureState" c:type="ClutterGestureState"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1510">a #ClutterGesture</doc>
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="reset_state_machine"
              c:identifier="clutter_gesture_reset_state_machine"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="118"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_state"
              c:identifier="clutter_gesture_set_state"
              introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-gesture.c"
             line="1432">Sets the state of the gesture. This method is private to gesture
implementations.

Allowed state transitions are:

- From POSSIBLE into RECOGNIZING, COMPLETED or CANCELLED.
- From RECOGNIZING into COMPLETED or CANCELLED.</doc>
        <source-position filename="clutter/clutter/clutter-gesture.h"
                         line="108"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Gesture" c:type="ClutterGesture*"/>
          </instance-parameter>
          <parameter name="state" transfer-ownership="none">
            <type name="GestureState" c:type="ClutterGestureState"/>
          </parameter>
        </parameters>
      </method>
      <property name="state"
                transfer-ownership="none"
                getter="get_state"
                default-value="CLUTTER_GESTURE_STATE_WAITING">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-gesture.c"
             line="1284">The current state of the gesture.</doc>
        <type name="GestureState"/>
      </property>
      <field name="parent_instance">
        <type name="Action" c:type="ClutterAction"/>
      </field>
      <glib:signal name="cancel" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-gesture.c"
             line="1392">The ::cancel signal is emitted when a continuous gesture got cancelled.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="end" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-gesture.c"
             line="1372">The ::end signal is emitted when a continuous gesture ends.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="may-recognize" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-gesture.c"
             line="1328">The ::may-recognize signal is emitted if the gesture might become
active and move to RECOGNIZING. Its purpose is to allow the
implementation or a user of a gesture to prohibit the gesture
from starting when needed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-gesture.c"
               line="1337">%TRUE if the gesture may recognize, %FALSE if it may not.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </glib:signal>
      <glib:signal name="recognize" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-gesture.c"
             line="1349">The ::recognize signal is emitted when the gesture recognizes.

This is the signal gesture users are supposed to use for implementing
actions on gesture recognize.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="should-handle-sequence" when="first">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-gesture.c"
             line="1303">The ::should-handle-sequence signal is emitted when a sequence gets added
to the gesture. Return %FALSE to make the gesture ignore the sequence of
events.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-gesture.c"
               line="1312">%TRUE if the gesture may handle the sequence, %FALSE if it may not.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="sequence_begin_event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-gesture.c"
                 line="1306">the #ClutterEvent beginning the sequence</doc>
            <type name="Event"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="GestureClass"
            c:type="ClutterGestureClass"
            glib:is-gtype-struct-for="Gesture">
      <source-position filename="clutter/clutter/clutter-gesture.h"
                       line="105"/>
      <field name="parent_class">
        <type name="ActionClass" c:type="ClutterActionClass"/>
      </field>
      <field name="should_handle_sequence">
        <callback name="should_handle_sequence">
          <source-position filename="clutter/clutter/clutter-gesture.h"
                           line="41"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Gesture" c:type="ClutterGesture*"/>
            </parameter>
            <parameter name="sequence_begin_event" transfer-ownership="none">
              <type name="Event" c:type="const ClutterEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="point_began">
        <callback name="point_began">
          <source-position filename="clutter/clutter/clutter-gesture.h"
                           line="47"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Gesture" c:type="ClutterGesture*"/>
            </parameter>
            <parameter name="sequence_index" transfer-ownership="none">
              <type name="guint" c:type="unsigned int"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="point_moved">
        <callback name="point_moved">
          <source-position filename="clutter/clutter/clutter-gesture.h"
                           line="53"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Gesture" c:type="ClutterGesture*"/>
            </parameter>
            <parameter name="sequence_index" transfer-ownership="none">
              <type name="guint" c:type="unsigned int"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="point_ended">
        <callback name="point_ended">
          <source-position filename="clutter/clutter/clutter-gesture.h"
                           line="59"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Gesture" c:type="ClutterGesture*"/>
            </parameter>
            <parameter name="sequence_index" transfer-ownership="none">
              <type name="guint" c:type="unsigned int"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="sequences_cancelled">
        <callback name="sequences_cancelled">
          <source-position filename="clutter/clutter/clutter-gesture.h"
                           line="65"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Gesture" c:type="ClutterGesture*"/>
            </parameter>
            <parameter name="sequences" transfer-ownership="none">
              <type name="guint" c:type="unsigned int*"/>
            </parameter>
            <parameter name="n_sequences" transfer-ownership="none">
              <type name="guint" c:type="unsigned int"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="state_changed">
        <callback name="state_changed">
          <source-position filename="clutter/clutter/clutter-gesture.h"
                           line="72"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Gesture" c:type="ClutterGesture*"/>
            </parameter>
            <parameter name="old_state" transfer-ownership="none">
              <type name="GestureState" c:type="ClutterGestureState"/>
            </parameter>
            <parameter name="new_state" transfer-ownership="none">
              <type name="GestureState" c:type="ClutterGestureState"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="crossing_event">
        <callback name="crossing_event">
          <source-position filename="clutter/clutter/clutter-gesture.h"
                           line="79"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Gesture" c:type="ClutterGesture*"/>
            </parameter>
            <parameter name="sequence_index" transfer-ownership="none">
              <type name="guint" c:type="unsigned int"/>
            </parameter>
            <parameter name="type" transfer-ownership="none">
              <type name="EventType" c:type="ClutterEventType"/>
            </parameter>
            <parameter name="time" transfer-ownership="none">
              <type name="guint32" c:type="uint32_t"/>
            </parameter>
            <parameter name="flags" transfer-ownership="none">
              <type name="EventFlags" c:type="ClutterEventFlags"/>
            </parameter>
            <parameter name="source_actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="related_actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="may_recognize">
        <callback name="may_recognize">
          <source-position filename="clutter/clutter/clutter-gesture.h"
                           line="90"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Gesture" c:type="ClutterGesture*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="should_influence">
        <callback name="should_influence">
          <source-position filename="clutter/clutter/clutter-gesture.h"
                           line="95"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Gesture" c:type="ClutterGesture*"/>
            </parameter>
            <parameter name="other_gesture" transfer-ownership="none">
              <type name="Gesture" c:type="ClutterGesture*"/>
            </parameter>
            <parameter name="cancel_on_recognizing" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="should_be_influenced_by">
        <callback name="should_be_influenced_by">
          <source-position filename="clutter/clutter/clutter-gesture.h"
                           line="102"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Gesture" c:type="ClutterGesture*"/>
            </parameter>
            <parameter name="other_gesture" transfer-ownership="none">
              <type name="Gesture" c:type="ClutterGesture*"/>
            </parameter>
            <parameter name="cancelled_on_recognizing"
                       transfer-ownership="none">
              <type name="gboolean" c:type="gboolean*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="GestureState"
                 glib:type-name="ClutterGestureState"
                 glib:get-type="clutter_gesture_state_get_type"
                 c:type="ClutterGestureState">
      <member name="waiting"
              value="0"
              c:identifier="CLUTTER_GESTURE_STATE_WAITING"
              glib:nick="waiting"
              glib:name="CLUTTER_GESTURE_STATE_WAITING">
      </member>
      <member name="possible"
              value="1"
              c:identifier="CLUTTER_GESTURE_STATE_POSSIBLE"
              glib:nick="possible"
              glib:name="CLUTTER_GESTURE_STATE_POSSIBLE">
      </member>
      <member name="recognizing"
              value="2"
              c:identifier="CLUTTER_GESTURE_STATE_RECOGNIZING"
              glib:nick="recognizing"
              glib:name="CLUTTER_GESTURE_STATE_RECOGNIZING">
      </member>
      <member name="completed"
              value="3"
              c:identifier="CLUTTER_GESTURE_STATE_COMPLETED"
              glib:nick="completed"
              glib:name="CLUTTER_GESTURE_STATE_COMPLETED">
      </member>
      <member name="cancelled"
              value="4"
              c:identifier="CLUTTER_GESTURE_STATE_CANCELLED"
              glib:nick="cancelled"
              glib:name="CLUTTER_GESTURE_STATE_CANCELLED">
      </member>
      <member name="clutter_n_gesture_states"
              value="5"
              c:identifier="CLUTTER_N_GESTURE_STATES"
              glib:nick="clutter-n-gesture-states"
              glib:name="CLUTTER_N_GESTURE_STATES">
      </member>
    </enumeration>
    <class name="Grab"
           c:symbol-prefix="grab"
           c:type="ClutterGrab"
           parent="GObject.Object"
           final="1"
           glib:type-name="ClutterGrab"
           glib:get-type="clutter_grab_get_type"
           glib:type-struct="GrabClass">
      <source-position filename="clutter/clutter/clutter-grab.h" line="37"/>
      <method name="activate" c:identifier="clutter_grab_activate">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="3048">Activates a grab onto its assigned actor. Events will be propagated as
usual inside its hierarchy. Activating an already active grab will have
no side effects.

This method is necessary for grabs obtained through
[method@Stage.grab_inactive]. Grabs obtained through [method@Stage.grab]
will be activated implicitly.

to undo the effects of this function, call [method@Grab.dismiss].</doc>
        <source-position filename="clutter/clutter/clutter-grab.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="grab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="3050">a `ClutterGrab`</doc>
            <type name="Grab" c:type="ClutterGrab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="dismiss" c:identifier="clutter_grab_dismiss">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="3252">Removes a grab. If this grab is effective, crossing events
will be generated to indicate the change in event redirection.</doc>
        <source-position filename="clutter/clutter/clutter-grab.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="grab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="3254">Grab to undo</doc>
            <type name="Grab" c:type="ClutterGrab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_seat_state" c:identifier="clutter_grab_get_seat_state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="3267">Returns the windowing-level state of the
grab, the devices that are guaranteed to be
grabbed.</doc>
        <source-position filename="clutter/clutter/clutter-grab.h" line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-stage.c"
               line="3275">The state of the grab.</doc>
          <type name="GrabState" c:type="ClutterGrabState"/>
        </return-value>
        <parameters>
          <instance-parameter name="grab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="3269">a Grab handle</doc>
            <type name="Grab" c:type="ClutterGrab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_revoked"
              c:identifier="clutter_grab_is_revoked"
              glib:get-property="revoked">
        <source-position filename="clutter/clutter/clutter-grab.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="grab" transfer-ownership="none">
            <type name="Grab" c:type="ClutterGrab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="revoked"
                transfer-ownership="none"
                getter="is_revoked"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="GrabClass"
            c:type="ClutterGrabClass"
            glib:is-gtype-struct-for="Grab">
      <source-position filename="clutter/clutter/clutter-grab.h" line="37"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <bitfield name="GrabState"
              glib:type-name="ClutterGrabState"
              glib:get-type="clutter_grab_state_get_type"
              c:type="ClutterGrabState">
      <member name="none"
              value="0"
              c:identifier="CLUTTER_GRAB_STATE_NONE"
              glib:nick="none"
              glib:name="CLUTTER_GRAB_STATE_NONE">
      </member>
      <member name="pointer"
              value="1"
              c:identifier="CLUTTER_GRAB_STATE_POINTER"
              glib:nick="pointer"
              glib:name="CLUTTER_GRAB_STATE_POINTER">
      </member>
      <member name="keyboard"
              value="2"
              c:identifier="CLUTTER_GRAB_STATE_KEYBOARD"
              glib:nick="keyboard"
              glib:name="CLUTTER_GRAB_STATE_KEYBOARD">
      </member>
      <member name="all"
              value="3"
              c:identifier="CLUTTER_GRAB_STATE_ALL"
              glib:nick="all"
              glib:name="CLUTTER_GRAB_STATE_ALL">
      </member>
    </bitfield>
    <class name="GridLayout"
           c:symbol-prefix="grid_layout"
           c:type="ClutterGridLayout"
           parent="LayoutManager"
           final="1"
           glib:type-name="ClutterGridLayout"
           glib:get-type="clutter_grid_layout_get_type"
           glib:type-struct="GridLayoutClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-grid-layout.c"
           line="42">A layout manager for a grid of actors

#ClutterGridLayout is a layout manager which arranges its child widgets in
rows and columns. It is a very similar to [class@Clutter.BoxLayout], but it
consistently uses [class@Clutter.Actor]'s alignment and expansion flags instead of
custom child properties.

Children are added using [method@Clutter.GridLayout.attach]. They can span
multiple rows or columns. It is also possible to add a child next to an
existing child, using [method@Clutter.GridLayout.attach_next_to]. The behaviour of
#ClutterGridLayout when several children occupy the same grid cell is undefined.

#ClutterGridLayout can be used like a #ClutterBoxLayout by just using
[method@Clutter.Actor.add_child], which will place children next to each other in
the direction determined by the [property@Clutter.GridLayout:orientation] property.</doc>
      <source-position filename="clutter/clutter/clutter-grid-layout.h"
                       line="42"/>
      <constructor name="new" c:identifier="clutter_grid_layout_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="1608">Creates a new #ClutterGridLayout</doc>
        <source-position filename="clutter/clutter/clutter-grid-layout.h"
                         line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-grid-layout.c"
               line="1613">the new #ClutterGridLayout</doc>
          <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
        </return-value>
      </constructor>
      <method name="attach" c:identifier="clutter_grid_layout_attach">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="1621">Adds a widget to the grid.

The position of @child is determined by @left and @top. The
number of 'cells' that @child will occupy is determined by
@width and @height.</doc>
        <source-position filename="clutter/clutter/clutter-grid-layout.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1623">a #ClutterGridLayout</doc>
            <type name="GridLayout" c:type="ClutterGridLayout*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1624">the #ClutterActor to add</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="left" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1625">the column number to attach the left side of @child to</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="top" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1626">the row number to attach the top side of @child to</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1627">the number of columns that @child will span</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1628">the number of rows that @child will span</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="attach_next_to"
              c:identifier="clutter_grid_layout_attach_next_to">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="1653">Adds a actor to the grid.

The actor is placed next to @sibling, on the side determined by
@side. When @sibling is %NULL, the actor is placed in row (for
left or right placement) or column 0 (for top or bottom placement),
at the end indicated by @side.

Attaching widgets labeled [1], [2], [3] with @sibling == %NULL and
@side == %CLUTTER_GRID_POSITION_LEFT yields a layout of [3][2][1].</doc>
        <source-position filename="clutter/clutter/clutter-grid-layout.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1655">a #ClutterGridLayout</doc>
            <type name="GridLayout" c:type="ClutterGridLayout*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1656">the actor to add</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="sibling"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1657">the child of @layout that @child will be placed
    next to, or %NULL to place @child at the beginning or end</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="side" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1659">the side of @sibling that @child is positioned next to</doc>
            <type name="GridPosition" c:type="ClutterGridPosition"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1660">the number of columns that @child will span</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1661">the number of rows that @child will span</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_child_at"
              c:identifier="clutter_grid_layout_get_child_at">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="1722">Gets the child of @layout whose area covers the grid
cell whose upper left corner is at @left, @top.</doc>
        <source-position filename="clutter/clutter/clutter-grid-layout.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-grid-layout.c"
               line="1731">the child at the given position, or %NULL</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1724">a #ClutterGridLayout</doc>
            <type name="GridLayout" c:type="ClutterGridLayout*"/>
          </instance-parameter>
          <parameter name="left" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1725">the left edge of the cell</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="top" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1726">the top edge of the cell</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_column_homogeneous"
              c:identifier="clutter_grid_layout_get_column_homogeneous"
              glib:get-property="column-homogeneous">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="2030">Returns whether all columns of @layout have the same width.</doc>
        <source-position filename="clutter/clutter/clutter-grid-layout.h"
                         line="110"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-grid-layout.c"
               line="2036">whether all columns of @layout have the same width.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="2032">a #ClutterGridLayout</doc>
            <type name="GridLayout" c:type="ClutterGridLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_column_spacing"
              c:identifier="clutter_grid_layout_get_column_spacing"
              glib:get-property="column-spacing">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="1991">Retrieves the spacing set using [method@Clutter.GridLayout.set_column_spacing]</doc>
        <source-position filename="clutter/clutter/clutter-grid-layout.h"
                         line="96"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-grid-layout.c"
               line="1997">the spacing between coluns of @layout</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1993">a #ClutterGridLayout</doc>
            <type name="GridLayout" c:type="ClutterGridLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_orientation"
              c:identifier="clutter_grid_layout_get_orientation"
              glib:get-property="orientation">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="1912">Retrieves the orientation of the @layout.</doc>
        <source-position filename="clutter/clutter/clutter-grid-layout.h"
                         line="89"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-grid-layout.c"
               line="1918">the orientation of the layout</doc>
          <type name="Orientation" c:type="ClutterOrientation"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1914">a #ClutterGridLayout</doc>
            <type name="GridLayout" c:type="ClutterGridLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_row_homogeneous"
              c:identifier="clutter_grid_layout_get_row_homogeneous"
              glib:get-property="row-homogeneous">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="2069">Returns whether all rows of @layout have the same height.</doc>
        <source-position filename="clutter/clutter/clutter-grid-layout.h"
                         line="118"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-grid-layout.c"
               line="2075">whether all rows of @layout have the same height.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="2071">a #ClutterGridLayout</doc>
            <type name="GridLayout" c:type="ClutterGridLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_row_spacing"
              c:identifier="clutter_grid_layout_get_row_spacing"
              glib:get-property="row-spacing">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="1952">Retrieves the spacing set using [method@Clutter.GridLayout.set_row_spacing]</doc>
        <source-position filename="clutter/clutter/clutter-grid-layout.h"
                         line="103"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-grid-layout.c"
               line="1958">the spacing between rows of @layout</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1954">a #ClutterGridLayout</doc>
            <type name="GridLayout" c:type="ClutterGridLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="insert_column"
              c:identifier="clutter_grid_layout_insert_column">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="1811">Inserts a column at the specified position.

Children which are attached at or to the right of this position
are moved one column to the right. Children which span across this
position are grown to span the new column.</doc>
        <source-position filename="clutter/clutter/clutter-grid-layout.h"
                         line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1813">a #ClutterGridLayout</doc>
            <type name="GridLayout" c:type="ClutterGridLayout*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1814">the position to insert the column at</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_next_to"
              c:identifier="clutter_grid_layout_insert_next_to">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="1860">Inserts a row or column at the specified position.

The new row or column is placed next to @sibling, on the side
determined by @side. If @side is %CLUTTER_GRID_POSITION_LEFT or
%CLUTTER_GRID_POSITION_BOTTOM, a row is inserted. If @side is
%CLUTTER_GRID_POSITION_LEFT of %CLUTTER_GRID_POSITION_RIGHT,
a column is inserted.</doc>
        <source-position filename="clutter/clutter/clutter-grid-layout.h"
                         line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1862">a #ClutterGridLayout</doc>
            <type name="GridLayout" c:type="ClutterGridLayout*"/>
          </instance-parameter>
          <parameter name="sibling" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1863">the child of @layout that the new row or column will be
    placed next to</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="side" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1865">the side of @sibling that @child is positioned next to</doc>
            <type name="GridPosition" c:type="ClutterGridPosition"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_row" c:identifier="clutter_grid_layout_insert_row">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="1762">Inserts a row at the specified position.

Children which are attached at or below this position
are moved one row down. Children which span across this
position are grown to span the new row.</doc>
        <source-position filename="clutter/clutter/clutter-grid-layout.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1764">a #ClutterGridLayout</doc>
            <type name="GridLayout" c:type="ClutterGridLayout*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1765">the position to insert the row at</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_column_homogeneous"
              c:identifier="clutter_grid_layout_set_column_homogeneous"
              glib:set-property="column-homogeneous">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="2007">Sets whether all columns of @layout will have the same width.</doc>
        <source-position filename="clutter/clutter/clutter-grid-layout.h"
                         line="106"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="2009">a #ClutterGridLayout</doc>
            <type name="GridLayout" c:type="ClutterGridLayout*"/>
          </instance-parameter>
          <parameter name="homogeneous" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="2010">%TRUE to make columns homogeneous</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_column_spacing"
              c:identifier="clutter_grid_layout_set_column_spacing"
              glib:set-property="column-spacing">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="1968">Sets the spacing between columns of @layout</doc>
        <source-position filename="clutter/clutter/clutter-grid-layout.h"
                         line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1970">a #ClutterGridLayout</doc>
            <type name="GridLayout" c:type="ClutterGridLayout*"/>
          </instance-parameter>
          <parameter name="spacing" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1971">the spacing between columns of the layout, in pixels</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_orientation"
              c:identifier="clutter_grid_layout_set_orientation"
              glib:set-property="orientation">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="1695">Sets the orientation of the @layout.

#ClutterGridLayout uses the orientation as a hint when adding
children to the #ClutterActor using it as a layout manager via
[method@Clutter.Actor.add_child]; changing this value will not have
any effect on children that are already part of the layout.</doc>
        <source-position filename="clutter/clutter/clutter-grid-layout.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1697">a #ClutterGridLayout</doc>
            <type name="GridLayout" c:type="ClutterGridLayout*"/>
          </instance-parameter>
          <parameter name="orientation" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1698">the orientation of the #ClutterGridLayout</doc>
            <type name="Orientation" c:type="ClutterOrientation"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_row_homogeneous"
              c:identifier="clutter_grid_layout_set_row_homogeneous"
              glib:set-property="row-homogeneous">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="2046">Sets whether all rows of @layout will have the same height.</doc>
        <source-position filename="clutter/clutter/clutter-grid-layout.h"
                         line="114"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="2048">a #ClutterGridLayout</doc>
            <type name="GridLayout" c:type="ClutterGridLayout*"/>
          </instance-parameter>
          <parameter name="homogeneous" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="2049">%TRUE to make rows homogeneous</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_row_spacing"
              c:identifier="clutter_grid_layout_set_row_spacing"
              glib:set-property="row-spacing">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="1929">Sets the spacing between rows of @layout</doc>
        <source-position filename="clutter/clutter/clutter-grid-layout.h"
                         line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1931">a #ClutterGridLayout</doc>
            <type name="GridLayout" c:type="ClutterGridLayout*"/>
          </instance-parameter>
          <parameter name="spacing" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-grid-layout.c"
                 line="1932">the spacing between rows of the layout, in pixels</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <property name="column-homogeneous"
                writable="1"
                transfer-ownership="none"
                setter="set_column_homogeneous"
                getter="get_column_homogeneous"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="1583">Whether all columns of the layout should have the same width</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="column-spacing"
                writable="1"
                transfer-ownership="none"
                setter="set_column_spacing"
                getter="get_column_spacing"
                default-value="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="1563">The amount of space in pixels between two consecutive columns</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="orientation"
                writable="1"
                transfer-ownership="none"
                setter="set_orientation"
                getter="get_orientation"
                default-value="CLUTTER_ORIENTATION_HORIZONTAL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="1542">The orientation of the layout, either horizontal or vertical</doc>
        <type name="Orientation"/>
      </property>
      <property name="row-homogeneous"
                writable="1"
                transfer-ownership="none"
                setter="set_row_homogeneous"
                getter="get_row_homogeneous"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="1573">Whether all rows of the layout should have the same height</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="row-spacing"
                writable="1"
                transfer-ownership="none"
                setter="set_row_spacing"
                getter="get_row_spacing"
                default-value="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-grid-layout.c"
             line="1553">The amount of space in pixels between two consecutive rows</doc>
        <type name="guint" c:type="guint"/>
      </property>
    </class>
    <record name="GridLayoutClass"
            c:type="ClutterGridLayoutClass"
            glib:is-gtype-struct-for="GridLayout">
      <source-position filename="clutter/clutter/clutter-grid-layout.h"
                       line="42"/>
      <field name="parent_class">
        <type name="LayoutManagerClass" c:type="ClutterLayoutManagerClass"/>
      </field>
    </record>
    <enumeration name="GridPosition"
                 glib:type-name="ClutterGridPosition"
                 glib:get-type="clutter_grid_position_get_type"
                 c:type="ClutterGridPosition">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="888">Grid position modes.</doc>
      <member name="left"
              value="0"
              c:identifier="CLUTTER_GRID_POSITION_LEFT"
              glib:nick="left"
              glib:name="CLUTTER_GRID_POSITION_LEFT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="890">left position</doc>
      </member>
      <member name="right"
              value="1"
              c:identifier="CLUTTER_GRID_POSITION_RIGHT"
              glib:nick="right"
              glib:name="CLUTTER_GRID_POSITION_RIGHT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="891">right position</doc>
      </member>
      <member name="top"
              value="2"
              c:identifier="CLUTTER_GRID_POSITION_TOP"
              glib:nick="top"
              glib:name="CLUTTER_GRID_POSITION_TOP">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="892">top position</doc>
      </member>
      <member name="bottom"
              value="3"
              c:identifier="CLUTTER_GRID_POSITION_BOTTOM"
              glib:nick="bottom"
              glib:name="CLUTTER_GRID_POSITION_BOTTOM">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="893">bottom position</doc>
      </member>
    </enumeration>
    <record name="IMEvent" c:type="ClutterIMEvent" disguised="1" opaque="1">
      <source-position filename="clutter/clutter/clutter-event.h" line="111"/>
    </record>
    <function-macro name="INPUT_DEVICE"
                    c:identifier="CLUTTER_INPUT_DEVICE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-input-device.h"
                       line="58"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="INPUT_DEVICE_CLASS"
                    c:identifier="CLUTTER_INPUT_DEVICE_CLASS"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-input-device.h"
                       line="60"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="INPUT_DEVICE_GET_CLASS"
                    c:identifier="CLUTTER_INPUT_DEVICE_GET_CLASS"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-input-device.h"
                       line="62"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ACTOR"
                    c:identifier="CLUTTER_IS_ACTOR"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-actor.h" line="49"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ACTOR_CLASS"
                    c:identifier="CLUTTER_IS_ACTOR_CLASS"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-actor.h" line="50"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ACTOR_NODE"
                    c:identifier="CLUTTER_IS_ACTOR_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="93"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BACKEND"
                    c:identifier="CLUTTER_IS_BACKEND"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-backend.h" line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BLIT_NODE"
                    c:identifier="CLUTTER_IS_BLIT_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="151"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BLUR_NODE"
                    c:identifier="CLUTTER_IS_BLUR_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="173"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CLIP_NODE"
                    c:identifier="CLUTTER_IS_CLIP_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="67"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COLOR_NODE"
                    c:identifier="CLUTTER_IS_COLOR_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_INPUT_DEVICE"
                    c:identifier="CLUTTER_IS_INPUT_DEVICE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-input-device.h"
                       line="59"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_INPUT_DEVICE_CLASS"
                    c:identifier="CLUTTER_IS_INPUT_DEVICE_CLASS"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-input-device.h"
                       line="61"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_LAYER_NODE"
                    c:identifier="CLUTTER_IS_LAYER_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="123"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PAINT_NODE"
                    c:identifier="CLUTTER_IS_PAINT_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-node.h"
                       line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PIPELINE_NODE"
                    c:identifier="CLUTTER_IS_PIPELINE_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="80"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ROOT_NODE"
                    c:identifier="CLUTTER_IS_ROOT_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="107"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_TEXTURE_NODE"
                    c:identifier="CLUTTER_IS_TEXTURE_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="51"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_TEXT_NODE"
                    c:identifier="CLUTTER_IS_TEXT_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/pango/clutter-text-node.h"
                       line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_TRANSFORM_NODE"
                    c:identifier="CLUTTER_IS_TRANSFORM_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="138"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <enumeration name="InputAxis"
                 glib:type-name="ClutterInputAxis"
                 glib:get-type="clutter_input_axis_get_type"
                 c:type="ClutterInputAxis">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="671">The type of axes Clutter recognizes on a #ClutterInputDevice</doc>
      <member name="ignore"
              value="0"
              c:identifier="CLUTTER_INPUT_AXIS_IGNORE"
              glib:nick="ignore"
              glib:name="CLUTTER_INPUT_AXIS_IGNORE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="673">Unused axis</doc>
      </member>
      <member name="x"
              value="1"
              c:identifier="CLUTTER_INPUT_AXIS_X"
              glib:nick="x"
              glib:name="CLUTTER_INPUT_AXIS_X">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="674">The position on the X axis</doc>
      </member>
      <member name="y"
              value="2"
              c:identifier="CLUTTER_INPUT_AXIS_Y"
              glib:nick="y"
              glib:name="CLUTTER_INPUT_AXIS_Y">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="675">The position of the Y axis</doc>
      </member>
      <member name="pressure"
              value="3"
              c:identifier="CLUTTER_INPUT_AXIS_PRESSURE"
              glib:nick="pressure"
              glib:name="CLUTTER_INPUT_AXIS_PRESSURE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="676">The pressure information</doc>
      </member>
      <member name="xtilt"
              value="4"
              c:identifier="CLUTTER_INPUT_AXIS_XTILT"
              glib:nick="xtilt"
              glib:name="CLUTTER_INPUT_AXIS_XTILT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="677">The tilt on the X axis</doc>
      </member>
      <member name="ytilt"
              value="5"
              c:identifier="CLUTTER_INPUT_AXIS_YTILT"
              glib:nick="ytilt"
              glib:name="CLUTTER_INPUT_AXIS_YTILT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="678">The tile on the Y axis</doc>
      </member>
      <member name="wheel"
              value="6"
              c:identifier="CLUTTER_INPUT_AXIS_WHEEL"
              glib:nick="wheel"
              glib:name="CLUTTER_INPUT_AXIS_WHEEL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="679">A wheel</doc>
      </member>
      <member name="distance"
              value="7"
              c:identifier="CLUTTER_INPUT_AXIS_DISTANCE"
              glib:nick="distance"
              glib:name="CLUTTER_INPUT_AXIS_DISTANCE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="680">Distance (Since 1.12)</doc>
      </member>
      <member name="rotation"
              value="8"
              c:identifier="CLUTTER_INPUT_AXIS_ROTATION"
              glib:nick="rotation"
              glib:name="CLUTTER_INPUT_AXIS_ROTATION">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="681">Rotation along the z-axis (Since 1.28)</doc>
      </member>
      <member name="slider"
              value="9"
              c:identifier="CLUTTER_INPUT_AXIS_SLIDER"
              glib:nick="slider"
              glib:name="CLUTTER_INPUT_AXIS_SLIDER">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="682">A slider (Since 1.28)</doc>
      </member>
      <member name="last"
              value="10"
              c:identifier="CLUTTER_INPUT_AXIS_LAST"
              glib:nick="last"
              glib:name="CLUTTER_INPUT_AXIS_LAST">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="683">Last value of the enumeration; this value is
  useful when iterating over the enumeration values (Since 1.12)</doc>
      </member>
    </enumeration>
    <bitfield name="InputAxisFlags"
              glib:type-name="ClutterInputAxisFlags"
              glib:get-type="clutter_input_axis_flags_get_type"
              c:type="ClutterInputAxisFlags">
      <member name="none"
              value="0"
              c:identifier="CLUTTER_INPUT_AXIS_FLAG_NONE"
              glib:nick="none"
              glib:name="CLUTTER_INPUT_AXIS_FLAG_NONE">
      </member>
      <member name="x"
              value="2"
              c:identifier="CLUTTER_INPUT_AXIS_FLAG_X"
              glib:nick="x"
              glib:name="CLUTTER_INPUT_AXIS_FLAG_X">
      </member>
      <member name="y"
              value="4"
              c:identifier="CLUTTER_INPUT_AXIS_FLAG_Y"
              glib:nick="y"
              glib:name="CLUTTER_INPUT_AXIS_FLAG_Y">
      </member>
      <member name="pressure"
              value="8"
              c:identifier="CLUTTER_INPUT_AXIS_FLAG_PRESSURE"
              glib:nick="pressure"
              glib:name="CLUTTER_INPUT_AXIS_FLAG_PRESSURE">
      </member>
      <member name="xtilt"
              value="16"
              c:identifier="CLUTTER_INPUT_AXIS_FLAG_XTILT"
              glib:nick="xtilt"
              glib:name="CLUTTER_INPUT_AXIS_FLAG_XTILT">
      </member>
      <member name="ytilt"
              value="32"
              c:identifier="CLUTTER_INPUT_AXIS_FLAG_YTILT"
              glib:nick="ytilt"
              glib:name="CLUTTER_INPUT_AXIS_FLAG_YTILT">
      </member>
      <member name="wheel"
              value="64"
              c:identifier="CLUTTER_INPUT_AXIS_FLAG_WHEEL"
              glib:nick="wheel"
              glib:name="CLUTTER_INPUT_AXIS_FLAG_WHEEL">
      </member>
      <member name="distance"
              value="128"
              c:identifier="CLUTTER_INPUT_AXIS_FLAG_DISTANCE"
              glib:nick="distance"
              glib:name="CLUTTER_INPUT_AXIS_FLAG_DISTANCE">
      </member>
      <member name="rotation"
              value="256"
              c:identifier="CLUTTER_INPUT_AXIS_FLAG_ROTATION"
              glib:nick="rotation"
              glib:name="CLUTTER_INPUT_AXIS_FLAG_ROTATION">
      </member>
      <member name="slider"
              value="512"
              c:identifier="CLUTTER_INPUT_AXIS_FLAG_SLIDER"
              glib:nick="slider"
              glib:name="CLUTTER_INPUT_AXIS_FLAG_SLIDER">
      </member>
    </bitfield>
    <bitfield name="InputCapabilities"
              glib:type-name="ClutterInputCapabilities"
              glib:get-type="clutter_input_capabilities_get_type"
              c:type="ClutterInputCapabilities">
      <member name="none"
              value="0"
              c:identifier="CLUTTER_INPUT_CAPABILITY_NONE"
              glib:nick="none"
              glib:name="CLUTTER_INPUT_CAPABILITY_NONE">
      </member>
      <member name="pointer"
              value="1"
              c:identifier="CLUTTER_INPUT_CAPABILITY_POINTER"
              glib:nick="pointer"
              glib:name="CLUTTER_INPUT_CAPABILITY_POINTER">
      </member>
      <member name="keyboard"
              value="2"
              c:identifier="CLUTTER_INPUT_CAPABILITY_KEYBOARD"
              glib:nick="keyboard"
              glib:name="CLUTTER_INPUT_CAPABILITY_KEYBOARD">
      </member>
      <member name="touchpad"
              value="4"
              c:identifier="CLUTTER_INPUT_CAPABILITY_TOUCHPAD"
              glib:nick="touchpad"
              glib:name="CLUTTER_INPUT_CAPABILITY_TOUCHPAD">
      </member>
      <member name="touch"
              value="8"
              c:identifier="CLUTTER_INPUT_CAPABILITY_TOUCH"
              glib:nick="touch"
              glib:name="CLUTTER_INPUT_CAPABILITY_TOUCH">
      </member>
      <member name="tablet_tool"
              value="16"
              c:identifier="CLUTTER_INPUT_CAPABILITY_TABLET_TOOL"
              glib:nick="tablet-tool"
              glib:name="CLUTTER_INPUT_CAPABILITY_TABLET_TOOL">
      </member>
      <member name="tablet_pad"
              value="32"
              c:identifier="CLUTTER_INPUT_CAPABILITY_TABLET_PAD"
              glib:nick="tablet-pad"
              glib:name="CLUTTER_INPUT_CAPABILITY_TABLET_PAD">
      </member>
      <member name="trackball"
              value="64"
              c:identifier="CLUTTER_INPUT_CAPABILITY_TRACKBALL"
              glib:nick="trackball"
              glib:name="CLUTTER_INPUT_CAPABILITY_TRACKBALL">
      </member>
      <member name="trackpoint"
              value="128"
              c:identifier="CLUTTER_INPUT_CAPABILITY_TRACKPOINT"
              glib:nick="trackpoint"
              glib:name="CLUTTER_INPUT_CAPABILITY_TRACKPOINT">
      </member>
    </bitfield>
    <bitfield name="InputContentHintFlags"
              glib:type-name="ClutterInputContentHintFlags"
              glib:get-type="clutter_input_content_hint_flags_get_type"
              c:type="ClutterInputContentHintFlags">
      <member name="completion"
              value="1"
              c:identifier="CLUTTER_INPUT_CONTENT_HINT_COMPLETION"
              glib:nick="completion"
              glib:name="CLUTTER_INPUT_CONTENT_HINT_COMPLETION">
      </member>
      <member name="spellcheck"
              value="2"
              c:identifier="CLUTTER_INPUT_CONTENT_HINT_SPELLCHECK"
              glib:nick="spellcheck"
              glib:name="CLUTTER_INPUT_CONTENT_HINT_SPELLCHECK">
      </member>
      <member name="auto_capitalization"
              value="4"
              c:identifier="CLUTTER_INPUT_CONTENT_HINT_AUTO_CAPITALIZATION"
              glib:nick="auto-capitalization"
              glib:name="CLUTTER_INPUT_CONTENT_HINT_AUTO_CAPITALIZATION">
      </member>
      <member name="lowercase"
              value="8"
              c:identifier="CLUTTER_INPUT_CONTENT_HINT_LOWERCASE"
              glib:nick="lowercase"
              glib:name="CLUTTER_INPUT_CONTENT_HINT_LOWERCASE">
      </member>
      <member name="uppercase"
              value="16"
              c:identifier="CLUTTER_INPUT_CONTENT_HINT_UPPERCASE"
              glib:nick="uppercase"
              glib:name="CLUTTER_INPUT_CONTENT_HINT_UPPERCASE">
      </member>
      <member name="titlecase"
              value="32"
              c:identifier="CLUTTER_INPUT_CONTENT_HINT_TITLECASE"
              glib:nick="titlecase"
              glib:name="CLUTTER_INPUT_CONTENT_HINT_TITLECASE">
      </member>
      <member name="hidden_text"
              value="64"
              c:identifier="CLUTTER_INPUT_CONTENT_HINT_HIDDEN_TEXT"
              glib:nick="hidden-text"
              glib:name="CLUTTER_INPUT_CONTENT_HINT_HIDDEN_TEXT">
      </member>
      <member name="sensitive_data"
              value="128"
              c:identifier="CLUTTER_INPUT_CONTENT_HINT_SENSITIVE_DATA"
              glib:nick="sensitive-data"
              glib:name="CLUTTER_INPUT_CONTENT_HINT_SENSITIVE_DATA">
      </member>
      <member name="latin"
              value="256"
              c:identifier="CLUTTER_INPUT_CONTENT_HINT_LATIN"
              glib:nick="latin"
              glib:name="CLUTTER_INPUT_CONTENT_HINT_LATIN">
      </member>
      <member name="multiline"
              value="512"
              c:identifier="CLUTTER_INPUT_CONTENT_HINT_MULTILINE"
              glib:nick="multiline"
              glib:name="CLUTTER_INPUT_CONTENT_HINT_MULTILINE">
      </member>
    </bitfield>
    <enumeration name="InputContentPurpose"
                 glib:type-name="ClutterInputContentPurpose"
                 glib:get-type="clutter_input_content_purpose_get_type"
                 c:type="ClutterInputContentPurpose">
      <member name="normal"
              value="0"
              c:identifier="CLUTTER_INPUT_CONTENT_PURPOSE_NORMAL"
              glib:nick="normal"
              glib:name="CLUTTER_INPUT_CONTENT_PURPOSE_NORMAL">
      </member>
      <member name="alpha"
              value="1"
              c:identifier="CLUTTER_INPUT_CONTENT_PURPOSE_ALPHA"
              glib:nick="alpha"
              glib:name="CLUTTER_INPUT_CONTENT_PURPOSE_ALPHA">
      </member>
      <member name="digits"
              value="2"
              c:identifier="CLUTTER_INPUT_CONTENT_PURPOSE_DIGITS"
              glib:nick="digits"
              glib:name="CLUTTER_INPUT_CONTENT_PURPOSE_DIGITS">
      </member>
      <member name="number"
              value="3"
              c:identifier="CLUTTER_INPUT_CONTENT_PURPOSE_NUMBER"
              glib:nick="number"
              glib:name="CLUTTER_INPUT_CONTENT_PURPOSE_NUMBER">
      </member>
      <member name="phone"
              value="4"
              c:identifier="CLUTTER_INPUT_CONTENT_PURPOSE_PHONE"
              glib:nick="phone"
              glib:name="CLUTTER_INPUT_CONTENT_PURPOSE_PHONE">
      </member>
      <member name="url"
              value="5"
              c:identifier="CLUTTER_INPUT_CONTENT_PURPOSE_URL"
              glib:nick="url"
              glib:name="CLUTTER_INPUT_CONTENT_PURPOSE_URL">
      </member>
      <member name="email"
              value="6"
              c:identifier="CLUTTER_INPUT_CONTENT_PURPOSE_EMAIL"
              glib:nick="email"
              glib:name="CLUTTER_INPUT_CONTENT_PURPOSE_EMAIL">
      </member>
      <member name="name"
              value="7"
              c:identifier="CLUTTER_INPUT_CONTENT_PURPOSE_NAME"
              glib:nick="name"
              glib:name="CLUTTER_INPUT_CONTENT_PURPOSE_NAME">
      </member>
      <member name="password"
              value="8"
              c:identifier="CLUTTER_INPUT_CONTENT_PURPOSE_PASSWORD"
              glib:nick="password"
              glib:name="CLUTTER_INPUT_CONTENT_PURPOSE_PASSWORD">
      </member>
      <member name="date"
              value="9"
              c:identifier="CLUTTER_INPUT_CONTENT_PURPOSE_DATE"
              glib:nick="date"
              glib:name="CLUTTER_INPUT_CONTENT_PURPOSE_DATE">
      </member>
      <member name="time"
              value="10"
              c:identifier="CLUTTER_INPUT_CONTENT_PURPOSE_TIME"
              glib:nick="time"
              glib:name="CLUTTER_INPUT_CONTENT_PURPOSE_TIME">
      </member>
      <member name="datetime"
              value="11"
              c:identifier="CLUTTER_INPUT_CONTENT_PURPOSE_DATETIME"
              glib:nick="datetime"
              glib:name="CLUTTER_INPUT_CONTENT_PURPOSE_DATETIME">
      </member>
      <member name="terminal"
              value="12"
              c:identifier="CLUTTER_INPUT_CONTENT_PURPOSE_TERMINAL"
              glib:nick="terminal"
              glib:name="CLUTTER_INPUT_CONTENT_PURPOSE_TERMINAL">
      </member>
    </enumeration>
    <class name="InputDevice"
           c:symbol-prefix="input_device"
           c:type="ClutterInputDevice"
           parent="GObject.Object"
           glib:type-name="ClutterInputDevice"
           glib:get-type="clutter_input_device_get_type"
           glib:type-struct="InputDeviceClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-input-device.c"
           line="24">An input device managed by Clutter

#ClutterInputDevice represents an input device known to Clutter.

The #ClutterInputDevice class holds the state of the device, but
its contents are usually defined by the Clutter backend in use.</doc>
      <source-position filename="clutter/clutter/clutter-input-device.h"
                       line="55"/>
      <virtual-method name="get_dimensions" invoker="get_dimensions">
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-input-device.c"
               line="836">%TRUE if the device reports the physical size of its input area.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device.c"
                 line="832">a #ClutterInputDevice</doc>
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
          <parameter name="width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device.c"
                 line="833">Return location for device width (in millimeters)</doc>
            <type name="guint" c:type="unsigned int*"/>
          </parameter>
          <parameter name="height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device.c"
                 line="834">Return location for device height (in millimeters)</doc>
            <type name="guint" c:type="unsigned int*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_group_n_modes" invoker="get_group_n_modes">
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="43"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
          <parameter name="group" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_pad_feature_group"
                      invoker="get_pad_feature_group">
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="49"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
          <parameter name="feature" transfer-ownership="none">
            <type name="InputDevicePadFeature"
                  c:type="ClutterInputDevicePadFeature"/>
          </parameter>
          <parameter name="n_feature" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="is_grouped" invoker="is_grouped">
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="46"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
          <parameter name="other_device" transfer-ownership="none">
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="is_mode_switch_button"
                      invoker="is_mode_switch_button">
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="40"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
          <parameter name="group" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="button" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_bus_type"
              c:identifier="clutter_input_device_get_bus_type"
              glib:get-property="bus-type">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device.c"
             line="634">Gets the bus type of this device. The returned
value is one of the BUS_* constants defined in
linux/input.h.</doc>
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-input-device.c"
               line="642">the bus type</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device.c"
                 line="636">a physical #ClutterInputDevice</doc>
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_capabilities"
              c:identifier="clutter_input_device_get_capabilities"
              glib:get-property="capabilities">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device.c"
             line="514">Retrieves the capabilities of @device</doc>
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="127"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-input-device.c"
               line="520">the capabilities of the device</doc>
          <type name="InputCapabilities" c:type="ClutterInputCapabilities"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device.c"
                 line="516">a #ClutterInputDevice</doc>
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_device_mode"
              c:identifier="clutter_input_device_get_device_mode"
              glib:get-property="device-mode">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device.c"
             line="574">Retrieves the #ClutterInputMode of @device.</doc>
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-input-device.c"
               line="580">the device mode</doc>
          <type name="InputMode" c:type="ClutterInputMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device.c"
                 line="576">a #ClutterInputDevice</doc>
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_device_name"
              c:identifier="clutter_input_device_get_device_name">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device.c"
             line="533">Retrieves the name of the @device</doc>
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-input-device.c"
               line="539">the name of the device, or %NULL. The returned string
  is owned by the #ClutterInputDevice and should never be modified
  or freed</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device.c"
                 line="535">a #ClutterInputDevice</doc>
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_device_node"
              c:identifier="clutter_input_device_get_device_node"
              glib:get-property="device-node">
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="113"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_device_type"
              c:identifier="clutter_input_device_get_device_type"
              glib:get-property="device-type">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device.c"
             line="494">Retrieves the type of @device</doc>
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-input-device.c"
               line="500">the type of the device</doc>
          <type name="InputDeviceType" c:type="ClutterInputDeviceType"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device.c"
                 line="496">a #ClutterInputDevice</doc>
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_dimensions"
              c:identifier="clutter_input_device_get_dimensions">
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="130"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-input-device.c"
               line="836">%TRUE if the device reports the physical size of its input area.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device.c"
                 line="832">a #ClutterInputDevice</doc>
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
          <parameter name="width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device.c"
                 line="833">Return location for device width (in millimeters)</doc>
            <type name="guint" c:type="unsigned int*"/>
          </parameter>
          <parameter name="height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device.c"
                 line="834">Return location for device height (in millimeters)</doc>
            <type name="guint" c:type="unsigned int*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_group_n_modes"
              c:identifier="clutter_input_device_get_group_n_modes">
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="101"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
          <parameter name="group" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_has_cursor"
              c:identifier="clutter_input_device_get_has_cursor"
              glib:get-property="has-cursor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device.c"
             line="554">Retrieves whether @device has a pointer that follows the
device motion.</doc>
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-input-device.c"
               line="561">%TRUE if the device has a cursor</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device.c"
                 line="556">a #ClutterInputDevice</doc>
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mode_switch_button_group"
              c:identifier="clutter_input_device_get_mode_switch_button_group">
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="109"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
          <parameter name="button" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_n_buttons"
              c:identifier="clutter_input_device_get_n_buttons"
              glib:get-property="n-buttons">
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="97"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_dials"
              c:identifier="clutter_input_device_get_n_dials"
              glib:get-property="n-dials">
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="93"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_mode_groups"
              c:identifier="clutter_input_device_get_n_mode_groups"
              glib:get-property="n-mode-groups">
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="95"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_rings"
              c:identifier="clutter_input_device_get_n_rings"
              glib:get-property="n-rings">
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="89"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_strips"
              c:identifier="clutter_input_device_get_n_strips"
              glib:get-property="n-strips">
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="91"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pad_feature_group"
              c:identifier="clutter_input_device_get_pad_feature_group">
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="122"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
          <parameter name="feature" transfer-ownership="none">
            <type name="InputDevicePadFeature"
                  c:type="ClutterInputDevicePadFeature"/>
          </parameter>
          <parameter name="n_feature" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_product_id"
              c:identifier="clutter_input_device_get_product_id"
              glib:get-property="product-id">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device.c"
             line="614">Gets the product ID of this device.</doc>
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="84"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-input-device.c"
               line="620">the product ID2</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device.c"
                 line="616">a physical #ClutterInputDevice</doc>
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_seat"
              c:identifier="clutter_input_device_get_seat"
              glib:get-property="seat">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device.c"
             line="811">Returns the seat the device belongs to</doc>
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="119"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-input-device.c"
               line="817">the device seat</doc>
          <type name="Seat" c:type="ClutterSeat*"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device.c"
                 line="813">a #ClutterInputDevice</doc>
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_vendor_id"
              c:identifier="clutter_input_device_get_vendor_id"
              glib:get-property="vendor-id">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device.c"
             line="594">Gets the vendor ID of this device.</doc>
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-input-device.c"
               line="600">the vendor ID</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device.c"
                 line="596">a physical #ClutterInputDevice</doc>
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_grouped" c:identifier="clutter_input_device_is_grouped">
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="116"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
          <parameter name="other_device" transfer-ownership="none">
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_mode_switch_button"
              c:identifier="clutter_input_device_is_mode_switch_button">
        <source-position filename="clutter/clutter/clutter-input-device.h"
                         line="105"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="device" transfer-ownership="none">
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </instance-parameter>
          <parameter name="group" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="button" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <property name="bus-type"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_bus_type"
                default-value="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device.c"
             line="425">Bus type of this device.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="capabilities"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_capabilities"
                default-value="CLUTTER_INPUT_CAPABILITY_NONE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device.c"
             line="354">The capabilities of the device</doc>
        <type name="InputCapabilities"/>
      </property>
      <property name="device-mode"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_device_mode"
                default-value="CLUTTER_INPUT_MODE_FLOATING">
        <type name="InputMode"/>
      </property>
      <property name="device-node"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_device_node"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="device-type"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_device_type"
                default-value="CLUTTER_POINTER_DEVICE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device.c"
             line="341">The type of the device</doc>
        <type name="InputDeviceType"/>
      </property>
      <property name="has-cursor"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_has_cursor"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device.c"
             line="391">Whether the device has an on screen cursor following its movement.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="n-buttons"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_n_buttons"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="n-dials"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_n_dials"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="n-mode-groups"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_n_mode_groups"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="n-rings"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_n_rings"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="n-strips"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_n_strips"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="name"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device.c"
             line="329">The name of the device</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="product-id"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_product_id"
                default-value="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device.c"
             line="414">Product ID of this device.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="seat"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_seat">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device.c"
             line="366">The #ClutterSeat instance which owns the device</doc>
        <type name="Seat"/>
      </property>
      <property name="vendor-id"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_vendor_id"
                default-value="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device.c"
             line="403">Vendor ID of this device.</doc>
        <type name="guint" c:type="guint"/>
      </property>
    </class>
    <record name="InputDeviceClass"
            c:type="ClutterInputDeviceClass"
            glib:is-gtype-struct-for="InputDevice">
      <source-position filename="clutter/clutter/clutter-input-device.h"
                       line="55"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="is_mode_switch_button">
        <callback name="is_mode_switch_button">
          <source-position filename="clutter/clutter/clutter-input-device.h"
                           line="40"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="device" transfer-ownership="none">
              <type name="InputDevice" c:type="ClutterInputDevice*"/>
            </parameter>
            <parameter name="group" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="button" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_group_n_modes">
        <callback name="get_group_n_modes">
          <source-position filename="clutter/clutter/clutter-input-device.h"
                           line="43"/>
          <return-value transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="device" transfer-ownership="none">
              <type name="InputDevice" c:type="ClutterInputDevice*"/>
            </parameter>
            <parameter name="group" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="is_grouped">
        <callback name="is_grouped">
          <source-position filename="clutter/clutter/clutter-input-device.h"
                           line="46"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="device" transfer-ownership="none">
              <type name="InputDevice" c:type="ClutterInputDevice*"/>
            </parameter>
            <parameter name="other_device" transfer-ownership="none">
              <type name="InputDevice" c:type="ClutterInputDevice*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_pad_feature_group">
        <callback name="get_pad_feature_group">
          <source-position filename="clutter/clutter/clutter-input-device.h"
                           line="49"/>
          <return-value transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </return-value>
          <parameters>
            <parameter name="device" transfer-ownership="none">
              <type name="InputDevice" c:type="ClutterInputDevice*"/>
            </parameter>
            <parameter name="feature" transfer-ownership="none">
              <type name="InputDevicePadFeature"
                    c:type="ClutterInputDevicePadFeature"/>
            </parameter>
            <parameter name="n_feature" transfer-ownership="none">
              <type name="gint" c:type="int"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_dimensions">
        <callback name="get_dimensions">
          <source-position filename="clutter/clutter/clutter-input-device.h"
                           line="52"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device.c"
                 line="836">%TRUE if the device reports the physical size of its input area.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="device" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-input-device.c"
                   line="832">a #ClutterInputDevice</doc>
              <type name="InputDevice" c:type="ClutterInputDevice*"/>
            </parameter>
            <parameter name="width"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-input-device.c"
                   line="833">Return location for device width (in millimeters)</doc>
              <type name="guint" c:type="unsigned int*"/>
            </parameter>
            <parameter name="height"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-input-device.c"
                   line="834">Return location for device height (in millimeters)</doc>
              <type name="guint" c:type="unsigned int*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="InputDevicePadFeature"
                 glib:type-name="ClutterInputDevicePadFeature"
                 glib:get-type="clutter_input_device_pad_feature_get_type"
                 c:type="ClutterInputDevicePadFeature">
      <member name="button"
              value="0"
              c:identifier="CLUTTER_PAD_FEATURE_BUTTON"
              glib:nick="button"
              glib:name="CLUTTER_PAD_FEATURE_BUTTON">
      </member>
      <member name="ring"
              value="1"
              c:identifier="CLUTTER_PAD_FEATURE_RING"
              glib:nick="ring"
              glib:name="CLUTTER_PAD_FEATURE_RING">
      </member>
      <member name="strip"
              value="2"
              c:identifier="CLUTTER_PAD_FEATURE_STRIP"
              glib:nick="strip"
              glib:name="CLUTTER_PAD_FEATURE_STRIP">
      </member>
      <member name="dial"
              value="3"
              c:identifier="CLUTTER_PAD_FEATURE_DIAL"
              glib:nick="dial"
              glib:name="CLUTTER_PAD_FEATURE_DIAL">
      </member>
    </enumeration>
    <enumeration name="InputDevicePadSource"
                 glib:type-name="ClutterInputDevicePadSource"
                 glib:get-type="clutter_input_device_pad_source_get_type"
                 c:type="ClutterInputDevicePadSource">
      <member name="unknown"
              value="0"
              c:identifier="CLUTTER_INPUT_DEVICE_PAD_SOURCE_UNKNOWN"
              glib:nick="unknown"
              glib:name="CLUTTER_INPUT_DEVICE_PAD_SOURCE_UNKNOWN">
      </member>
      <member name="finger"
              value="1"
              c:identifier="CLUTTER_INPUT_DEVICE_PAD_SOURCE_FINGER"
              glib:nick="finger"
              glib:name="CLUTTER_INPUT_DEVICE_PAD_SOURCE_FINGER">
      </member>
    </enumeration>
    <class name="InputDeviceTool"
           c:symbol-prefix="input_device_tool"
           c:type="ClutterInputDeviceTool"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="ClutterInputDeviceTool"
           glib:get-type="clutter_input_device_tool_get_type"
           glib:type-struct="InputDeviceToolClass">
      <source-position filename="clutter/clutter/clutter-input-device-tool.h"
                       line="40"/>
      <method name="get_axes"
              c:identifier="clutter_input_device_tool_get_axes"
              glib:get-property="axes">
        <source-position filename="clutter/clutter/clutter-input-device-tool.h"
                         line="58"/>
        <return-value transfer-ownership="none">
          <type name="InputAxisFlags" c:type="ClutterInputAxisFlags"/>
        </return-value>
        <parameters>
          <instance-parameter name="tool" transfer-ownership="none">
            <type name="InputDeviceTool" c:type="ClutterInputDeviceTool*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id"
              c:identifier="clutter_input_device_tool_get_id"
              glib:get-property="id">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device-tool.c"
             line="196">Gets the ID of this tool, this value can be used to identify a
physical tool (eg. a tablet pen) across program executions.</doc>
        <source-position filename="clutter/clutter/clutter-input-device-tool.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-input-device-tool.c"
               line="203">The tool ID for this tool</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="tool" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device-tool.c"
                 line="198">a #ClutterInputDeviceTool</doc>
            <type name="InputDeviceTool" c:type="ClutterInputDeviceTool*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_serial"
              c:identifier="clutter_input_device_tool_get_serial"
              glib:get-property="serial">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device-tool.c"
             line="154">Gets the serial of this tool, this value can be used to identify a
physical tool (eg. a tablet pen) across program executions.</doc>
        <source-position filename="clutter/clutter/clutter-input-device-tool.h"
                         line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-input-device-tool.c"
               line="161">The serial ID for this tool8</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="tool" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device-tool.c"
                 line="156">a #ClutterInputDeviceTool</doc>
            <type name="InputDeviceTool" c:type="ClutterInputDeviceTool*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tool_type"
              c:identifier="clutter_input_device_tool_get_tool_type">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-device-tool.c"
             line="176">Gets the tool type of this tool.</doc>
        <source-position filename="clutter/clutter/clutter-input-device-tool.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-input-device-tool.c"
               line="182">The tool type of this tool8</doc>
          <type name="InputDeviceToolType"
                c:type="ClutterInputDeviceToolType"/>
        </return-value>
        <parameters>
          <instance-parameter name="tool" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-device-tool.c"
                 line="178">a #ClutterInputDeviceTool</doc>
            <type name="InputDeviceTool" c:type="ClutterInputDeviceTool*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="axes"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_axes"
                default-value="CLUTTER_INPUT_AXIS_FLAG_NONE">
        <type name="InputAxisFlags"/>
      </property>
      <property name="id"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_id"
                default-value="0">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="serial"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_serial"
                default-value="0">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="type"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="CLUTTER_INPUT_DEVICE_TOOL_NONE">
        <type name="InputDeviceToolType"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="InputDeviceToolClass"
            c:type="ClutterInputDeviceToolClass"
            glib:is-gtype-struct-for="InputDeviceTool">
      <source-position filename="clutter/clutter/clutter-input-device-tool.h"
                       line="40"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="InputDeviceToolType"
                 glib:type-name="ClutterInputDeviceToolType"
                 glib:get-type="clutter_input_device_tool_type_get_type"
                 c:type="ClutterInputDeviceToolType">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="1047">Defines the type of tool that a #ClutterInputDeviceTool represents.8</doc>
      <member name="none"
              value="0"
              c:identifier="CLUTTER_INPUT_DEVICE_TOOL_NONE"
              glib:nick="none"
              glib:name="CLUTTER_INPUT_DEVICE_TOOL_NONE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="1049">No tool</doc>
      </member>
      <member name="pen"
              value="1"
              c:identifier="CLUTTER_INPUT_DEVICE_TOOL_PEN"
              glib:nick="pen"
              glib:name="CLUTTER_INPUT_DEVICE_TOOL_PEN">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="1050">The tool is a pen</doc>
      </member>
      <member name="eraser"
              value="2"
              c:identifier="CLUTTER_INPUT_DEVICE_TOOL_ERASER"
              glib:nick="eraser"
              glib:name="CLUTTER_INPUT_DEVICE_TOOL_ERASER">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="1051">The tool is an eraser</doc>
      </member>
      <member name="brush"
              value="3"
              c:identifier="CLUTTER_INPUT_DEVICE_TOOL_BRUSH"
              glib:nick="brush"
              glib:name="CLUTTER_INPUT_DEVICE_TOOL_BRUSH">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="1052">The tool is a brush</doc>
      </member>
      <member name="pencil"
              value="4"
              c:identifier="CLUTTER_INPUT_DEVICE_TOOL_PENCIL"
              glib:nick="pencil"
              glib:name="CLUTTER_INPUT_DEVICE_TOOL_PENCIL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="1053">The tool is a pencil</doc>
      </member>
      <member name="airbrush"
              value="5"
              c:identifier="CLUTTER_INPUT_DEVICE_TOOL_AIRBRUSH"
              glib:nick="airbrush"
              glib:name="CLUTTER_INPUT_DEVICE_TOOL_AIRBRUSH">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="1054">The tool is an airbrush</doc>
      </member>
      <member name="mouse"
              value="6"
              c:identifier="CLUTTER_INPUT_DEVICE_TOOL_MOUSE"
              glib:nick="mouse"
              glib:name="CLUTTER_INPUT_DEVICE_TOOL_MOUSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="1055">The tool is a mouse</doc>
      </member>
      <member name="lens"
              value="7"
              c:identifier="CLUTTER_INPUT_DEVICE_TOOL_LENS"
              glib:nick="lens"
              glib:name="CLUTTER_INPUT_DEVICE_TOOL_LENS">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="1056">The tool is a lens</doc>
      </member>
    </enumeration>
    <enumeration name="InputDeviceType"
                 glib:type-name="ClutterInputDeviceType"
                 glib:get-type="clutter_input_device_type_get_type"
                 c:type="ClutterInputDeviceType">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="617">The types of input devices available.

The #ClutterInputDeviceType enumeration can be extended at later
date; not every platform supports every input device type.</doc>
      <member name="pointer_device"
              value="0"
              c:identifier="CLUTTER_POINTER_DEVICE"
              glib:nick="pointer-device"
              glib:name="CLUTTER_POINTER_DEVICE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="619">A pointer device</doc>
      </member>
      <member name="keyboard_device"
              value="1"
              c:identifier="CLUTTER_KEYBOARD_DEVICE"
              glib:nick="keyboard-device"
              glib:name="CLUTTER_KEYBOARD_DEVICE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="620">A keyboard device</doc>
      </member>
      <member name="extension_device"
              value="2"
              c:identifier="CLUTTER_EXTENSION_DEVICE"
              glib:nick="extension-device"
              glib:name="CLUTTER_EXTENSION_DEVICE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="621">A generic extension device</doc>
      </member>
      <member name="joystick_device"
              value="3"
              c:identifier="CLUTTER_JOYSTICK_DEVICE"
              glib:nick="joystick-device"
              glib:name="CLUTTER_JOYSTICK_DEVICE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="622">A joystick device</doc>
      </member>
      <member name="tablet_device"
              value="4"
              c:identifier="CLUTTER_TABLET_DEVICE"
              glib:nick="tablet-device"
              glib:name="CLUTTER_TABLET_DEVICE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="623">A tablet device</doc>
      </member>
      <member name="touchpad_device"
              value="5"
              c:identifier="CLUTTER_TOUCHPAD_DEVICE"
              glib:nick="touchpad-device"
              glib:name="CLUTTER_TOUCHPAD_DEVICE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="624">A touchpad device</doc>
      </member>
      <member name="touchscreen_device"
              value="6"
              c:identifier="CLUTTER_TOUCHSCREEN_DEVICE"
              glib:nick="touchscreen-device"
              glib:name="CLUTTER_TOUCHSCREEN_DEVICE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="625">A touch screen device</doc>
      </member>
      <member name="pen_device"
              value="7"
              c:identifier="CLUTTER_PEN_DEVICE"
              glib:nick="pen-device"
              glib:name="CLUTTER_PEN_DEVICE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="626">A pen device</doc>
      </member>
      <member name="eraser_device"
              value="8"
              c:identifier="CLUTTER_ERASER_DEVICE"
              glib:nick="eraser-device"
              glib:name="CLUTTER_ERASER_DEVICE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="627">An eraser device</doc>
      </member>
      <member name="cursor_device"
              value="9"
              c:identifier="CLUTTER_CURSOR_DEVICE"
              glib:nick="cursor-device"
              glib:name="CLUTTER_CURSOR_DEVICE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="628">A cursor device</doc>
      </member>
      <member name="pad_device"
              value="10"
              c:identifier="CLUTTER_PAD_DEVICE"
              glib:nick="pad-device"
              glib:name="CLUTTER_PAD_DEVICE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="629">A tablet pad</doc>
      </member>
      <member name="n_device_types"
              value="11"
              c:identifier="CLUTTER_N_DEVICE_TYPES"
              glib:nick="n-device-types"
              glib:name="CLUTTER_N_DEVICE_TYPES">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="630">The number of device types</doc>
      </member>
    </enumeration>
    <class name="InputFocus"
           c:symbol-prefix="input_focus"
           c:type="ClutterInputFocus"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="ClutterInputFocus"
           glib:get-type="clutter_input_focus_get_type"
           glib:type-struct="InputFocusClass">
      <source-position filename="clutter/clutter/clutter-input-focus.h"
                       line="50"/>
      <virtual-method name="commit_text">
        <source-position filename="clutter/clutter/clutter-input-focus.h"
                         line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="InputFocus" c:type="ClutterInputFocus*"/>
          </instance-parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="delete_surrounding">
        <source-position filename="clutter/clutter/clutter-input-focus.h"
                         line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="InputFocus" c:type="ClutterInputFocus*"/>
          </instance-parameter>
          <parameter name="offset" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="focus_in">
        <source-position filename="clutter/clutter/clutter-input-focus.h"
                         line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="InputFocus" c:type="ClutterInputFocus*"/>
          </instance-parameter>
          <parameter name="input_method" transfer-ownership="none">
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="focus_out">
        <source-position filename="clutter/clutter/clutter-input-focus.h"
                         line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="InputFocus" c:type="ClutterInputFocus*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="request_surrounding">
        <source-position filename="clutter/clutter/clutter-input-focus.h"
                         line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="InputFocus" c:type="ClutterInputFocus*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_preedit_text">
        <source-position filename="clutter/clutter/clutter-input-focus.h"
                         line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="InputFocus" c:type="ClutterInputFocus*"/>
          </instance-parameter>
          <parameter name="preedit" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cursor" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="anchor" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="filter_event"
              c:identifier="clutter_input_focus_filter_event">
        <source-position filename="clutter/clutter/clutter-input-focus.h"
                         line="73"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="InputFocus" c:type="ClutterInputFocus*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="const ClutterEvent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_focused" c:identifier="clutter_input_focus_is_focused">
        <source-position filename="clutter/clutter/clutter-input-focus.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="InputFocus" c:type="ClutterInputFocus*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="process_event"
              c:identifier="clutter_input_focus_process_event">
        <source-position filename="clutter/clutter/clutter-input-focus.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="InputFocus" c:type="ClutterInputFocus*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="const ClutterEvent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reset" c:identifier="clutter_input_focus_reset">
        <source-position filename="clutter/clutter/clutter-input-focus.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="InputFocus" c:type="ClutterInputFocus*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_can_show_preedit"
              c:identifier="clutter_input_focus_set_can_show_preedit">
        <source-position filename="clutter/clutter/clutter-input-focus.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="InputFocus" c:type="ClutterInputFocus*"/>
          </instance-parameter>
          <parameter name="can_show_preedit" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content_hints"
              c:identifier="clutter_input_focus_set_content_hints">
        <source-position filename="clutter/clutter/clutter-input-focus.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="InputFocus" c:type="ClutterInputFocus*"/>
          </instance-parameter>
          <parameter name="hint" transfer-ownership="none">
            <type name="InputContentHintFlags"
                  c:type="ClutterInputContentHintFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content_purpose"
              c:identifier="clutter_input_focus_set_content_purpose">
        <source-position filename="clutter/clutter/clutter-input-focus.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="InputFocus" c:type="ClutterInputFocus*"/>
          </instance-parameter>
          <parameter name="purpose" transfer-ownership="none">
            <type name="InputContentPurpose"
                  c:type="ClutterInputContentPurpose"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_cursor_location"
              c:identifier="clutter_input_focus_set_cursor_location">
        <source-position filename="clutter/clutter/clutter-input-focus.h"
                         line="58"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="InputFocus" c:type="ClutterInputFocus*"/>
          </instance-parameter>
          <parameter name="rect" transfer-ownership="none">
            <type name="Graphene.Rect" c:type="const graphene_rect_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_input_panel_state"
              c:identifier="clutter_input_focus_set_input_panel_state">
        <source-position filename="clutter/clutter/clutter-input-focus.h"
                         line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="InputFocus" c:type="ClutterInputFocus*"/>
          </instance-parameter>
          <parameter name="state" transfer-ownership="none">
            <type name="InputPanelState" c:type="ClutterInputPanelState"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_surrounding"
              c:identifier="clutter_input_focus_set_surrounding">
        <source-position filename="clutter/clutter/clutter-input-focus.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="focus" transfer-ownership="none">
            <type name="InputFocus" c:type="ClutterInputFocus*"/>
          </instance-parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cursor" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="anchor" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="InputFocusClass"
            c:type="ClutterInputFocusClass"
            glib:is-gtype-struct-for="InputFocus">
      <source-position filename="clutter/clutter/clutter-input-focus.h"
                       line="50"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="focus_in">
        <callback name="focus_in">
          <source-position filename="clutter/clutter/clutter-input-focus.h"
                           line="35"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="focus" transfer-ownership="none">
              <type name="InputFocus" c:type="ClutterInputFocus*"/>
            </parameter>
            <parameter name="input_method" transfer-ownership="none">
              <type name="InputMethod" c:type="ClutterInputMethod*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="focus_out">
        <callback name="focus_out">
          <source-position filename="clutter/clutter/clutter-input-focus.h"
                           line="37"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="focus" transfer-ownership="none">
              <type name="InputFocus" c:type="ClutterInputFocus*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="request_surrounding">
        <callback name="request_surrounding">
          <source-position filename="clutter/clutter/clutter-input-focus.h"
                           line="39"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="focus" transfer-ownership="none">
              <type name="InputFocus" c:type="ClutterInputFocus*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="delete_surrounding">
        <callback name="delete_surrounding">
          <source-position filename="clutter/clutter/clutter-input-focus.h"
                           line="40"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="focus" transfer-ownership="none">
              <type name="InputFocus" c:type="ClutterInputFocus*"/>
            </parameter>
            <parameter name="offset" transfer-ownership="none">
              <type name="gint" c:type="int"/>
            </parameter>
            <parameter name="len" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="commit_text">
        <callback name="commit_text">
          <source-position filename="clutter/clutter/clutter-input-focus.h"
                           line="43"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="focus" transfer-ownership="none">
              <type name="InputFocus" c:type="ClutterInputFocus*"/>
            </parameter>
            <parameter name="text" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_preedit_text">
        <callback name="set_preedit_text">
          <source-position filename="clutter/clutter/clutter-input-focus.h"
                           line="46"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="focus" transfer-ownership="none">
              <type name="InputFocus" c:type="ClutterInputFocus*"/>
            </parameter>
            <parameter name="preedit" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="cursor" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="anchor" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="InputMethod"
           c:symbol-prefix="input_method"
           c:type="ClutterInputMethod"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="ClutterInputMethod"
           glib:get-type="clutter_input_method_get_type"
           glib:type-struct="InputMethodClass">
      <source-position filename="clutter/clutter/clutter-input-method.h"
                       line="53"/>
      <virtual-method name="filter_key_event">
        <source-position filename="clutter/clutter/clutter-input-method.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="im" transfer-ownership="none">
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="Event" c:type="const ClutterEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="focus_in" invoker="focus_in">
        <source-position filename="clutter/clutter/clutter-input-method.h"
                         line="34"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="im" transfer-ownership="none">
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </instance-parameter>
          <parameter name="actor" transfer-ownership="none">
            <type name="InputFocus" c:type="ClutterInputFocus*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="focus_out" invoker="focus_out">
        <source-position filename="clutter/clutter/clutter-input-method.h"
                         line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="im" transfer-ownership="none">
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="reset">
        <source-position filename="clutter/clutter/clutter-input-method.h"
                         line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="im" transfer-ownership="none">
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_cursor_location">
        <source-position filename="clutter/clutter/clutter-input-method.h"
                         line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="im" transfer-ownership="none">
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </instance-parameter>
          <parameter name="rect" transfer-ownership="none">
            <type name="Graphene.Rect" c:type="const graphene_rect_t*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_surrounding">
        <source-position filename="clutter/clutter/clutter-input-method.h"
                         line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="im" transfer-ownership="none">
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </instance-parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cursor" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="anchor" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="update_content_hints">
        <source-position filename="clutter/clutter/clutter-input-method.h"
                         line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="im" transfer-ownership="none">
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </instance-parameter>
          <parameter name="hint" transfer-ownership="none">
            <type name="InputContentHintFlags"
                  c:type="ClutterInputContentHintFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="update_content_purpose">
        <source-position filename="clutter/clutter/clutter-input-method.h"
                         line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="im" transfer-ownership="none">
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </instance-parameter>
          <parameter name="purpose" transfer-ownership="none">
            <type name="InputContentPurpose"
                  c:type="ClutterInputContentPurpose"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="commit" c:identifier="clutter_input_method_commit">
        <source-position filename="clutter/clutter/clutter-input-method.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="im" transfer-ownership="none">
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </instance-parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="delete_surrounding"
              c:identifier="clutter_input_method_delete_surrounding">
        <source-position filename="clutter/clutter/clutter-input-method.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="im" transfer-ownership="none">
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </instance-parameter>
          <parameter name="offset" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="focus_in" c:identifier="clutter_input_method_focus_in">
        <source-position filename="clutter/clutter/clutter-input-method.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="im" transfer-ownership="none">
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </instance-parameter>
          <parameter name="focus" transfer-ownership="none">
            <type name="InputFocus" c:type="ClutterInputFocus*"/>
          </parameter>
        </parameters>
      </method>
      <method name="focus_out" c:identifier="clutter_input_method_focus_out">
        <source-position filename="clutter/clutter/clutter-input-method.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="im" transfer-ownership="none">
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="forward_key"
              c:identifier="clutter_input_method_forward_key">
        <source-position filename="clutter/clutter/clutter-input-method.h"
                         line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="im" transfer-ownership="none">
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </instance-parameter>
          <parameter name="keyval" transfer-ownership="none">
            <type name="guint32" c:type="uint32_t"/>
          </parameter>
          <parameter name="keycode" transfer-ownership="none">
            <type name="guint32" c:type="uint32_t"/>
          </parameter>
          <parameter name="state" transfer-ownership="none">
            <type name="guint32" c:type="uint32_t"/>
          </parameter>
          <parameter name="time_" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="press" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_key_event"
              c:identifier="clutter_input_method_notify_key_event">
        <source-position filename="clutter/clutter/clutter-input-method.h"
                         line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="im" transfer-ownership="none">
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="const ClutterEvent*"/>
          </parameter>
          <parameter name="filtered" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="request_surrounding"
              c:identifier="clutter_input_method_request_surrounding">
        <source-position filename="clutter/clutter/clutter-input-method.h"
                         line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="im" transfer-ownership="none">
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_input_panel_state"
              c:identifier="clutter_input_method_set_input_panel_state">
        <source-position filename="clutter/clutter/clutter-input-method.h"
                         line="83"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="im" transfer-ownership="none">
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </instance-parameter>
          <parameter name="state" transfer-ownership="none">
            <type name="InputPanelState" c:type="ClutterInputPanelState"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_preedit_text"
              c:identifier="clutter_input_method_set_preedit_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-input-method.c"
             line="300">Sets the preedit text on the current input focus.</doc>
        <source-position filename="clutter/clutter/clutter-input-method.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="im" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-method.c"
                 line="302">a #ClutterInputMethod</doc>
            <type name="InputMethod" c:type="ClutterInputMethod*"/>
          </instance-parameter>
          <parameter name="preedit"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-method.c"
                 line="303">the preedit text, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-input-method.c"
                 line="304">the cursor</doc>
            <type name="guint" c:type="unsigned int"/>
          </parameter>
          <parameter name="anchor" transfer-ownership="none">
            <type name="guint" c:type="unsigned int"/>
          </parameter>
          <parameter name="mode" transfer-ownership="none">
            <type name="PreeditResetMode" c:type="ClutterPreeditResetMode"/>
          </parameter>
        </parameters>
      </method>
      <property name="can-show-preedit"
                writable="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="content-hints"
                writable="1"
                transfer-ownership="none"
                default-value="0">
        <type name="InputContentHintFlags"/>
      </property>
      <property name="content-purpose"
                writable="1"
                transfer-ownership="none"
                default-value="CLUTTER_INPUT_CONTENT_PURPOSE_NORMAL">
        <type name="InputContentPurpose"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="commit" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="cursor-location-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Graphene.Rect"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="delete-surrounding" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="input-panel-state" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="InputPanelState"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="request-surrounding" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="InputMethodClass"
            c:type="ClutterInputMethodClass"
            glib:is-gtype-struct-for="InputMethod">
      <source-position filename="clutter/clutter/clutter-input-method.h"
                       line="53"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="focus_in">
        <callback name="focus_in">
          <source-position filename="clutter/clutter/clutter-input-method.h"
                           line="34"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="im" transfer-ownership="none">
              <type name="InputMethod" c:type="ClutterInputMethod*"/>
            </parameter>
            <parameter name="actor" transfer-ownership="none">
              <type name="InputFocus" c:type="ClutterInputFocus*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="focus_out">
        <callback name="focus_out">
          <source-position filename="clutter/clutter/clutter-input-method.h"
                           line="36"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="im" transfer-ownership="none">
              <type name="InputMethod" c:type="ClutterInputMethod*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="reset">
        <callback name="reset">
          <source-position filename="clutter/clutter/clutter-input-method.h"
                           line="38"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="im" transfer-ownership="none">
              <type name="InputMethod" c:type="ClutterInputMethod*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_cursor_location">
        <callback name="set_cursor_location">
          <source-position filename="clutter/clutter/clutter-input-method.h"
                           line="40"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="im" transfer-ownership="none">
              <type name="InputMethod" c:type="ClutterInputMethod*"/>
            </parameter>
            <parameter name="rect" transfer-ownership="none">
              <type name="Graphene.Rect" c:type="const graphene_rect_t*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_surrounding">
        <callback name="set_surrounding">
          <source-position filename="clutter/clutter/clutter-input-method.h"
                           line="42"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="im" transfer-ownership="none">
              <type name="InputMethod" c:type="ClutterInputMethod*"/>
            </parameter>
            <parameter name="text" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="cursor" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="anchor" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="update_content_hints">
        <callback name="update_content_hints">
          <source-position filename="clutter/clutter/clutter-input-method.h"
                           line="46"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="im" transfer-ownership="none">
              <type name="InputMethod" c:type="ClutterInputMethod*"/>
            </parameter>
            <parameter name="hint" transfer-ownership="none">
              <type name="InputContentHintFlags"
                    c:type="ClutterInputContentHintFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="update_content_purpose">
        <callback name="update_content_purpose">
          <source-position filename="clutter/clutter/clutter-input-method.h"
                           line="48"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="im" transfer-ownership="none">
              <type name="InputMethod" c:type="ClutterInputMethod*"/>
            </parameter>
            <parameter name="purpose" transfer-ownership="none">
              <type name="InputContentPurpose"
                    c:type="ClutterInputContentPurpose"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="filter_key_event">
        <callback name="filter_key_event">
          <source-position filename="clutter/clutter/clutter-input-method.h"
                           line="51"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="im" transfer-ownership="none">
              <type name="InputMethod" c:type="ClutterInputMethod*"/>
            </parameter>
            <parameter name="key" transfer-ownership="none">
              <type name="Event" c:type="const ClutterEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="InputMode"
                 glib:type-name="ClutterInputMode"
                 glib:get-type="clutter_input_mode_get_type"
                 c:type="ClutterInputMode">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="654">The mode for input devices available.</doc>
      <member name="logical"
              value="0"
              c:identifier="CLUTTER_INPUT_MODE_LOGICAL"
              glib:nick="logical"
              glib:name="CLUTTER_INPUT_MODE_LOGICAL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="656">A logical, virtual device</doc>
      </member>
      <member name="physical"
              value="1"
              c:identifier="CLUTTER_INPUT_MODE_PHYSICAL"
              glib:nick="physical"
              glib:name="CLUTTER_INPUT_MODE_PHYSICAL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="657">A physical device, attached to
  a logical device</doc>
      </member>
      <member name="floating"
              value="2"
              c:identifier="CLUTTER_INPUT_MODE_FLOATING"
              glib:nick="floating"
              glib:name="CLUTTER_INPUT_MODE_FLOATING">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="659">A physical device, not attached
  to a logical device</doc>
      </member>
    </enumeration>
    <enumeration name="InputPanelState"
                 glib:type-name="ClutterInputPanelState"
                 glib:get-type="clutter_input_panel_state_get_type"
                 c:type="ClutterInputPanelState">
      <member name="off"
              value="0"
              c:identifier="CLUTTER_INPUT_PANEL_STATE_OFF"
              glib:nick="off"
              glib:name="CLUTTER_INPUT_PANEL_STATE_OFF">
      </member>
      <member name="on"
              value="1"
              c:identifier="CLUTTER_INPUT_PANEL_STATE_ON"
              glib:nick="on"
              glib:name="CLUTTER_INPUT_PANEL_STATE_ON">
      </member>
      <member name="toggle"
              value="2"
              c:identifier="CLUTTER_INPUT_PANEL_STATE_TOGGLE"
              glib:nick="toggle"
              glib:name="CLUTTER_INPUT_PANEL_STATE_TOGGLE">
      </member>
    </enumeration>
    <class name="Interval"
           c:symbol-prefix="interval"
           c:type="ClutterInterval"
           parent="GObject.InitiallyUnowned"
           glib:type-name="ClutterInterval"
           glib:get-type="clutter_interval_get_type"
           glib:type-struct="IntervalClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-interval.c"
           line="25">An object holding an interval of two values

#ClutterInterval is a simple object that can hold two values
defining an interval. #ClutterInterval can hold any value that
can be enclosed inside a #GValue.

Once a #ClutterInterval for a specific #GType has been instantiated
the #ClutterInterval:value-type property cannot be changed anymore.

#ClutterInterval starts with a floating reference; this means that
any object taking a reference on a #ClutterInterval instance should
also take ownership of the interval by using g_object_ref_sink().

#ClutterInterval can be subclassed to override the validation
and value computation.</doc>
      <source-position filename="clutter/clutter/clutter-interval.h"
                       line="64"/>
      <constructor name="new"
                   c:identifier="clutter_interval_new"
                   introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="684">Creates a new #ClutterInterval holding values of type @gtype.

This function avoids using a #GValue for the initial and final values
of the interval:

```c
  interval = clutter_interval_new (G_TYPE_FLOAT, 0.0, 1.0);
  interval = clutter_interval_new (G_TYPE_BOOLEAN, FALSE, TRUE);
  interval = clutter_interval_new (G_TYPE_INT, 0, 360);
```</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-interval.c"
               line="700">the newly created #ClutterInterval</doc>
          <type name="Interval" c:type="ClutterInterval*"/>
        </return-value>
        <parameters>
          <parameter name="gtype" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="686">the type of the values in the interval</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="687">the initial value and the final value of the interval</doc>
            <varargs/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_values"
                   c:identifier="clutter_interval_new_with_values">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="726">Creates a new #ClutterInterval of type @gtype, between @initial
and @final.

This function is useful for language bindings.</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-interval.c"
               line="737">the newly created #ClutterInterval</doc>
          <type name="Interval" c:type="ClutterInterval*"/>
        </return-value>
        <parameters>
          <parameter name="gtype" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="728">the type of the values in the interval</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="initial"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="729">a #GValue holding the initial value of the interval</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
          <parameter name="final"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="730">a #GValue holding the final value of the interval</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="register_progress_func"
                c:identifier="clutter_interval_register_progress_func"
                introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-util.c"
             line="170">Sets the progress function for a given @value_type, like:

```c
  clutter_interval_register_progress_func (MY_TYPE_FOO,
                                           my_foo_progress);
```

Whenever a [class@Interval] instance using the default
[method@Interval.compute_value] implementation is set as an
interval between two [struct@GObject.Value] of type @value_type, it will call
@func to establish the value depending on the given progress,
for instance:

```c
  static gboolean
  my_int_progress (const GValue *a,
                   const GValue *b,
                   gdouble       progress,
                   GValue       *retval)
  {
    gint ia = g_value_get_int (a);
    gint ib = g_value_get_int (b);
    gint res = factor * (ib - ia) + ia;

    g_value_set_int (retval, res);

    return TRUE;
  }

  clutter_interval_register_progress_func (G_TYPE_INT, my_int_progress);
```

To unset a previously set progress function of a [alias@GObject.Type], pass %NULL
for @func.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="366"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-util.c"
                 line="172">a #GType</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="func" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-util.c"
                 line="173">a #ClutterProgressFunc, or %NULL to unset a previously
  set progress function</doc>
            <type name="ProgressFunc" c:type="ClutterProgressFunc"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="compute_value" invoker="compute_value">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="1069">Computes the value between the @interval boundaries given the
progress @factor and copies it into @value.</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-interval.c"
               line="1078">%TRUE if the operation was successful</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="1071">a #ClutterInterval</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </instance-parameter>
          <parameter name="factor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="1072">the progress factor, between 0 and 1</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="1073">return location for an initialized #GValue</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="validate" invoker="validate">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="1049">Validates the initial and final values of @interval against
a #GParamSpec.</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-interval.c"
               line="1057">%TRUE if the #ClutterInterval is valid, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="1051">a #ClutterInterval</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </instance-parameter>
          <parameter name="pspec" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="1052">a #GParamSpec</doc>
            <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="clone" c:identifier="clutter_interval_clone">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="755">Creates a copy of @interval.</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="75"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-interval.c"
               line="761">the newly created #ClutterInterval</doc>
          <type name="Interval" c:type="ClutterInterval*"/>
        </return-value>
        <parameters>
          <instance-parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="757">a #ClutterInterval</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="compute" c:identifier="clutter_interval_compute">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="1093">Computes the value between the @interval boundaries given the
progress @factor

Unlike [method@Clutter.Interval.compute_value], this function will
return a const pointer to the computed value

You should use this function if you immediately pass the computed
value to another function that makes a copy of it, like
g_object_set_property()</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="119"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-interval.c"
               line="1108">a pointer to the computed value,
  or %NULL if the computation was not successful</doc>
          <type name="GObject.Value" c:type="const GValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="1095">a #ClutterInterval</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </instance-parameter>
          <parameter name="factor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="1096">the progress factor, between 0 and 1</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="compute_value"
              c:identifier="clutter_interval_compute_value">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="1069">Computes the value between the @interval boundaries given the
progress @factor and copies it into @value.</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="114"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-interval.c"
               line="1078">%TRUE if the operation was successful</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="1071">a #ClutterInterval</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </instance-parameter>
          <parameter name="factor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="1072">the progress factor, between 0 and 1</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="1073">return location for an initialized #GValue</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_final_value"
              c:identifier="clutter_interval_get_final_value">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="909">Retrieves the final value of @interval and copies
it into @value.

The passed #GValue must be initialized to the value held by
the #ClutterInterval.</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="98"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="911">a #ClutterInterval</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </instance-parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="912">a #GValue</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_initial_value"
              c:identifier="clutter_interval_get_initial_value">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="849">Retrieves the initial value of @interval and copies
it into @value.

The passed #GValue must be initialized to the value held by
the #ClutterInterval.</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="851">a #ClutterInterval</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </instance-parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="852">a #GValue</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_interval"
              c:identifier="clutter_interval_get_interval"
              introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="1015">Variable arguments wrapper for [method@Clutter.Interval.get_initial_value]
and [method@Clutter.Interval.get_final_value] that avoids using the
#GValue arguments:

```c
  gint a = 0, b = 0;
  clutter_interval_get_interval (interval, &amp;a, &amp;b);
```

This function is meant for the convenience of the C API; bindings
should reimplement this function using the #GValue-based API.</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="107"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="1017">a #ClutterInterval</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </instance-parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="1018">return locations for the initial and final values of
  the interval</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="get_value_type"
              c:identifier="clutter_interval_get_value_type"
              glib:get-property="value-type">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="787">Retrieves the #GType of the values inside @interval.</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="78"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-interval.c"
               line="793">the type of the value, or G_TYPE_INVALID</doc>
          <type name="GType" c:type="GType"/>
        </return-value>
        <parameters>
          <instance-parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="789">a #ClutterInterval</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_valid" c:identifier="clutter_interval_is_valid">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="1137">Checks if the @interval has a valid initial and final values.</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="123"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-interval.c"
               line="1143">%TRUE if the #ClutterInterval has an initial and
  final values, and %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="1139">a #ClutterInterval</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="peek_final_value"
              c:identifier="clutter_interval_peek_final_value">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="954">Gets the pointer to the final value of @interval</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="101"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-interval.c"
               line="960">the final value of the interval.
  The value is owned by the #ClutterInterval and it should not be
  modified or freed</doc>
          <type name="GObject.Value" c:type="GValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="956">a #ClutterInterval</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="peek_initial_value"
              c:identifier="clutter_interval_peek_initial_value">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="870">Gets the pointer to the initial value of @interval</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-interval.c"
               line="876">the initial value of the interval.
  The value is owned by the #ClutterInterval and it should not be
  modified or freed</doc>
          <type name="GObject.Value" c:type="GValue*"/>
        </return-value>
        <parameters>
          <instance-parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="872">a #ClutterInterval</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_final"
              c:identifier="clutter_interval_set_final"
              shadowed-by="set_final_value"
              glib:set-property="final"
              introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="930">Variadic arguments version of [method@Clutter.Interval.set_final_value].

This function is meant as a convenience for the C API.

Language bindings should use [method@Clutter.Interval.set_final_value] instead.</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="932">a #ClutterInterval</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </instance-parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="933">the final value of the interval</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_final_value"
              c:identifier="clutter_interval_set_final_value"
              shadows="set_final">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="891">Sets the final value of @interval to @value. The value is
copied inside the #ClutterInterval.</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="893">a #ClutterInterval</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="894">a #GValue</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_initial"
              c:identifier="clutter_interval_set_initial"
              shadowed-by="set_initial_value"
              glib:set-property="initial"
              introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="824">Variadic arguments version of [method@Clutter.Interval.set_initial_value].

This function is meant as a convenience for the C API.

Language bindings should use [method@Clutter.Interval.set_initial_value]
instead.</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="826">a #ClutterInterval</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </instance-parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="827">the initial value of the interval.</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_initial_value"
              c:identifier="clutter_interval_set_initial_value"
              shadows="set_initial">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="806">Sets the initial value of @interval to @value. The value is copied
inside the #ClutterInterval.</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="808">a #ClutterInterval</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="809">a #GValue</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_interval"
              c:identifier="clutter_interval_set_interval"
              introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="975">Variable arguments wrapper for [method@Clutter.Interval.set_initial_value]
and [method@Clutter.Interval.set_final_value] that avoids using the
#GValue arguments:

```c
  clutter_interval_set_interval (interval, 0, 50);
  clutter_interval_set_interval (interval, 1.0, 0.0);
  clutter_interval_set_interval (interval, FALSE, TRUE);
```

This function is meant for the convenience of the C API; bindings
should reimplement this function using the #GValue-based API.</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="104"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="977">a #ClutterInterval</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </instance-parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="978">the initial and final values of the interval</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="validate" c:identifier="clutter_interval_validate">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="1049">Validates the initial and final values of @interval against
a #GParamSpec.</doc>
        <source-position filename="clutter/clutter/clutter-interval.h"
                         line="111"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-interval.c"
               line="1057">%TRUE if the #ClutterInterval is valid, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="1051">a #ClutterInterval</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </instance-parameter>
          <parameter name="pspec" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="1052">a #GParamSpec</doc>
            <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
          </parameter>
        </parameters>
      </method>
      <property name="final"
                writable="1"
                transfer-ownership="none"
                setter="set_final">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="496">The final value of the interval.</doc>
        <type name="GObject.Value"/>
      </property>
      <property name="initial"
                writable="1"
                transfer-ownership="none"
                setter="set_initial">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="485">The initial value of the interval.</doc>
        <type name="GObject.Value"/>
      </property>
      <property name="value-type"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_value_type">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.c"
             line="473">The type of the values in the interval.</doc>
        <type name="GType" c:type="GType"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
      </field>
    </class>
    <record name="IntervalClass"
            c:type="ClutterIntervalClass"
            glib:is-gtype-struct-for="Interval">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-interval.h"
           line="44">The #ClutterIntervalClass contains only private data.</doc>
      <source-position filename="clutter/clutter/clutter-interval.h"
                       line="64"/>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.InitiallyUnownedClass"
              c:type="GInitiallyUnownedClass"/>
      </field>
      <field name="validate">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.h"
             line="46">virtual function for validating an interval
  using a #GParamSpec</doc>
        <callback name="validate">
          <source-position filename="clutter/clutter/clutter-interval.h"
                           line="59"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="1057">%TRUE if the #ClutterInterval is valid, %FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="interval" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-interval.c"
                   line="1051">a #ClutterInterval</doc>
              <type name="Interval" c:type="ClutterInterval*"/>
            </parameter>
            <parameter name="pspec" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-interval.c"
                   line="1052">a #GParamSpec</doc>
              <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="compute_value">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-interval.h"
             line="48">virtual function for computing the value
  inside an interval using an adimensional factor between 0 and 1</doc>
        <callback name="compute_value">
          <source-position filename="clutter/clutter/clutter-interval.h"
                           line="61"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-interval.c"
                 line="1078">%TRUE if the operation was successful</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="interval" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-interval.c"
                   line="1071">a #ClutterInterval</doc>
              <type name="Interval" c:type="ClutterInterval*"/>
            </parameter>
            <parameter name="factor" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-interval.c"
                   line="1072">the progress factor, between 0 and 1</doc>
              <type name="gdouble" c:type="gdouble"/>
            </parameter>
            <parameter name="value"
                       direction="out"
                       caller-allocates="1"
                       transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-interval.c"
                   line="1073">return location for an initialized #GValue</doc>
              <type name="GObject.Value" c:type="GValue*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <constant name="KEY_0" value="48" c:type="CLUTTER_KEY_0">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="399"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_1" value="49" c:type="CLUTTER_KEY_1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="400"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_10ChannelsDown"
              value="268964281"
              c:type="CLUTTER_KEY_10ChannelsDown">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2346"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_10ChannelsUp"
              value="268964280"
              c:type="CLUTTER_KEY_10ChannelsUp">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2345"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_2" value="50" c:type="CLUTTER_KEY_2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="401"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3" value="51" c:type="CLUTTER_KEY_3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="402"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_AltCursor"
              value="64784"
              c:type="CLUTTER_KEY_3270_AltCursor">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="367"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_Attn"
              value="64782"
              c:type="CLUTTER_KEY_3270_Attn">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="365"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_BackTab"
              value="64773"
              c:type="CLUTTER_KEY_3270_BackTab">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="356"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_ChangeScreen"
              value="64793"
              c:type="CLUTTER_KEY_3270_ChangeScreen">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="376"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_Copy"
              value="64789"
              c:type="CLUTTER_KEY_3270_Copy">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="372"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_CursorBlink"
              value="64783"
              c:type="CLUTTER_KEY_3270_CursorBlink">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="366"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_CursorSelect"
              value="64796"
              c:type="CLUTTER_KEY_3270_CursorSelect">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="379"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_DeleteWord"
              value="64794"
              c:type="CLUTTER_KEY_3270_DeleteWord">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="377"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_Duplicate"
              value="64769"
              c:type="CLUTTER_KEY_3270_Duplicate">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="352"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_Enter"
              value="64798"
              c:type="CLUTTER_KEY_3270_Enter">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="381"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_EraseEOF"
              value="64774"
              c:type="CLUTTER_KEY_3270_EraseEOF">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="357"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_EraseInput"
              value="64775"
              c:type="CLUTTER_KEY_3270_EraseInput">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="358"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_ExSelect"
              value="64795"
              c:type="CLUTTER_KEY_3270_ExSelect">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="378"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_FieldMark"
              value="64770"
              c:type="CLUTTER_KEY_3270_FieldMark">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="353"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_Ident"
              value="64787"
              c:type="CLUTTER_KEY_3270_Ident">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="370"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_Jump"
              value="64786"
              c:type="CLUTTER_KEY_3270_Jump">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="369"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_KeyClick"
              value="64785"
              c:type="CLUTTER_KEY_3270_KeyClick">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="368"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_Left2"
              value="64772"
              c:type="CLUTTER_KEY_3270_Left2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="355"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_PA1" value="64778" c:type="CLUTTER_KEY_3270_PA1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="361"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_PA2" value="64779" c:type="CLUTTER_KEY_3270_PA2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="362"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_PA3" value="64780" c:type="CLUTTER_KEY_3270_PA3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="363"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_Play"
              value="64790"
              c:type="CLUTTER_KEY_3270_Play">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="373"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_PrintScreen"
              value="64797"
              c:type="CLUTTER_KEY_3270_PrintScreen">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="380"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_Quit"
              value="64777"
              c:type="CLUTTER_KEY_3270_Quit">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="360"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_Record"
              value="64792"
              c:type="CLUTTER_KEY_3270_Record">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="375"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_Reset"
              value="64776"
              c:type="CLUTTER_KEY_3270_Reset">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="359"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_Right2"
              value="64771"
              c:type="CLUTTER_KEY_3270_Right2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="354"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_Rule"
              value="64788"
              c:type="CLUTTER_KEY_3270_Rule">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="371"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_Setup"
              value="64791"
              c:type="CLUTTER_KEY_3270_Setup">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="374"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3270_Test"
              value="64781"
              c:type="CLUTTER_KEY_3270_Test">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="364"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_3DMode" value="268964463" c:type="CLUTTER_KEY_3DMode">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2416"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_4" value="52" c:type="CLUTTER_KEY_4">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="403"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_5" value="53" c:type="CLUTTER_KEY_5">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="404"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_6" value="54" c:type="CLUTTER_KEY_6">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="405"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_7" value="55" c:type="CLUTTER_KEY_7">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="406"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_8" value="56" c:type="CLUTTER_KEY_8">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="407"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_9" value="57" c:type="CLUTTER_KEY_9">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="408"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_A" value="65" c:type="CLUTTER_KEY_A">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="416"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AE" value="198" c:type="CLUTTER_KEY_AE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="520"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ALSToggle"
              value="268964400"
              c:type="CLUTTER_KEY_ALSToggle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2382"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Aacute" value="193" c:type="CLUTTER_KEY_Aacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="515"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Abelowdot"
              value="16785056"
              c:type="CLUTTER_KEY_Abelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1655"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Abreve" value="451" c:type="CLUTTER_KEY_Abreve">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="607"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Abreveacute"
              value="16785070"
              c:type="CLUTTER_KEY_Abreveacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1669"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Abrevebelowdot"
              value="16785078"
              c:type="CLUTTER_KEY_Abrevebelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1677"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Abrevegrave"
              value="16785072"
              c:type="CLUTTER_KEY_Abrevegrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1671"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Abrevehook"
              value="16785074"
              c:type="CLUTTER_KEY_Abrevehook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1673"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Abrevetilde"
              value="16785076"
              c:type="CLUTTER_KEY_Abrevetilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1675"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AccessX_Enable"
              value="65136"
              c:type="CLUTTER_KEY_AccessX_Enable">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="305"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AccessX_Feedback_Enable"
              value="65137"
              c:type="CLUTTER_KEY_AccessX_Feedback_Enable">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="306"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Accessibility"
              value="268964430"
              c:type="CLUTTER_KEY_Accessibility">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2397"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Acircumflex"
              value="194"
              c:type="CLUTTER_KEY_Acircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="516"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Acircumflexacute"
              value="16785060"
              c:type="CLUTTER_KEY_Acircumflexacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1659"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Acircumflexbelowdot"
              value="16785068"
              c:type="CLUTTER_KEY_Acircumflexbelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1667"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Acircumflexgrave"
              value="16785062"
              c:type="CLUTTER_KEY_Acircumflexgrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1661"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Acircumflexhook"
              value="16785064"
              c:type="CLUTTER_KEY_Acircumflexhook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1663"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Acircumflextilde"
              value="16785066"
              c:type="CLUTTER_KEY_Acircumflextilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1665"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AddFavorite"
              value="269025081"
              c:type="CLUTTER_KEY_AddFavorite">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2191"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Addressbook"
              value="268964269"
              c:type="CLUTTER_KEY_Addressbook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2340"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Adiaeresis"
              value="196"
              c:type="CLUTTER_KEY_Adiaeresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="518"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Agrave" value="192" c:type="CLUTTER_KEY_Agrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="514"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ahook" value="16785058" c:type="CLUTTER_KEY_Ahook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1657"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Alt_L" value="65513" c:type="CLUTTER_KEY_Alt_L">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="199"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Alt_R" value="65514" c:type="CLUTTER_KEY_Alt_R">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="200"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Amacron" value="960" c:type="CLUTTER_KEY_Amacron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="677"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Aogonek" value="417" c:type="CLUTTER_KEY_Aogonek">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="582"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AppSelect"
              value="268964420"
              c:type="CLUTTER_KEY_AppSelect">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2388"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ApplicationLeft"
              value="269025104"
              c:type="CLUTTER_KEY_ApplicationLeft">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2214"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ApplicationRight"
              value="269025105"
              c:type="CLUTTER_KEY_ApplicationRight">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2215"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_0"
              value="16778848"
              c:type="CLUTTER_KEY_Arabic_0">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="815"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_1"
              value="16778849"
              c:type="CLUTTER_KEY_Arabic_1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="816"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_2"
              value="16778850"
              c:type="CLUTTER_KEY_Arabic_2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="817"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_3"
              value="16778851"
              c:type="CLUTTER_KEY_Arabic_3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="818"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_4"
              value="16778852"
              c:type="CLUTTER_KEY_Arabic_4">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="819"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_5"
              value="16778853"
              c:type="CLUTTER_KEY_Arabic_5">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="820"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_6"
              value="16778854"
              c:type="CLUTTER_KEY_Arabic_6">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="821"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_7"
              value="16778855"
              c:type="CLUTTER_KEY_Arabic_7">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="822"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_8"
              value="16778856"
              c:type="CLUTTER_KEY_Arabic_8">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="823"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_9"
              value="16778857"
              c:type="CLUTTER_KEY_Arabic_9">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="824"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_ain"
              value="1497"
              c:type="CLUTTER_KEY_Arabic_ain">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="851"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_alef"
              value="1479"
              c:type="CLUTTER_KEY_Arabic_alef">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="833"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_alefmaksura"
              value="1513"
              c:type="CLUTTER_KEY_Arabic_alefmaksura">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="863"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_beh"
              value="1480"
              c:type="CLUTTER_KEY_Arabic_beh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="834"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_comma"
              value="1452"
              c:type="CLUTTER_KEY_Arabic_comma">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="813"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_dad"
              value="1494"
              c:type="CLUTTER_KEY_Arabic_dad">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="848"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_dal"
              value="1487"
              c:type="CLUTTER_KEY_Arabic_dal">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="841"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_damma"
              value="1519"
              c:type="CLUTTER_KEY_Arabic_damma">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="869"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_dammatan"
              value="1516"
              c:type="CLUTTER_KEY_Arabic_dammatan">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="866"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_ddal"
              value="16778888"
              c:type="CLUTTER_KEY_Arabic_ddal">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="811"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_farsi_yeh"
              value="16778956"
              c:type="CLUTTER_KEY_Arabic_farsi_yeh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="883"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_fatha"
              value="1518"
              c:type="CLUTTER_KEY_Arabic_fatha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="868"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_fathatan"
              value="1515"
              c:type="CLUTTER_KEY_Arabic_fathatan">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="865"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_feh"
              value="1505"
              c:type="CLUTTER_KEY_Arabic_feh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="854"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_fullstop"
              value="16778964"
              c:type="CLUTTER_KEY_Arabic_fullstop">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="814"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_gaf"
              value="16778927"
              c:type="CLUTTER_KEY_Arabic_gaf">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="879"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_ghain"
              value="1498"
              c:type="CLUTTER_KEY_Arabic_ghain">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="852"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_ha" value="1511" c:type="CLUTTER_KEY_Arabic_ha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="860"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_hah"
              value="1485"
              c:type="CLUTTER_KEY_Arabic_hah">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="839"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_hamza"
              value="1473"
              c:type="CLUTTER_KEY_Arabic_hamza">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="827"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_hamza_above"
              value="16778836"
              c:type="CLUTTER_KEY_Arabic_hamza_above">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="874"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_hamza_below"
              value="16778837"
              c:type="CLUTTER_KEY_Arabic_hamza_below">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="875"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_hamzaonalef"
              value="1475"
              c:type="CLUTTER_KEY_Arabic_hamzaonalef">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="829"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_hamzaonwaw"
              value="1476"
              c:type="CLUTTER_KEY_Arabic_hamzaonwaw">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="830"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_hamzaonyeh"
              value="1478"
              c:type="CLUTTER_KEY_Arabic_hamzaonyeh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="832"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_hamzaunderalef"
              value="1477"
              c:type="CLUTTER_KEY_Arabic_hamzaunderalef">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="831"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_heh"
              value="1511"
              c:type="CLUTTER_KEY_Arabic_heh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="861"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_heh_doachashmee"
              value="16778942"
              c:type="CLUTTER_KEY_Arabic_heh_doachashmee">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="881"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_heh_goal"
              value="16778945"
              c:type="CLUTTER_KEY_Arabic_heh_goal">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="885"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_jeem"
              value="1484"
              c:type="CLUTTER_KEY_Arabic_jeem">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="838"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_jeh"
              value="16778904"
              c:type="CLUTTER_KEY_Arabic_jeh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="876"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_kaf"
              value="1507"
              c:type="CLUTTER_KEY_Arabic_kaf">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="856"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_kasra"
              value="1520"
              c:type="CLUTTER_KEY_Arabic_kasra">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="870"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_kasratan"
              value="1517"
              c:type="CLUTTER_KEY_Arabic_kasratan">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="867"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_keheh"
              value="16778921"
              c:type="CLUTTER_KEY_Arabic_keheh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="878"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_khah"
              value="1486"
              c:type="CLUTTER_KEY_Arabic_khah">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="840"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_lam"
              value="1508"
              c:type="CLUTTER_KEY_Arabic_lam">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="857"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_madda_above"
              value="16778835"
              c:type="CLUTTER_KEY_Arabic_madda_above">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="873"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_maddaonalef"
              value="1474"
              c:type="CLUTTER_KEY_Arabic_maddaonalef">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="828"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_meem"
              value="1509"
              c:type="CLUTTER_KEY_Arabic_meem">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="858"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_noon"
              value="1510"
              c:type="CLUTTER_KEY_Arabic_noon">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="859"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_noon_ghunna"
              value="16778938"
              c:type="CLUTTER_KEY_Arabic_noon_ghunna">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="880"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_peh"
              value="16778878"
              c:type="CLUTTER_KEY_Arabic_peh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="809"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_percent"
              value="16778858"
              c:type="CLUTTER_KEY_Arabic_percent">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="806"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_qaf"
              value="1506"
              c:type="CLUTTER_KEY_Arabic_qaf">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="855"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_question_mark"
              value="1471"
              c:type="CLUTTER_KEY_Arabic_question_mark">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="826"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_ra" value="1489" c:type="CLUTTER_KEY_Arabic_ra">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="843"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_rreh"
              value="16778897"
              c:type="CLUTTER_KEY_Arabic_rreh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="812"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_sad"
              value="1493"
              c:type="CLUTTER_KEY_Arabic_sad">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="847"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_seen"
              value="1491"
              c:type="CLUTTER_KEY_Arabic_seen">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="845"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_semicolon"
              value="1467"
              c:type="CLUTTER_KEY_Arabic_semicolon">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="825"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_shadda"
              value="1521"
              c:type="CLUTTER_KEY_Arabic_shadda">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="871"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_sheen"
              value="1492"
              c:type="CLUTTER_KEY_Arabic_sheen">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="846"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_sukun"
              value="1522"
              c:type="CLUTTER_KEY_Arabic_sukun">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="872"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_superscript_alef"
              value="16778864"
              c:type="CLUTTER_KEY_Arabic_superscript_alef">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="807"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_switch"
              value="65406"
              c:type="CLUTTER_KEY_Arabic_switch">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="886"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_tah"
              value="1495"
              c:type="CLUTTER_KEY_Arabic_tah">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="849"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_tatweel"
              value="1504"
              c:type="CLUTTER_KEY_Arabic_tatweel">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="853"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_tcheh"
              value="16778886"
              c:type="CLUTTER_KEY_Arabic_tcheh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="810"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_teh"
              value="1482"
              c:type="CLUTTER_KEY_Arabic_teh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="836"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_tehmarbuta"
              value="1481"
              c:type="CLUTTER_KEY_Arabic_tehmarbuta">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="835"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_thal"
              value="1488"
              c:type="CLUTTER_KEY_Arabic_thal">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="842"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_theh"
              value="1483"
              c:type="CLUTTER_KEY_Arabic_theh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="837"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_tteh"
              value="16778873"
              c:type="CLUTTER_KEY_Arabic_tteh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="808"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_veh"
              value="16778916"
              c:type="CLUTTER_KEY_Arabic_veh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="877"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_waw"
              value="1512"
              c:type="CLUTTER_KEY_Arabic_waw">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="862"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_yeh"
              value="1514"
              c:type="CLUTTER_KEY_Arabic_yeh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="864"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_yeh_baree"
              value="16778962"
              c:type="CLUTTER_KEY_Arabic_yeh_baree">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="884"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_zah"
              value="1496"
              c:type="CLUTTER_KEY_Arabic_zah">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="850"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Arabic_zain"
              value="1490"
              c:type="CLUTTER_KEY_Arabic_zain">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="844"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Aring" value="197" c:type="CLUTTER_KEY_Aring">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="519"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_AT"
              value="16778552"
              c:type="CLUTTER_KEY_Armenian_AT">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1535"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_AYB"
              value="16778545"
              c:type="CLUTTER_KEY_Armenian_AYB">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1521"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_BEN"
              value="16778546"
              c:type="CLUTTER_KEY_Armenian_BEN">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1523"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_CHA"
              value="16778569"
              c:type="CLUTTER_KEY_Armenian_CHA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1569"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_DA"
              value="16778548"
              c:type="CLUTTER_KEY_Armenian_DA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1527"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_DZA"
              value="16778561"
              c:type="CLUTTER_KEY_Armenian_DZA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1553"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_E"
              value="16778551"
              c:type="CLUTTER_KEY_Armenian_E">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1533"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_FE"
              value="16778582"
              c:type="CLUTTER_KEY_Armenian_FE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1595"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_GHAT"
              value="16778562"
              c:type="CLUTTER_KEY_Armenian_GHAT">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1555"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_GIM"
              value="16778547"
              c:type="CLUTTER_KEY_Armenian_GIM">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1525"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_HI"
              value="16778565"
              c:type="CLUTTER_KEY_Armenian_HI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1561"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_HO"
              value="16778560"
              c:type="CLUTTER_KEY_Armenian_HO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1551"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_INI"
              value="16778555"
              c:type="CLUTTER_KEY_Armenian_INI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1541"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_JE"
              value="16778571"
              c:type="CLUTTER_KEY_Armenian_JE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1573"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_KE"
              value="16778580"
              c:type="CLUTTER_KEY_Armenian_KE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1591"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_KEN"
              value="16778559"
              c:type="CLUTTER_KEY_Armenian_KEN">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1549"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_KHE"
              value="16778557"
              c:type="CLUTTER_KEY_Armenian_KHE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1545"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_LYUN"
              value="16778556"
              c:type="CLUTTER_KEY_Armenian_LYUN">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1543"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_MEN"
              value="16778564"
              c:type="CLUTTER_KEY_Armenian_MEN">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1559"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_NU"
              value="16778566"
              c:type="CLUTTER_KEY_Armenian_NU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1563"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_O"
              value="16778581"
              c:type="CLUTTER_KEY_Armenian_O">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1593"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_PE"
              value="16778570"
              c:type="CLUTTER_KEY_Armenian_PE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1571"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_PYUR"
              value="16778579"
              c:type="CLUTTER_KEY_Armenian_PYUR">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1589"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_RA"
              value="16778572"
              c:type="CLUTTER_KEY_Armenian_RA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1575"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_RE"
              value="16778576"
              c:type="CLUTTER_KEY_Armenian_RE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1583"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_SE"
              value="16778573"
              c:type="CLUTTER_KEY_Armenian_SE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1577"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_SHA"
              value="16778567"
              c:type="CLUTTER_KEY_Armenian_SHA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1565"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_TCHE"
              value="16778563"
              c:type="CLUTTER_KEY_Armenian_TCHE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1557"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_TO"
              value="16778553"
              c:type="CLUTTER_KEY_Armenian_TO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1537"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_TSA"
              value="16778558"
              c:type="CLUTTER_KEY_Armenian_TSA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1547"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_TSO"
              value="16778577"
              c:type="CLUTTER_KEY_Armenian_TSO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1585"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_TYUN"
              value="16778575"
              c:type="CLUTTER_KEY_Armenian_TYUN">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1581"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_VEV"
              value="16778574"
              c:type="CLUTTER_KEY_Armenian_VEV">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1579"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_VO"
              value="16778568"
              c:type="CLUTTER_KEY_Armenian_VO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1567"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_VYUN"
              value="16778578"
              c:type="CLUTTER_KEY_Armenian_VYUN">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1587"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_YECH"
              value="16778549"
              c:type="CLUTTER_KEY_Armenian_YECH">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1529"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_ZA"
              value="16778550"
              c:type="CLUTTER_KEY_Armenian_ZA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1531"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_ZHE"
              value="16778554"
              c:type="CLUTTER_KEY_Armenian_ZHE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1539"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_accent"
              value="16778587"
              c:type="CLUTTER_KEY_Armenian_accent">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1517"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_amanak"
              value="16778588"
              c:type="CLUTTER_KEY_Armenian_amanak">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1516"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_apostrophe"
              value="16778586"
              c:type="CLUTTER_KEY_Armenian_apostrophe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1597"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_at"
              value="16778600"
              c:type="CLUTTER_KEY_Armenian_at">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1536"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_ayb"
              value="16778593"
              c:type="CLUTTER_KEY_Armenian_ayb">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1522"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_ben"
              value="16778594"
              c:type="CLUTTER_KEY_Armenian_ben">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1524"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_but"
              value="16778589"
              c:type="CLUTTER_KEY_Armenian_but">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1512"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_cha"
              value="16778617"
              c:type="CLUTTER_KEY_Armenian_cha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1570"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_da"
              value="16778596"
              c:type="CLUTTER_KEY_Armenian_da">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1528"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_dza"
              value="16778609"
              c:type="CLUTTER_KEY_Armenian_dza">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1554"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_e"
              value="16778599"
              c:type="CLUTTER_KEY_Armenian_e">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1534"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_exclam"
              value="16778588"
              c:type="CLUTTER_KEY_Armenian_exclam">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1515"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_fe"
              value="16778630"
              c:type="CLUTTER_KEY_Armenian_fe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1596"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_full_stop"
              value="16778633"
              c:type="CLUTTER_KEY_Armenian_full_stop">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1509"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_ghat"
              value="16778610"
              c:type="CLUTTER_KEY_Armenian_ghat">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1556"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_gim"
              value="16778595"
              c:type="CLUTTER_KEY_Armenian_gim">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1526"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_hi"
              value="16778613"
              c:type="CLUTTER_KEY_Armenian_hi">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1562"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_ho"
              value="16778608"
              c:type="CLUTTER_KEY_Armenian_ho">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1552"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_hyphen"
              value="16778634"
              c:type="CLUTTER_KEY_Armenian_hyphen">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1513"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_ini"
              value="16778603"
              c:type="CLUTTER_KEY_Armenian_ini">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1542"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_je"
              value="16778619"
              c:type="CLUTTER_KEY_Armenian_je">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1574"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_ke"
              value="16778628"
              c:type="CLUTTER_KEY_Armenian_ke">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1592"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_ken"
              value="16778607"
              c:type="CLUTTER_KEY_Armenian_ken">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1550"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_khe"
              value="16778605"
              c:type="CLUTTER_KEY_Armenian_khe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1546"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_ligature_ew"
              value="16778631"
              c:type="CLUTTER_KEY_Armenian_ligature_ew">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1508"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_lyun"
              value="16778604"
              c:type="CLUTTER_KEY_Armenian_lyun">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1544"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_men"
              value="16778612"
              c:type="CLUTTER_KEY_Armenian_men">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1560"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_nu"
              value="16778614"
              c:type="CLUTTER_KEY_Armenian_nu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1564"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_o"
              value="16778629"
              c:type="CLUTTER_KEY_Armenian_o">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1594"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_paruyk"
              value="16778590"
              c:type="CLUTTER_KEY_Armenian_paruyk">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1520"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_pe"
              value="16778618"
              c:type="CLUTTER_KEY_Armenian_pe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1572"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_pyur"
              value="16778627"
              c:type="CLUTTER_KEY_Armenian_pyur">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1590"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_question"
              value="16778590"
              c:type="CLUTTER_KEY_Armenian_question">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1519"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_ra"
              value="16778620"
              c:type="CLUTTER_KEY_Armenian_ra">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1576"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_re"
              value="16778624"
              c:type="CLUTTER_KEY_Armenian_re">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1584"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_se"
              value="16778621"
              c:type="CLUTTER_KEY_Armenian_se">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1578"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_separation_mark"
              value="16778589"
              c:type="CLUTTER_KEY_Armenian_separation_mark">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1511"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_sha"
              value="16778615"
              c:type="CLUTTER_KEY_Armenian_sha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1566"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_shesht"
              value="16778587"
              c:type="CLUTTER_KEY_Armenian_shesht">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1518"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_tche"
              value="16778611"
              c:type="CLUTTER_KEY_Armenian_tche">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1558"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_to"
              value="16778601"
              c:type="CLUTTER_KEY_Armenian_to">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1538"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_tsa"
              value="16778606"
              c:type="CLUTTER_KEY_Armenian_tsa">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1548"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_tso"
              value="16778625"
              c:type="CLUTTER_KEY_Armenian_tso">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1586"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_tyun"
              value="16778623"
              c:type="CLUTTER_KEY_Armenian_tyun">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1582"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_verjaket"
              value="16778633"
              c:type="CLUTTER_KEY_Armenian_verjaket">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1510"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_vev"
              value="16778622"
              c:type="CLUTTER_KEY_Armenian_vev">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1580"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_vo"
              value="16778616"
              c:type="CLUTTER_KEY_Armenian_vo">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1568"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_vyun"
              value="16778626"
              c:type="CLUTTER_KEY_Armenian_vyun">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1588"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_yech"
              value="16778597"
              c:type="CLUTTER_KEY_Armenian_yech">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1530"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_yentamna"
              value="16778634"
              c:type="CLUTTER_KEY_Armenian_yentamna">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1514"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_za"
              value="16778598"
              c:type="CLUTTER_KEY_Armenian_za">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1532"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Armenian_zhe"
              value="16778602"
              c:type="CLUTTER_KEY_Armenian_zhe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1540"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AspectRatio"
              value="268964215"
              c:type="CLUTTER_KEY_AspectRatio">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2328"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Assistant"
              value="268964423"
              c:type="CLUTTER_KEY_Assistant">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2391"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Atilde" value="195" c:type="CLUTTER_KEY_Atilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="517"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AttendantOff"
              value="268964380"
              c:type="CLUTTER_KEY_AttendantOff">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2379"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AttendantOn"
              value="268964379"
              c:type="CLUTTER_KEY_AttendantOn">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2378"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AttendantToggle"
              value="268964381"
              c:type="CLUTTER_KEY_AttendantToggle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2380"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudibleBell_Enable"
              value="65146"
              c:type="CLUTTER_KEY_AudibleBell_Enable">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="315"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Audio" value="268964232" c:type="CLUTTER_KEY_Audio">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2330"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudioCycleTrack"
              value="269025179"
              c:type="CLUTTER_KEY_AudioCycleTrack">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2283"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudioDesc"
              value="268964462"
              c:type="CLUTTER_KEY_AudioDesc">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2415"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudioForward"
              value="269025175"
              c:type="CLUTTER_KEY_AudioForward">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2279"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudioLowerVolume"
              value="269025041"
              c:type="CLUTTER_KEY_AudioLowerVolume">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2151"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudioMedia"
              value="269025074"
              c:type="CLUTTER_KEY_AudioMedia">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2184"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudioMicMute"
              value="269025202"
              c:type="CLUTTER_KEY_AudioMicMute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2300"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudioMute"
              value="269025042"
              c:type="CLUTTER_KEY_AudioMute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2152"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudioNext"
              value="269025047"
              c:type="CLUTTER_KEY_AudioNext">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2157"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudioPause"
              value="269025073"
              c:type="CLUTTER_KEY_AudioPause">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2183"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudioPlay"
              value="269025044"
              c:type="CLUTTER_KEY_AudioPlay">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2154"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudioPreset"
              value="269025206"
              c:type="CLUTTER_KEY_AudioPreset">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2304"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudioPrev"
              value="269025046"
              c:type="CLUTTER_KEY_AudioPrev">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2156"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudioRaiseVolume"
              value="269025043"
              c:type="CLUTTER_KEY_AudioRaiseVolume">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2153"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudioRandomPlay"
              value="269025177"
              c:type="CLUTTER_KEY_AudioRandomPlay">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2281"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudioRecord"
              value="269025052"
              c:type="CLUTTER_KEY_AudioRecord">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2162"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudioRepeat"
              value="269025176"
              c:type="CLUTTER_KEY_AudioRepeat">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2280"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudioRewind"
              value="269025086"
              c:type="CLUTTER_KEY_AudioRewind">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2196"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AudioStop"
              value="269025045"
              c:type="CLUTTER_KEY_AudioStop">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2155"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_AutopilotEngageToggle"
              value="268964477"
              c:type="CLUTTER_KEY_AutopilotEngageToggle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2430"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Away" value="269025165" c:type="CLUTTER_KEY_Away">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2269"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_B" value="66" c:type="CLUTTER_KEY_B">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="417"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Babovedot"
              value="16784898"
              c:type="CLUTTER_KEY_Babovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="701"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Back" value="269025062" c:type="CLUTTER_KEY_Back">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2172"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_BackForward"
              value="269025087"
              c:type="CLUTTER_KEY_BackForward">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2197"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_BackSpace"
              value="65288"
              c:type="CLUTTER_KEY_BackSpace">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="34"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Battery"
              value="269025171"
              c:type="CLUTTER_KEY_Battery">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2275"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Begin" value="65368" c:type="CLUTTER_KEY_Begin">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="79"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Blue" value="269025190" c:type="CLUTTER_KEY_Blue">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2294"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Bluetooth"
              value="269025172"
              c:type="CLUTTER_KEY_Bluetooth">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2276"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Book" value="269025106" c:type="CLUTTER_KEY_Book">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2216"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_BounceKeys_Enable"
              value="65140"
              c:type="CLUTTER_KEY_BounceKeys_Enable">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="309"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Break" value="65387" c:type="CLUTTER_KEY_Break">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="90"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_BrightnessAdjust"
              value="269025083"
              c:type="CLUTTER_KEY_BrightnessAdjust">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2193"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_BrightnessAuto"
              value="268964084"
              c:type="CLUTTER_KEY_BrightnessAuto">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2325"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_BrightnessMax"
              value="268964433"
              c:type="CLUTTER_KEY_BrightnessMax">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2400"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_BrightnessMin"
              value="268964432"
              c:type="CLUTTER_KEY_BrightnessMin">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2399"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Buttonconfig"
              value="268964416"
              c:type="CLUTTER_KEY_Buttonconfig">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2384"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Byelorussian_SHORTU"
              value="1726"
              c:type="CLUTTER_KEY_Byelorussian_SHORTU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="959"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Byelorussian_shortu"
              value="1710"
              c:type="CLUTTER_KEY_Byelorussian_shortu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="936"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_C" value="67" c:type="CLUTTER_KEY_C">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="418"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_CD" value="269025107" c:type="CLUTTER_KEY_CD">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2217"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_CH" value="65186" c:type="CLUTTER_KEY_CH">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="348"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_C_H" value="65189" c:type="CLUTTER_KEY_C_H">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="351"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_C_h" value="65188" c:type="CLUTTER_KEY_C_h">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="350"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cabovedot" value="709" c:type="CLUTTER_KEY_Cabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="649"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cacute" value="454" c:type="CLUTTER_KEY_Cacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="609"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Calculator"
              value="269025053"
              c:type="CLUTTER_KEY_Calculator">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2163"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Calendar"
              value="269025056"
              c:type="CLUTTER_KEY_Calendar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2166"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_CameraAccessDisable"
              value="268964428"
              c:type="CLUTTER_KEY_CameraAccessDisable">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2395"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_CameraAccessEnable"
              value="268964427"
              c:type="CLUTTER_KEY_CameraAccessEnable">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2394"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_CameraAccessToggle"
              value="268964429"
              c:type="CLUTTER_KEY_CameraAccessToggle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2396"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_CameraDown"
              value="268964376"
              c:type="CLUTTER_KEY_CameraDown">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2375"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_CameraFocus"
              value="268964368"
              c:type="CLUTTER_KEY_CameraFocus">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2370"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_CameraLeft"
              value="268964377"
              c:type="CLUTTER_KEY_CameraLeft">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2376"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_CameraRight"
              value="268964378"
              c:type="CLUTTER_KEY_CameraRight">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2377"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_CameraUp"
              value="268964375"
              c:type="CLUTTER_KEY_CameraUp">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2374"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_CameraZoomIn"
              value="268964373"
              c:type="CLUTTER_KEY_CameraZoomIn">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2372"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_CameraZoomOut"
              value="268964374"
              c:type="CLUTTER_KEY_CameraZoomOut">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2373"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cancel" value="65385" c:type="CLUTTER_KEY_Cancel">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="88"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Caps_Lock"
              value="65509"
              c:type="CLUTTER_KEY_Caps_Lock">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="195"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ccaron" value="456" c:type="CLUTTER_KEY_Ccaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="610"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ccedilla" value="199" c:type="CLUTTER_KEY_Ccedilla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="521"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ccircumflex"
              value="710"
              c:type="CLUTTER_KEY_Ccircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="650"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ch" value="65185" c:type="CLUTTER_KEY_Ch">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="347"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ChannelDown"
              value="268964243"
              c:type="CLUTTER_KEY_ChannelDown">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2332"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ChannelUp"
              value="268964242"
              c:type="CLUTTER_KEY_ChannelUp">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2331"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Clear" value="65291" c:type="CLUTTER_KEY_Clear">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="37"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ClearGrab"
              value="269024801"
              c:type="CLUTTER_KEY_ClearGrab">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2320"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ClearvuSonar"
              value="268964486"
              c:type="CLUTTER_KEY_ClearvuSonar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2439"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Close" value="269025110" c:type="CLUTTER_KEY_Close">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2219"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Codeinput"
              value="65335"
              c:type="CLUTTER_KEY_Codeinput">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="45"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ColonSign"
              value="16785569"
              c:type="CLUTTER_KEY_ColonSign">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1753"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Community"
              value="269025085"
              c:type="CLUTTER_KEY_Community">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2195"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ContextMenu"
              value="268964278"
              c:type="CLUTTER_KEY_ContextMenu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2343"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ContrastAdjust"
              value="269025058"
              c:type="CLUTTER_KEY_ContrastAdjust">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2168"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ControlPanel"
              value="268964419"
              c:type="CLUTTER_KEY_ControlPanel">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2387"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Control_L"
              value="65507"
              c:type="CLUTTER_KEY_Control_L">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="193"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Control_R"
              value="65508"
              c:type="CLUTTER_KEY_Control_R">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="194"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Copy" value="269025111" c:type="CLUTTER_KEY_Copy">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2220"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_CruzeiroSign"
              value="16785570"
              c:type="CLUTTER_KEY_CruzeiroSign">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1754"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cut" value="269025112" c:type="CLUTTER_KEY_Cut">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2221"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_CycleAngle"
              value="269025180"
              c:type="CLUTTER_KEY_CycleAngle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2284"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_A"
              value="1761"
              c:type="CLUTTER_KEY_Cyrillic_A">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="995"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_BE"
              value="1762"
              c:type="CLUTTER_KEY_Cyrillic_BE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="996"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_CHE"
              value="1790"
              c:type="CLUTTER_KEY_Cyrillic_CHE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1024"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_CHE_descender"
              value="16778422"
              c:type="CLUTTER_KEY_Cyrillic_CHE_descender">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="903"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_CHE_vertstroke"
              value="16778424"
              c:type="CLUTTER_KEY_Cyrillic_CHE_vertstroke">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="905"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_DE"
              value="1764"
              c:type="CLUTTER_KEY_Cyrillic_DE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="998"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_DZHE"
              value="1727"
              c:type="CLUTTER_KEY_Cyrillic_DZHE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="960"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_E"
              value="1788"
              c:type="CLUTTER_KEY_Cyrillic_E">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1022"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_EF"
              value="1766"
              c:type="CLUTTER_KEY_Cyrillic_EF">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1000"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_EL"
              value="1772"
              c:type="CLUTTER_KEY_Cyrillic_EL">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1006"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_EM"
              value="1773"
              c:type="CLUTTER_KEY_Cyrillic_EM">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1007"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_EN"
              value="1774"
              c:type="CLUTTER_KEY_Cyrillic_EN">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1008"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_EN_descender"
              value="16778402"
              c:type="CLUTTER_KEY_Cyrillic_EN_descender">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="895"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_ER"
              value="1778"
              c:type="CLUTTER_KEY_Cyrillic_ER">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1012"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_ES"
              value="1779"
              c:type="CLUTTER_KEY_Cyrillic_ES">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1013"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_GHE"
              value="1767"
              c:type="CLUTTER_KEY_Cyrillic_GHE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1001"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_GHE_bar"
              value="16778386"
              c:type="CLUTTER_KEY_Cyrillic_GHE_bar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="887"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_HA"
              value="1768"
              c:type="CLUTTER_KEY_Cyrillic_HA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1002"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_HARDSIGN"
              value="1791"
              c:type="CLUTTER_KEY_Cyrillic_HARDSIGN">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1025"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_HA_descender"
              value="16778418"
              c:type="CLUTTER_KEY_Cyrillic_HA_descender">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="901"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_I"
              value="1769"
              c:type="CLUTTER_KEY_Cyrillic_I">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1003"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_IE"
              value="1765"
              c:type="CLUTTER_KEY_Cyrillic_IE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="999"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_IO"
              value="1715"
              c:type="CLUTTER_KEY_Cyrillic_IO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="942"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_I_macron"
              value="16778466"
              c:type="CLUTTER_KEY_Cyrillic_I_macron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="911"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_JE"
              value="1720"
              c:type="CLUTTER_KEY_Cyrillic_JE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="950"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_KA"
              value="1771"
              c:type="CLUTTER_KEY_Cyrillic_KA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1005"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_KA_descender"
              value="16778394"
              c:type="CLUTTER_KEY_Cyrillic_KA_descender">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="891"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_KA_vertstroke"
              value="16778396"
              c:type="CLUTTER_KEY_Cyrillic_KA_vertstroke">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="893"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_LJE"
              value="1721"
              c:type="CLUTTER_KEY_Cyrillic_LJE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="952"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_NJE"
              value="1722"
              c:type="CLUTTER_KEY_Cyrillic_NJE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="954"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_O"
              value="1775"
              c:type="CLUTTER_KEY_Cyrillic_O">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1009"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_O_bar"
              value="16778472"
              c:type="CLUTTER_KEY_Cyrillic_O_bar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="913"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_PE"
              value="1776"
              c:type="CLUTTER_KEY_Cyrillic_PE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1010"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_SCHWA"
              value="16778456"
              c:type="CLUTTER_KEY_Cyrillic_SCHWA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="909"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_SHA"
              value="1787"
              c:type="CLUTTER_KEY_Cyrillic_SHA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1021"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_SHCHA"
              value="1789"
              c:type="CLUTTER_KEY_Cyrillic_SHCHA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1023"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_SHHA"
              value="16778426"
              c:type="CLUTTER_KEY_Cyrillic_SHHA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="907"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_SHORTI"
              value="1770"
              c:type="CLUTTER_KEY_Cyrillic_SHORTI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1004"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_SOFTSIGN"
              value="1784"
              c:type="CLUTTER_KEY_Cyrillic_SOFTSIGN">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1018"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_TE"
              value="1780"
              c:type="CLUTTER_KEY_Cyrillic_TE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1014"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_TSE"
              value="1763"
              c:type="CLUTTER_KEY_Cyrillic_TSE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="997"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_U"
              value="1781"
              c:type="CLUTTER_KEY_Cyrillic_U">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1015"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_U_macron"
              value="16778478"
              c:type="CLUTTER_KEY_Cyrillic_U_macron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="915"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_U_straight"
              value="16778414"
              c:type="CLUTTER_KEY_Cyrillic_U_straight">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="897"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_U_straight_bar"
              value="16778416"
              c:type="CLUTTER_KEY_Cyrillic_U_straight_bar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="899"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_VE"
              value="1783"
              c:type="CLUTTER_KEY_Cyrillic_VE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1017"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_YA"
              value="1777"
              c:type="CLUTTER_KEY_Cyrillic_YA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1011"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_YERU"
              value="1785"
              c:type="CLUTTER_KEY_Cyrillic_YERU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1019"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_YU"
              value="1760"
              c:type="CLUTTER_KEY_Cyrillic_YU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="994"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_ZE"
              value="1786"
              c:type="CLUTTER_KEY_Cyrillic_ZE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1020"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_ZHE"
              value="1782"
              c:type="CLUTTER_KEY_Cyrillic_ZHE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1016"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_ZHE_descender"
              value="16778390"
              c:type="CLUTTER_KEY_Cyrillic_ZHE_descender">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="889"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_a"
              value="1729"
              c:type="CLUTTER_KEY_Cyrillic_a">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="963"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_be"
              value="1730"
              c:type="CLUTTER_KEY_Cyrillic_be">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="964"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_che"
              value="1758"
              c:type="CLUTTER_KEY_Cyrillic_che">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="992"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_che_descender"
              value="16778423"
              c:type="CLUTTER_KEY_Cyrillic_che_descender">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="904"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_che_vertstroke"
              value="16778425"
              c:type="CLUTTER_KEY_Cyrillic_che_vertstroke">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="906"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_de"
              value="1732"
              c:type="CLUTTER_KEY_Cyrillic_de">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="966"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_dzhe"
              value="1711"
              c:type="CLUTTER_KEY_Cyrillic_dzhe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="937"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_e"
              value="1756"
              c:type="CLUTTER_KEY_Cyrillic_e">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="990"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_ef"
              value="1734"
              c:type="CLUTTER_KEY_Cyrillic_ef">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="968"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_el"
              value="1740"
              c:type="CLUTTER_KEY_Cyrillic_el">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="974"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_em"
              value="1741"
              c:type="CLUTTER_KEY_Cyrillic_em">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="975"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_en"
              value="1742"
              c:type="CLUTTER_KEY_Cyrillic_en">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="976"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_en_descender"
              value="16778403"
              c:type="CLUTTER_KEY_Cyrillic_en_descender">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="896"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_er"
              value="1746"
              c:type="CLUTTER_KEY_Cyrillic_er">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="980"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_es"
              value="1747"
              c:type="CLUTTER_KEY_Cyrillic_es">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="981"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_ghe"
              value="1735"
              c:type="CLUTTER_KEY_Cyrillic_ghe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="969"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_ghe_bar"
              value="16778387"
              c:type="CLUTTER_KEY_Cyrillic_ghe_bar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="888"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_ha"
              value="1736"
              c:type="CLUTTER_KEY_Cyrillic_ha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="970"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_ha_descender"
              value="16778419"
              c:type="CLUTTER_KEY_Cyrillic_ha_descender">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="902"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_hardsign"
              value="1759"
              c:type="CLUTTER_KEY_Cyrillic_hardsign">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="993"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_i"
              value="1737"
              c:type="CLUTTER_KEY_Cyrillic_i">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="971"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_i_macron"
              value="16778467"
              c:type="CLUTTER_KEY_Cyrillic_i_macron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="912"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_ie"
              value="1733"
              c:type="CLUTTER_KEY_Cyrillic_ie">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="967"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_io"
              value="1699"
              c:type="CLUTTER_KEY_Cyrillic_io">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="919"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_je"
              value="1704"
              c:type="CLUTTER_KEY_Cyrillic_je">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="927"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_ka"
              value="1739"
              c:type="CLUTTER_KEY_Cyrillic_ka">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="973"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_ka_descender"
              value="16778395"
              c:type="CLUTTER_KEY_Cyrillic_ka_descender">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="892"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_ka_vertstroke"
              value="16778397"
              c:type="CLUTTER_KEY_Cyrillic_ka_vertstroke">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="894"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_lje"
              value="1705"
              c:type="CLUTTER_KEY_Cyrillic_lje">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="929"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_nje"
              value="1706"
              c:type="CLUTTER_KEY_Cyrillic_nje">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="931"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_o"
              value="1743"
              c:type="CLUTTER_KEY_Cyrillic_o">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="977"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_o_bar"
              value="16778473"
              c:type="CLUTTER_KEY_Cyrillic_o_bar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="914"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_pe"
              value="1744"
              c:type="CLUTTER_KEY_Cyrillic_pe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="978"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_schwa"
              value="16778457"
              c:type="CLUTTER_KEY_Cyrillic_schwa">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="910"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_sha"
              value="1755"
              c:type="CLUTTER_KEY_Cyrillic_sha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="989"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_shcha"
              value="1757"
              c:type="CLUTTER_KEY_Cyrillic_shcha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="991"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_shha"
              value="16778427"
              c:type="CLUTTER_KEY_Cyrillic_shha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="908"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_shorti"
              value="1738"
              c:type="CLUTTER_KEY_Cyrillic_shorti">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="972"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_softsign"
              value="1752"
              c:type="CLUTTER_KEY_Cyrillic_softsign">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="986"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_te"
              value="1748"
              c:type="CLUTTER_KEY_Cyrillic_te">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="982"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_tse"
              value="1731"
              c:type="CLUTTER_KEY_Cyrillic_tse">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="965"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_u"
              value="1749"
              c:type="CLUTTER_KEY_Cyrillic_u">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="983"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_u_macron"
              value="16778479"
              c:type="CLUTTER_KEY_Cyrillic_u_macron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="916"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_u_straight"
              value="16778415"
              c:type="CLUTTER_KEY_Cyrillic_u_straight">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="898"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_u_straight_bar"
              value="16778417"
              c:type="CLUTTER_KEY_Cyrillic_u_straight_bar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="900"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_ve"
              value="1751"
              c:type="CLUTTER_KEY_Cyrillic_ve">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="985"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_ya"
              value="1745"
              c:type="CLUTTER_KEY_Cyrillic_ya">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="979"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_yeru"
              value="1753"
              c:type="CLUTTER_KEY_Cyrillic_yeru">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="987"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_yu"
              value="1728"
              c:type="CLUTTER_KEY_Cyrillic_yu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="962"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_ze"
              value="1754"
              c:type="CLUTTER_KEY_Cyrillic_ze">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="988"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_zhe"
              value="1750"
              c:type="CLUTTER_KEY_Cyrillic_zhe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="984"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Cyrillic_zhe_descender"
              value="16778391"
              c:type="CLUTTER_KEY_Cyrillic_zhe_descender">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="890"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_D" value="68" c:type="CLUTTER_KEY_D">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="419"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_DOS" value="269025114" c:type="CLUTTER_KEY_DOS">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2223"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_DVD" value="268964229" c:type="CLUTTER_KEY_DVD">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2329"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Dabovedot"
              value="16784906"
              c:type="CLUTTER_KEY_Dabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="703"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Data" value="268964471" c:type="CLUTTER_KEY_Data">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2424"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Database"
              value="268964266"
              c:type="CLUTTER_KEY_Database">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2338"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Dcaron" value="463" c:type="CLUTTER_KEY_Dcaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="613"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Delete" value="65535" c:type="CLUTTER_KEY_Delete">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="43"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Dictate"
              value="268964426"
              c:type="CLUTTER_KEY_Dictate">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2393"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Display"
              value="269025113"
              c:type="CLUTTER_KEY_Display">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2222"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_DisplayOff"
              value="268964085"
              c:type="CLUTTER_KEY_DisplayOff">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2326"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_DisplayToggle"
              value="268964271"
              c:type="CLUTTER_KEY_DisplayToggle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2341"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_DoNotDisturb"
              value="268964431"
              c:type="CLUTTER_KEY_DoNotDisturb">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2398"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Documents"
              value="269025115"
              c:type="CLUTTER_KEY_Documents">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2224"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_DongSign"
              value="16785579"
              c:type="CLUTTER_KEY_DongSign">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1763"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Down" value="65364" c:type="CLUTTER_KEY_Down">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="73"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Dstroke" value="464" c:type="CLUTTER_KEY_Dstroke">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="614"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_DualRangeRadar"
              value="268964483"
              c:type="CLUTTER_KEY_DualRangeRadar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2436"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_E" value="69" c:type="CLUTTER_KEY_E">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="420"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ENG" value="957" c:type="CLUTTER_KEY_ENG">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="675"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ETH" value="208" c:type="CLUTTER_KEY_ETH">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="530"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_EZH" value="16777655" c:type="CLUTTER_KEY_EZH">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1651"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Eabovedot" value="972" c:type="CLUTTER_KEY_Eabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="679"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Eacute" value="201" c:type="CLUTTER_KEY_Eacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="523"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ebelowdot"
              value="16785080"
              c:type="CLUTTER_KEY_Ebelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1679"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ecaron" value="460" c:type="CLUTTER_KEY_Ecaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="612"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ecircumflex"
              value="202"
              c:type="CLUTTER_KEY_Ecircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="524"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ecircumflexacute"
              value="16785086"
              c:type="CLUTTER_KEY_Ecircumflexacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1685"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ecircumflexbelowdot"
              value="16785094"
              c:type="CLUTTER_KEY_Ecircumflexbelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1693"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ecircumflexgrave"
              value="16785088"
              c:type="CLUTTER_KEY_Ecircumflexgrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1687"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ecircumflexhook"
              value="16785090"
              c:type="CLUTTER_KEY_Ecircumflexhook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1689"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ecircumflextilde"
              value="16785092"
              c:type="CLUTTER_KEY_Ecircumflextilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1691"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_EcuSign" value="16785568" c:type="CLUTTER_KEY_EcuSign">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1752"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ediaeresis"
              value="203"
              c:type="CLUTTER_KEY_Ediaeresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="525"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Editor" value="268964262" c:type="CLUTTER_KEY_Editor">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2335"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Egrave" value="200" c:type="CLUTTER_KEY_Egrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="522"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ehook" value="16785082" c:type="CLUTTER_KEY_Ehook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1681"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Eisu_Shift"
              value="65327"
              c:type="CLUTTER_KEY_Eisu_Shift">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="64"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Eisu_toggle"
              value="65328"
              c:type="CLUTTER_KEY_Eisu_toggle">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="65"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Eject" value="269025068" c:type="CLUTTER_KEY_Eject">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2178"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Emacron" value="938" c:type="CLUTTER_KEY_Emacron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="666"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_EmojiPicker"
              value="268964425"
              c:type="CLUTTER_KEY_EmojiPicker">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2392"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_End" value="65367" c:type="CLUTTER_KEY_End">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="78"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Eogonek" value="458" c:type="CLUTTER_KEY_Eogonek">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="611"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Escape" value="65307" c:type="CLUTTER_KEY_Escape">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="42"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Eth" value="208" c:type="CLUTTER_KEY_Eth">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="531"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Etilde" value="16785084" c:type="CLUTTER_KEY_Etilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1683"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_EuroSign" value="8364" c:type="CLUTTER_KEY_EuroSign">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1764"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Excel" value="269025116" c:type="CLUTTER_KEY_Excel">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2225"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Execute" value="65378" c:type="CLUTTER_KEY_Execute">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="82"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Explorer"
              value="269025117"
              c:type="CLUTTER_KEY_Explorer">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2226"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F" value="70" c:type="CLUTTER_KEY_F">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="421"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F1" value="65470" c:type="CLUTTER_KEY_F1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="131"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F10" value="65479" c:type="CLUTTER_KEY_F10">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="140"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F11" value="65480" c:type="CLUTTER_KEY_F11">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="141"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F12" value="65481" c:type="CLUTTER_KEY_F12">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="143"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F13" value="65482" c:type="CLUTTER_KEY_F13">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="145"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F14" value="65483" c:type="CLUTTER_KEY_F14">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="147"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F15" value="65484" c:type="CLUTTER_KEY_F15">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="149"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F16" value="65485" c:type="CLUTTER_KEY_F16">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="151"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F17" value="65486" c:type="CLUTTER_KEY_F17">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="153"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F18" value="65487" c:type="CLUTTER_KEY_F18">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="155"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F19" value="65488" c:type="CLUTTER_KEY_F19">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="157"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F2" value="65471" c:type="CLUTTER_KEY_F2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="132"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F20" value="65489" c:type="CLUTTER_KEY_F20">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="159"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F21" value="65490" c:type="CLUTTER_KEY_F21">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="161"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F22" value="65491" c:type="CLUTTER_KEY_F22">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="163"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F23" value="65492" c:type="CLUTTER_KEY_F23">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="165"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F24" value="65493" c:type="CLUTTER_KEY_F24">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="167"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F25" value="65494" c:type="CLUTTER_KEY_F25">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="169"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F26" value="65495" c:type="CLUTTER_KEY_F26">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="171"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F27" value="65496" c:type="CLUTTER_KEY_F27">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="173"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F28" value="65497" c:type="CLUTTER_KEY_F28">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="175"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F29" value="65498" c:type="CLUTTER_KEY_F29">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="177"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F3" value="65472" c:type="CLUTTER_KEY_F3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="133"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F30" value="65499" c:type="CLUTTER_KEY_F30">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="179"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F31" value="65500" c:type="CLUTTER_KEY_F31">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="181"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F32" value="65501" c:type="CLUTTER_KEY_F32">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="183"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F33" value="65502" c:type="CLUTTER_KEY_F33">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="185"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F34" value="65503" c:type="CLUTTER_KEY_F34">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="187"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F35" value="65504" c:type="CLUTTER_KEY_F35">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="189"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F4" value="65473" c:type="CLUTTER_KEY_F4">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="134"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F5" value="65474" c:type="CLUTTER_KEY_F5">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="135"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F6" value="65475" c:type="CLUTTER_KEY_F6">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="136"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F7" value="65476" c:type="CLUTTER_KEY_F7">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="137"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F8" value="65477" c:type="CLUTTER_KEY_F8">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="138"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_F9" value="65478" c:type="CLUTTER_KEY_F9">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="139"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_FFrancSign"
              value="16785571"
              c:type="CLUTTER_KEY_FFrancSign">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1755"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Fabovedot"
              value="16784926"
              c:type="CLUTTER_KEY_Fabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="705"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Farsi_0" value="16778992" c:type="CLUTTER_KEY_Farsi_0">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="796"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Farsi_1" value="16778993" c:type="CLUTTER_KEY_Farsi_1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="797"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Farsi_2" value="16778994" c:type="CLUTTER_KEY_Farsi_2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="798"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Farsi_3" value="16778995" c:type="CLUTTER_KEY_Farsi_3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="799"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Farsi_4" value="16778996" c:type="CLUTTER_KEY_Farsi_4">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="800"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Farsi_5" value="16778997" c:type="CLUTTER_KEY_Farsi_5">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="801"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Farsi_6" value="16778998" c:type="CLUTTER_KEY_Farsi_6">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="802"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Farsi_7" value="16778999" c:type="CLUTTER_KEY_Farsi_7">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="803"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Farsi_8" value="16779000" c:type="CLUTTER_KEY_Farsi_8">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="804"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Farsi_9" value="16779001" c:type="CLUTTER_KEY_Farsi_9">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="805"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Farsi_yeh"
              value="16778956"
              c:type="CLUTTER_KEY_Farsi_yeh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="882"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_FastReverse"
              value="268964469"
              c:type="CLUTTER_KEY_FastReverse">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2422"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Favorites"
              value="269025072"
              c:type="CLUTTER_KEY_Favorites">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2182"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Finance"
              value="269025084"
              c:type="CLUTTER_KEY_Finance">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2194"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Find" value="65384" c:type="CLUTTER_KEY_Find">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="87"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_First_Virtual_Screen"
              value="65232"
              c:type="CLUTTER_KEY_First_Virtual_Screen">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="300"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_FishingChart"
              value="268964481"
              c:type="CLUTTER_KEY_FishingChart">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2434"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Fn" value="268964304" c:type="CLUTTER_KEY_Fn">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2351"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_FnRightShift"
              value="268964325"
              c:type="CLUTTER_KEY_FnRightShift">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2353"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Fn_Esc" value="268964305" c:type="CLUTTER_KEY_Fn_Esc">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2352"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Forward"
              value="269025063"
              c:type="CLUTTER_KEY_Forward">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2173"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_FrameBack"
              value="269025181"
              c:type="CLUTTER_KEY_FrameBack">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2285"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_FrameForward"
              value="269025182"
              c:type="CLUTTER_KEY_FrameForward">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2286"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_FullScreen"
              value="269025208"
              c:type="CLUTTER_KEY_FullScreen">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2306"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_G" value="71" c:type="CLUTTER_KEY_G">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="422"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Gabovedot" value="725" c:type="CLUTTER_KEY_Gabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="651"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Game" value="269025118" c:type="CLUTTER_KEY_Game">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2227"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Gbreve" value="683" c:type="CLUTTER_KEY_Gbreve">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="642"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Gcaron" value="16777702" c:type="CLUTTER_KEY_Gcaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1640"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Gcedilla" value="939" c:type="CLUTTER_KEY_Gcedilla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="667"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Gcircumflex"
              value="728"
              c:type="CLUTTER_KEY_Gcircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="652"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_an"
              value="16781520"
              c:type="CLUTTER_KEY_Georgian_an">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1598"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_ban"
              value="16781521"
              c:type="CLUTTER_KEY_Georgian_ban">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1599"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_can"
              value="16781546"
              c:type="CLUTTER_KEY_Georgian_can">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1624"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_char"
              value="16781549"
              c:type="CLUTTER_KEY_Georgian_char">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1627"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_chin"
              value="16781545"
              c:type="CLUTTER_KEY_Georgian_chin">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1623"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_cil"
              value="16781548"
              c:type="CLUTTER_KEY_Georgian_cil">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1626"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_don"
              value="16781523"
              c:type="CLUTTER_KEY_Georgian_don">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1601"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_en"
              value="16781524"
              c:type="CLUTTER_KEY_Georgian_en">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1602"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_fi"
              value="16781558"
              c:type="CLUTTER_KEY_Georgian_fi">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1636"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_gan"
              value="16781522"
              c:type="CLUTTER_KEY_Georgian_gan">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1600"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_ghan"
              value="16781542"
              c:type="CLUTTER_KEY_Georgian_ghan">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1620"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_hae"
              value="16781552"
              c:type="CLUTTER_KEY_Georgian_hae">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1630"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_har"
              value="16781556"
              c:type="CLUTTER_KEY_Georgian_har">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1634"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_he"
              value="16781553"
              c:type="CLUTTER_KEY_Georgian_he">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1631"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_hie"
              value="16781554"
              c:type="CLUTTER_KEY_Georgian_hie">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1632"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_hoe"
              value="16781557"
              c:type="CLUTTER_KEY_Georgian_hoe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1635"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_in"
              value="16781528"
              c:type="CLUTTER_KEY_Georgian_in">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1606"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_jhan"
              value="16781551"
              c:type="CLUTTER_KEY_Georgian_jhan">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1629"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_jil"
              value="16781547"
              c:type="CLUTTER_KEY_Georgian_jil">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1625"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_kan"
              value="16781529"
              c:type="CLUTTER_KEY_Georgian_kan">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1607"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_khar"
              value="16781541"
              c:type="CLUTTER_KEY_Georgian_khar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1619"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_las"
              value="16781530"
              c:type="CLUTTER_KEY_Georgian_las">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1608"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_man"
              value="16781531"
              c:type="CLUTTER_KEY_Georgian_man">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1609"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_nar"
              value="16781532"
              c:type="CLUTTER_KEY_Georgian_nar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1610"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_on"
              value="16781533"
              c:type="CLUTTER_KEY_Georgian_on">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1611"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_par"
              value="16781534"
              c:type="CLUTTER_KEY_Georgian_par">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1612"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_phar"
              value="16781540"
              c:type="CLUTTER_KEY_Georgian_phar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1618"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_qar"
              value="16781543"
              c:type="CLUTTER_KEY_Georgian_qar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1621"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_rae"
              value="16781536"
              c:type="CLUTTER_KEY_Georgian_rae">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1614"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_san"
              value="16781537"
              c:type="CLUTTER_KEY_Georgian_san">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1615"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_shin"
              value="16781544"
              c:type="CLUTTER_KEY_Georgian_shin">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1622"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_tan"
              value="16781527"
              c:type="CLUTTER_KEY_Georgian_tan">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1605"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_tar"
              value="16781538"
              c:type="CLUTTER_KEY_Georgian_tar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1616"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_un"
              value="16781539"
              c:type="CLUTTER_KEY_Georgian_un">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1617"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_vin"
              value="16781525"
              c:type="CLUTTER_KEY_Georgian_vin">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1603"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_we"
              value="16781555"
              c:type="CLUTTER_KEY_Georgian_we">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1633"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_xan"
              value="16781550"
              c:type="CLUTTER_KEY_Georgian_xan">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1628"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_zen"
              value="16781526"
              c:type="CLUTTER_KEY_Georgian_zen">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1604"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Georgian_zhar"
              value="16781535"
              c:type="CLUTTER_KEY_Georgian_zhar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1613"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Go" value="269025119" c:type="CLUTTER_KEY_Go">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2228"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_GraphicsEditor"
              value="268964264"
              c:type="CLUTTER_KEY_GraphicsEditor">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2336"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_ALPHA"
              value="1985"
              c:type="CLUTTER_KEY_Greek_ALPHA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1049"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_ALPHAaccent"
              value="1953"
              c:type="CLUTTER_KEY_Greek_ALPHAaccent">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1026"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_BETA"
              value="1986"
              c:type="CLUTTER_KEY_Greek_BETA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1050"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_CHI" value="2007" c:type="CLUTTER_KEY_Greek_CHI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1071"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_DELTA"
              value="1988"
              c:type="CLUTTER_KEY_Greek_DELTA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1052"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_EPSILON"
              value="1989"
              c:type="CLUTTER_KEY_Greek_EPSILON">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1053"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_EPSILONaccent"
              value="1954"
              c:type="CLUTTER_KEY_Greek_EPSILONaccent">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1027"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_ETA" value="1991" c:type="CLUTTER_KEY_Greek_ETA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1055"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_ETAaccent"
              value="1955"
              c:type="CLUTTER_KEY_Greek_ETAaccent">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1028"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_GAMMA"
              value="1987"
              c:type="CLUTTER_KEY_Greek_GAMMA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1051"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_IOTA"
              value="1993"
              c:type="CLUTTER_KEY_Greek_IOTA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1057"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_IOTAaccent"
              value="1956"
              c:type="CLUTTER_KEY_Greek_IOTAaccent">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1029"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_IOTAdiaeresis"
              value="1957"
              c:type="CLUTTER_KEY_Greek_IOTAdiaeresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1031"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_IOTAdieresis"
              value="1957"
              c:type="CLUTTER_KEY_Greek_IOTAdieresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1030"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_KAPPA"
              value="1994"
              c:type="CLUTTER_KEY_Greek_KAPPA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1058"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_LAMBDA"
              value="1995"
              c:type="CLUTTER_KEY_Greek_LAMBDA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1060"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_LAMDA"
              value="1995"
              c:type="CLUTTER_KEY_Greek_LAMDA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1059"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_MU" value="1996" c:type="CLUTTER_KEY_Greek_MU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1061"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_NU" value="1997" c:type="CLUTTER_KEY_Greek_NU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1062"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_OMEGA"
              value="2009"
              c:type="CLUTTER_KEY_Greek_OMEGA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1073"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_OMEGAaccent"
              value="1963"
              c:type="CLUTTER_KEY_Greek_OMEGAaccent">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1035"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_OMICRON"
              value="1999"
              c:type="CLUTTER_KEY_Greek_OMICRON">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1064"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_OMICRONaccent"
              value="1959"
              c:type="CLUTTER_KEY_Greek_OMICRONaccent">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1032"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_PHI" value="2006" c:type="CLUTTER_KEY_Greek_PHI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1070"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_PI" value="2000" c:type="CLUTTER_KEY_Greek_PI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1065"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_PSI" value="2008" c:type="CLUTTER_KEY_Greek_PSI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1072"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_RHO" value="2001" c:type="CLUTTER_KEY_Greek_RHO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1066"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_SIGMA"
              value="2002"
              c:type="CLUTTER_KEY_Greek_SIGMA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1067"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_TAU" value="2004" c:type="CLUTTER_KEY_Greek_TAU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1068"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_THETA"
              value="1992"
              c:type="CLUTTER_KEY_Greek_THETA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1056"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_UPSILON"
              value="2005"
              c:type="CLUTTER_KEY_Greek_UPSILON">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1069"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_UPSILONaccent"
              value="1960"
              c:type="CLUTTER_KEY_Greek_UPSILONaccent">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1033"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_UPSILONdieresis"
              value="1961"
              c:type="CLUTTER_KEY_Greek_UPSILONdieresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1034"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_XI" value="1998" c:type="CLUTTER_KEY_Greek_XI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1063"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_ZETA"
              value="1990"
              c:type="CLUTTER_KEY_Greek_ZETA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1054"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_accentdieresis"
              value="1966"
              c:type="CLUTTER_KEY_Greek_accentdieresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1036"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_alpha"
              value="2017"
              c:type="CLUTTER_KEY_Greek_alpha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1074"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_alphaaccent"
              value="1969"
              c:type="CLUTTER_KEY_Greek_alphaaccent">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1038"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_beta"
              value="2018"
              c:type="CLUTTER_KEY_Greek_beta">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1075"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_chi" value="2039" c:type="CLUTTER_KEY_Greek_chi">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1097"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_delta"
              value="2020"
              c:type="CLUTTER_KEY_Greek_delta">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1077"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_epsilon"
              value="2021"
              c:type="CLUTTER_KEY_Greek_epsilon">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1078"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_epsilonaccent"
              value="1970"
              c:type="CLUTTER_KEY_Greek_epsilonaccent">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1039"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_eta" value="2023" c:type="CLUTTER_KEY_Greek_eta">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1080"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_etaaccent"
              value="1971"
              c:type="CLUTTER_KEY_Greek_etaaccent">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1040"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_finalsmallsigma"
              value="2035"
              c:type="CLUTTER_KEY_Greek_finalsmallsigma">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1093"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_gamma"
              value="2019"
              c:type="CLUTTER_KEY_Greek_gamma">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1076"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_horizbar"
              value="1967"
              c:type="CLUTTER_KEY_Greek_horizbar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1037"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_iota"
              value="2025"
              c:type="CLUTTER_KEY_Greek_iota">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1082"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_iotaaccent"
              value="1972"
              c:type="CLUTTER_KEY_Greek_iotaaccent">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1041"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_iotaaccentdieresis"
              value="1974"
              c:type="CLUTTER_KEY_Greek_iotaaccentdieresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1043"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_iotadieresis"
              value="1973"
              c:type="CLUTTER_KEY_Greek_iotadieresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1042"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_kappa"
              value="2026"
              c:type="CLUTTER_KEY_Greek_kappa">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1083"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_lambda"
              value="2027"
              c:type="CLUTTER_KEY_Greek_lambda">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1085"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_lamda"
              value="2027"
              c:type="CLUTTER_KEY_Greek_lamda">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1084"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_mu" value="2028" c:type="CLUTTER_KEY_Greek_mu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1086"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_nu" value="2029" c:type="CLUTTER_KEY_Greek_nu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1087"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_omega"
              value="2041"
              c:type="CLUTTER_KEY_Greek_omega">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1099"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_omegaaccent"
              value="1979"
              c:type="CLUTTER_KEY_Greek_omegaaccent">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1048"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_omicron"
              value="2031"
              c:type="CLUTTER_KEY_Greek_omicron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1089"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_omicronaccent"
              value="1975"
              c:type="CLUTTER_KEY_Greek_omicronaccent">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1044"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_phi" value="2038" c:type="CLUTTER_KEY_Greek_phi">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1096"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_pi" value="2032" c:type="CLUTTER_KEY_Greek_pi">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1090"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_psi" value="2040" c:type="CLUTTER_KEY_Greek_psi">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1098"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_rho" value="2033" c:type="CLUTTER_KEY_Greek_rho">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1091"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_sigma"
              value="2034"
              c:type="CLUTTER_KEY_Greek_sigma">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1092"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_switch"
              value="65406"
              c:type="CLUTTER_KEY_Greek_switch">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1100"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_tau" value="2036" c:type="CLUTTER_KEY_Greek_tau">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1094"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_theta"
              value="2024"
              c:type="CLUTTER_KEY_Greek_theta">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1081"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_upsilon"
              value="2037"
              c:type="CLUTTER_KEY_Greek_upsilon">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1095"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_upsilonaccent"
              value="1976"
              c:type="CLUTTER_KEY_Greek_upsilonaccent">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1045"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_upsilonaccentdieresis"
              value="1978"
              c:type="CLUTTER_KEY_Greek_upsilonaccentdieresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1047"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_upsilondieresis"
              value="1977"
              c:type="CLUTTER_KEY_Greek_upsilondieresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1046"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_xi" value="2030" c:type="CLUTTER_KEY_Greek_xi">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1088"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Greek_zeta"
              value="2022"
              c:type="CLUTTER_KEY_Greek_zeta">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1079"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Green" value="269025188" c:type="CLUTTER_KEY_Green">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2292"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_H" value="72" c:type="CLUTTER_KEY_H">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="423"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul" value="65329" c:type="CLUTTER_KEY_Hangul">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1401"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_A" value="3775" c:type="CLUTTER_KEY_Hangul_A">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1447"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_AE" value="3776" c:type="CLUTTER_KEY_Hangul_AE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1448"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_AraeA"
              value="3830"
              c:type="CLUTTER_KEY_Hangul_AraeA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1502"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_AraeAE"
              value="3831"
              c:type="CLUTTER_KEY_Hangul_AraeAE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1503"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Banja"
              value="65337"
              c:type="CLUTTER_KEY_Hangul_Banja">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1409"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Cieuc"
              value="3770"
              c:type="CLUTTER_KEY_Hangul_Cieuc">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1442"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Codeinput"
              value="65335"
              c:type="CLUTTER_KEY_Hangul_Codeinput">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1407"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Dikeud"
              value="3751"
              c:type="CLUTTER_KEY_Hangul_Dikeud">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1423"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_E" value="3780" c:type="CLUTTER_KEY_Hangul_E">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1452"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_EO" value="3779" c:type="CLUTTER_KEY_Hangul_EO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1451"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_EU" value="3793" c:type="CLUTTER_KEY_Hangul_EU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1465"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_End"
              value="65331"
              c:type="CLUTTER_KEY_Hangul_End">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1403"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Hanja"
              value="65332"
              c:type="CLUTTER_KEY_Hangul_Hanja">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1404"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Hieuh"
              value="3774"
              c:type="CLUTTER_KEY_Hangul_Hieuh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1446"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_I" value="3795" c:type="CLUTTER_KEY_Hangul_I">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1467"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Ieung"
              value="3767"
              c:type="CLUTTER_KEY_Hangul_Ieung">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1439"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_Cieuc"
              value="3818"
              c:type="CLUTTER_KEY_Hangul_J_Cieuc">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1490"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_Dikeud"
              value="3802"
              c:type="CLUTTER_KEY_Hangul_J_Dikeud">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1474"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_Hieuh"
              value="3822"
              c:type="CLUTTER_KEY_Hangul_J_Hieuh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1494"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_Ieung"
              value="3816"
              c:type="CLUTTER_KEY_Hangul_J_Ieung">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1488"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_Jieuj"
              value="3817"
              c:type="CLUTTER_KEY_Hangul_J_Jieuj">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1489"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_Khieuq"
              value="3819"
              c:type="CLUTTER_KEY_Hangul_J_Khieuq">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1491"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_Kiyeog"
              value="3796"
              c:type="CLUTTER_KEY_Hangul_J_Kiyeog">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1468"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_KiyeogSios"
              value="3798"
              c:type="CLUTTER_KEY_Hangul_J_KiyeogSios">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1470"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_KkogjiDalrinIeung"
              value="3833"
              c:type="CLUTTER_KEY_Hangul_J_KkogjiDalrinIeung">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1505"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_Mieum"
              value="3811"
              c:type="CLUTTER_KEY_Hangul_J_Mieum">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1483"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_Nieun"
              value="3799"
              c:type="CLUTTER_KEY_Hangul_J_Nieun">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1471"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_NieunHieuh"
              value="3801"
              c:type="CLUTTER_KEY_Hangul_J_NieunHieuh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1473"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_NieunJieuj"
              value="3800"
              c:type="CLUTTER_KEY_Hangul_J_NieunJieuj">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1472"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_PanSios"
              value="3832"
              c:type="CLUTTER_KEY_Hangul_J_PanSios">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1504"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_Phieuf"
              value="3821"
              c:type="CLUTTER_KEY_Hangul_J_Phieuf">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1493"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_Pieub"
              value="3812"
              c:type="CLUTTER_KEY_Hangul_J_Pieub">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1484"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_PieubSios"
              value="3813"
              c:type="CLUTTER_KEY_Hangul_J_PieubSios">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1485"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_Rieul"
              value="3803"
              c:type="CLUTTER_KEY_Hangul_J_Rieul">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1475"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_RieulHieuh"
              value="3810"
              c:type="CLUTTER_KEY_Hangul_J_RieulHieuh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1482"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_RieulKiyeog"
              value="3804"
              c:type="CLUTTER_KEY_Hangul_J_RieulKiyeog">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1476"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_RieulMieum"
              value="3805"
              c:type="CLUTTER_KEY_Hangul_J_RieulMieum">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1477"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_RieulPhieuf"
              value="3809"
              c:type="CLUTTER_KEY_Hangul_J_RieulPhieuf">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1481"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_RieulPieub"
              value="3806"
              c:type="CLUTTER_KEY_Hangul_J_RieulPieub">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1478"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_RieulSios"
              value="3807"
              c:type="CLUTTER_KEY_Hangul_J_RieulSios">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1479"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_RieulTieut"
              value="3808"
              c:type="CLUTTER_KEY_Hangul_J_RieulTieut">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1480"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_Sios"
              value="3814"
              c:type="CLUTTER_KEY_Hangul_J_Sios">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1486"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_SsangKiyeog"
              value="3797"
              c:type="CLUTTER_KEY_Hangul_J_SsangKiyeog">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1469"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_SsangSios"
              value="3815"
              c:type="CLUTTER_KEY_Hangul_J_SsangSios">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1487"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_Tieut"
              value="3820"
              c:type="CLUTTER_KEY_Hangul_J_Tieut">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1492"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_J_YeorinHieuh"
              value="3834"
              c:type="CLUTTER_KEY_Hangul_J_YeorinHieuh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1506"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Jamo"
              value="65333"
              c:type="CLUTTER_KEY_Hangul_Jamo">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1405"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Jeonja"
              value="65336"
              c:type="CLUTTER_KEY_Hangul_Jeonja">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1408"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Jieuj"
              value="3768"
              c:type="CLUTTER_KEY_Hangul_Jieuj">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1440"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Khieuq"
              value="3771"
              c:type="CLUTTER_KEY_Hangul_Khieuq">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1443"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Kiyeog"
              value="3745"
              c:type="CLUTTER_KEY_Hangul_Kiyeog">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1417"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_KiyeogSios"
              value="3747"
              c:type="CLUTTER_KEY_Hangul_KiyeogSios">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1419"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_KkogjiDalrinIeung"
              value="3827"
              c:type="CLUTTER_KEY_Hangul_KkogjiDalrinIeung">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1499"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Mieum"
              value="3761"
              c:type="CLUTTER_KEY_Hangul_Mieum">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1433"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_MultipleCandidate"
              value="65341"
              c:type="CLUTTER_KEY_Hangul_MultipleCandidate">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1413"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Nieun"
              value="3748"
              c:type="CLUTTER_KEY_Hangul_Nieun">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1420"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_NieunHieuh"
              value="3750"
              c:type="CLUTTER_KEY_Hangul_NieunHieuh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1422"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_NieunJieuj"
              value="3749"
              c:type="CLUTTER_KEY_Hangul_NieunJieuj">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1421"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_O" value="3783" c:type="CLUTTER_KEY_Hangul_O">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1455"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_OE" value="3786" c:type="CLUTTER_KEY_Hangul_OE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1458"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_PanSios"
              value="3826"
              c:type="CLUTTER_KEY_Hangul_PanSios">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1498"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Phieuf"
              value="3773"
              c:type="CLUTTER_KEY_Hangul_Phieuf">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1445"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Pieub"
              value="3762"
              c:type="CLUTTER_KEY_Hangul_Pieub">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1434"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_PieubSios"
              value="3764"
              c:type="CLUTTER_KEY_Hangul_PieubSios">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1436"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_PostHanja"
              value="65339"
              c:type="CLUTTER_KEY_Hangul_PostHanja">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1411"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_PreHanja"
              value="65338"
              c:type="CLUTTER_KEY_Hangul_PreHanja">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1410"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_PreviousCandidate"
              value="65342"
              c:type="CLUTTER_KEY_Hangul_PreviousCandidate">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1414"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Rieul"
              value="3753"
              c:type="CLUTTER_KEY_Hangul_Rieul">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1425"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_RieulHieuh"
              value="3760"
              c:type="CLUTTER_KEY_Hangul_RieulHieuh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1432"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_RieulKiyeog"
              value="3754"
              c:type="CLUTTER_KEY_Hangul_RieulKiyeog">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1426"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_RieulMieum"
              value="3755"
              c:type="CLUTTER_KEY_Hangul_RieulMieum">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1427"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_RieulPhieuf"
              value="3759"
              c:type="CLUTTER_KEY_Hangul_RieulPhieuf">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1431"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_RieulPieub"
              value="3756"
              c:type="CLUTTER_KEY_Hangul_RieulPieub">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1428"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_RieulSios"
              value="3757"
              c:type="CLUTTER_KEY_Hangul_RieulSios">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1429"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_RieulTieut"
              value="3758"
              c:type="CLUTTER_KEY_Hangul_RieulTieut">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1430"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_RieulYeorinHieuh"
              value="3823"
              c:type="CLUTTER_KEY_Hangul_RieulYeorinHieuh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1495"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Romaja"
              value="65334"
              c:type="CLUTTER_KEY_Hangul_Romaja">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1406"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_SingleCandidate"
              value="65340"
              c:type="CLUTTER_KEY_Hangul_SingleCandidate">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1412"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Sios"
              value="3765"
              c:type="CLUTTER_KEY_Hangul_Sios">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1437"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Special"
              value="65343"
              c:type="CLUTTER_KEY_Hangul_Special">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1415"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_SsangDikeud"
              value="3752"
              c:type="CLUTTER_KEY_Hangul_SsangDikeud">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1424"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_SsangJieuj"
              value="3769"
              c:type="CLUTTER_KEY_Hangul_SsangJieuj">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1441"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_SsangKiyeog"
              value="3746"
              c:type="CLUTTER_KEY_Hangul_SsangKiyeog">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1418"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_SsangPieub"
              value="3763"
              c:type="CLUTTER_KEY_Hangul_SsangPieub">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1435"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_SsangSios"
              value="3766"
              c:type="CLUTTER_KEY_Hangul_SsangSios">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1438"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Start"
              value="65330"
              c:type="CLUTTER_KEY_Hangul_Start">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1402"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_SunkyeongeumMieum"
              value="3824"
              c:type="CLUTTER_KEY_Hangul_SunkyeongeumMieum">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1496"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_SunkyeongeumPhieuf"
              value="3828"
              c:type="CLUTTER_KEY_Hangul_SunkyeongeumPhieuf">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1500"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_SunkyeongeumPieub"
              value="3825"
              c:type="CLUTTER_KEY_Hangul_SunkyeongeumPieub">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1497"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_Tieut"
              value="3772"
              c:type="CLUTTER_KEY_Hangul_Tieut">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1444"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_U" value="3788" c:type="CLUTTER_KEY_Hangul_U">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1460"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_WA" value="3784" c:type="CLUTTER_KEY_Hangul_WA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1456"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_WAE"
              value="3785"
              c:type="CLUTTER_KEY_Hangul_WAE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1457"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_WE" value="3790" c:type="CLUTTER_KEY_Hangul_WE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1462"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_WEO"
              value="3789"
              c:type="CLUTTER_KEY_Hangul_WEO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1461"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_WI" value="3791" c:type="CLUTTER_KEY_Hangul_WI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1463"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_YA" value="3777" c:type="CLUTTER_KEY_Hangul_YA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1449"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_YAE"
              value="3778"
              c:type="CLUTTER_KEY_Hangul_YAE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1450"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_YE" value="3782" c:type="CLUTTER_KEY_Hangul_YE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1454"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_YEO"
              value="3781"
              c:type="CLUTTER_KEY_Hangul_YEO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1453"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_YI" value="3794" c:type="CLUTTER_KEY_Hangul_YI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1466"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_YO" value="3787" c:type="CLUTTER_KEY_Hangul_YO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1459"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_YU" value="3792" c:type="CLUTTER_KEY_Hangul_YU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1464"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_YeorinHieuh"
              value="3829"
              c:type="CLUTTER_KEY_Hangul_YeorinHieuh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1501"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hangul_switch"
              value="65406"
              c:type="CLUTTER_KEY_Hangul_switch">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1416"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_HangupPhone"
              value="268964286"
              c:type="CLUTTER_KEY_HangupPhone">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2350"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hankaku" value="65321" c:type="CLUTTER_KEY_Hankaku">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="58"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hcircumflex"
              value="678"
              c:type="CLUTTER_KEY_Hcircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="640"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hebrew_switch"
              value="65406"
              c:type="CLUTTER_KEY_Hebrew_switch">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1316"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Help" value="65386" c:type="CLUTTER_KEY_Help">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="89"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Henkan" value="65315" c:type="CLUTTER_KEY_Henkan">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="52"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Henkan_Mode"
              value="65315"
              c:type="CLUTTER_KEY_Henkan_Mode">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="51"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hibernate"
              value="269025192"
              c:type="CLUTTER_KEY_Hibernate">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2296"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hiragana" value="65317" c:type="CLUTTER_KEY_Hiragana">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="54"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hiragana_Katakana"
              value="65319"
              c:type="CLUTTER_KEY_Hiragana_Katakana">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="56"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_History"
              value="269025079"
              c:type="CLUTTER_KEY_History">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2189"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Home" value="65360" c:type="CLUTTER_KEY_Home">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="69"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_HomePage"
              value="269025048"
              c:type="CLUTTER_KEY_HomePage">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2158"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_HotLinks"
              value="269025082"
              c:type="CLUTTER_KEY_HotLinks">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2192"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hstroke" value="673" c:type="CLUTTER_KEY_Hstroke">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="639"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hyper_L" value="65517" c:type="CLUTTER_KEY_Hyper_L">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="203"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Hyper_R" value="65518" c:type="CLUTTER_KEY_Hyper_R">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="204"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_I" value="73" c:type="CLUTTER_KEY_I">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="424"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Center_Object"
              value="65075"
              c:type="CLUTTER_KEY_ISO_Center_Object">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="243"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Continuous_Underline"
              value="65072"
              c:type="CLUTTER_KEY_ISO_Continuous_Underline">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="240"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Discontinuous_Underline"
              value="65073"
              c:type="CLUTTER_KEY_ISO_Discontinuous_Underline">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="241"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Emphasize"
              value="65074"
              c:type="CLUTTER_KEY_ISO_Emphasize">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="242"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Enter"
              value="65076"
              c:type="CLUTTER_KEY_ISO_Enter">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="244"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Fast_Cursor_Down"
              value="65071"
              c:type="CLUTTER_KEY_ISO_Fast_Cursor_Down">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="239"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Fast_Cursor_Left"
              value="65068"
              c:type="CLUTTER_KEY_ISO_Fast_Cursor_Left">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="236"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Fast_Cursor_Right"
              value="65069"
              c:type="CLUTTER_KEY_ISO_Fast_Cursor_Right">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="237"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Fast_Cursor_Up"
              value="65070"
              c:type="CLUTTER_KEY_ISO_Fast_Cursor_Up">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="238"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_First_Group"
              value="65036"
              c:type="CLUTTER_KEY_ISO_First_Group">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="220"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_First_Group_Lock"
              value="65037"
              c:type="CLUTTER_KEY_ISO_First_Group_Lock">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="221"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Group_Latch"
              value="65030"
              c:type="CLUTTER_KEY_ISO_Group_Latch">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="214"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Group_Lock"
              value="65031"
              c:type="CLUTTER_KEY_ISO_Group_Lock">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="215"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Group_Shift"
              value="65406"
              c:type="CLUTTER_KEY_ISO_Group_Shift">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="213"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Last_Group"
              value="65038"
              c:type="CLUTTER_KEY_ISO_Last_Group">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="222"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Last_Group_Lock"
              value="65039"
              c:type="CLUTTER_KEY_ISO_Last_Group_Lock">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="223"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Left_Tab"
              value="65056"
              c:type="CLUTTER_KEY_ISO_Left_Tab">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="224"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Level2_Latch"
              value="65026"
              c:type="CLUTTER_KEY_ISO_Level2_Latch">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="206"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Level3_Latch"
              value="65028"
              c:type="CLUTTER_KEY_ISO_Level3_Latch">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="208"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Level3_Lock"
              value="65029"
              c:type="CLUTTER_KEY_ISO_Level3_Lock">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="209"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Level3_Shift"
              value="65027"
              c:type="CLUTTER_KEY_ISO_Level3_Shift">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="207"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Level5_Latch"
              value="65042"
              c:type="CLUTTER_KEY_ISO_Level5_Latch">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="211"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Level5_Lock"
              value="65043"
              c:type="CLUTTER_KEY_ISO_Level5_Lock">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="212"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Level5_Shift"
              value="65041"
              c:type="CLUTTER_KEY_ISO_Level5_Shift">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="210"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Lock" value="65025" c:type="CLUTTER_KEY_ISO_Lock">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="205"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Move_Line_Down"
              value="65058"
              c:type="CLUTTER_KEY_ISO_Move_Line_Down">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="226"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Move_Line_Up"
              value="65057"
              c:type="CLUTTER_KEY_ISO_Move_Line_Up">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="225"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Next_Group"
              value="65032"
              c:type="CLUTTER_KEY_ISO_Next_Group">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="216"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Next_Group_Lock"
              value="65033"
              c:type="CLUTTER_KEY_ISO_Next_Group_Lock">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="217"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Partial_Line_Down"
              value="65060"
              c:type="CLUTTER_KEY_ISO_Partial_Line_Down">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="228"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Partial_Line_Up"
              value="65059"
              c:type="CLUTTER_KEY_ISO_Partial_Line_Up">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="227"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Partial_Space_Left"
              value="65061"
              c:type="CLUTTER_KEY_ISO_Partial_Space_Left">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="229"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Partial_Space_Right"
              value="65062"
              c:type="CLUTTER_KEY_ISO_Partial_Space_Right">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="230"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Prev_Group"
              value="65034"
              c:type="CLUTTER_KEY_ISO_Prev_Group">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="218"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Prev_Group_Lock"
              value="65035"
              c:type="CLUTTER_KEY_ISO_Prev_Group_Lock">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="219"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Release_Both_Margins"
              value="65067"
              c:type="CLUTTER_KEY_ISO_Release_Both_Margins">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="235"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Release_Margin_Left"
              value="65065"
              c:type="CLUTTER_KEY_ISO_Release_Margin_Left">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="233"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Release_Margin_Right"
              value="65066"
              c:type="CLUTTER_KEY_ISO_Release_Margin_Right">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="234"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Set_Margin_Left"
              value="65063"
              c:type="CLUTTER_KEY_ISO_Set_Margin_Left">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="231"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ISO_Set_Margin_Right"
              value="65064"
              c:type="CLUTTER_KEY_ISO_Set_Margin_Right">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="232"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Iabovedot" value="681" c:type="CLUTTER_KEY_Iabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="641"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Iacute" value="205" c:type="CLUTTER_KEY_Iacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="527"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ibelowdot"
              value="16785098"
              c:type="CLUTTER_KEY_Ibelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1697"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ibreve" value="16777516" c:type="CLUTTER_KEY_Ibreve">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1638"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Icircumflex"
              value="206"
              c:type="CLUTTER_KEY_Icircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="528"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Idiaeresis"
              value="207"
              c:type="CLUTTER_KEY_Idiaeresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="529"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Igrave" value="204" c:type="CLUTTER_KEY_Igrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="526"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ihook" value="16785096" c:type="CLUTTER_KEY_Ihook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1695"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Imacron" value="975" c:type="CLUTTER_KEY_Imacron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="680"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Images" value="268964282" c:type="CLUTTER_KEY_Images">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2347"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Info" value="268964198" c:type="CLUTTER_KEY_Info">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2327"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Insert" value="65379" c:type="CLUTTER_KEY_Insert">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="83"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Iogonek" value="967" c:type="CLUTTER_KEY_Iogonek">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="678"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Itilde" value="933" c:type="CLUTTER_KEY_Itilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="664"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_J" value="74" c:type="CLUTTER_KEY_J">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="425"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Jcircumflex"
              value="684"
              c:type="CLUTTER_KEY_Jcircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="643"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Journal"
              value="268964418"
              c:type="CLUTTER_KEY_Journal">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2386"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_K" value="75" c:type="CLUTTER_KEY_K">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="426"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_0" value="65456" c:type="CLUTTER_KEY_KP_0">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="121"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_1" value="65457" c:type="CLUTTER_KEY_KP_1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="122"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_2" value="65458" c:type="CLUTTER_KEY_KP_2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="123"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_3" value="65459" c:type="CLUTTER_KEY_KP_3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="124"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_4" value="65460" c:type="CLUTTER_KEY_KP_4">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="125"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_5" value="65461" c:type="CLUTTER_KEY_KP_5">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="126"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_6" value="65462" c:type="CLUTTER_KEY_KP_6">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="127"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_7" value="65463" c:type="CLUTTER_KEY_KP_7">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="128"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_8" value="65464" c:type="CLUTTER_KEY_KP_8">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="129"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_9" value="65465" c:type="CLUTTER_KEY_KP_9">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="130"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Add" value="65451" c:type="CLUTTER_KEY_KP_Add">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="116"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Begin" value="65437" c:type="CLUTTER_KEY_KP_Begin">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="111"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Decimal"
              value="65454"
              c:type="CLUTTER_KEY_KP_Decimal">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="119"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Delete"
              value="65439"
              c:type="CLUTTER_KEY_KP_Delete">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="113"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Divide"
              value="65455"
              c:type="CLUTTER_KEY_KP_Divide">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="120"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Down" value="65433" c:type="CLUTTER_KEY_KP_Down">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="105"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_End" value="65436" c:type="CLUTTER_KEY_KP_End">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="110"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Enter" value="65421" c:type="CLUTTER_KEY_KP_Enter">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="96"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Equal" value="65469" c:type="CLUTTER_KEY_KP_Equal">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="114"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_F1" value="65425" c:type="CLUTTER_KEY_KP_F1">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="97"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_F2" value="65426" c:type="CLUTTER_KEY_KP_F2">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="98"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_F3" value="65427" c:type="CLUTTER_KEY_KP_F3">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="99"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_F4" value="65428" c:type="CLUTTER_KEY_KP_F4">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="100"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Home" value="65429" c:type="CLUTTER_KEY_KP_Home">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="101"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Insert"
              value="65438"
              c:type="CLUTTER_KEY_KP_Insert">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="112"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Left" value="65430" c:type="CLUTTER_KEY_KP_Left">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="102"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Multiply"
              value="65450"
              c:type="CLUTTER_KEY_KP_Multiply">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="115"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Next" value="65435" c:type="CLUTTER_KEY_KP_Next">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="108"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Page_Down"
              value="65435"
              c:type="CLUTTER_KEY_KP_Page_Down">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="109"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Page_Up"
              value="65434"
              c:type="CLUTTER_KEY_KP_Page_Up">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="107"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Prior" value="65434" c:type="CLUTTER_KEY_KP_Prior">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="106"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Right" value="65432" c:type="CLUTTER_KEY_KP_Right">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="104"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Separator"
              value="65452"
              c:type="CLUTTER_KEY_KP_Separator">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="117"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Space" value="65408" c:type="CLUTTER_KEY_KP_Space">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="94"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Subtract"
              value="65453"
              c:type="CLUTTER_KEY_KP_Subtract">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="118"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Tab" value="65417" c:type="CLUTTER_KEY_KP_Tab">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="95"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KP_Up" value="65431" c:type="CLUTTER_KEY_KP_Up">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="103"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Kana_Lock"
              value="65325"
              c:type="CLUTTER_KEY_Kana_Lock">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="62"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Kana_Shift"
              value="65326"
              c:type="CLUTTER_KEY_Kana_Shift">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="63"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Kanji" value="65313" c:type="CLUTTER_KEY_Kanji">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="49"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Kanji_Bangou"
              value="65335"
              c:type="CLUTTER_KEY_Kanji_Bangou">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="66"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Katakana" value="65318" c:type="CLUTTER_KEY_Katakana">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="55"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KbdBrightnessDown"
              value="269025030"
              c:type="CLUTTER_KEY_KbdBrightnessDown">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2148"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KbdBrightnessUp"
              value="269025029"
              c:type="CLUTTER_KEY_KbdBrightnessUp">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2147"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KbdInputAssistAccept"
              value="268964452"
              c:type="CLUTTER_KEY_KbdInputAssistAccept">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2405"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KbdInputAssistCancel"
              value="268964453"
              c:type="CLUTTER_KEY_KbdInputAssistCancel">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2406"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KbdInputAssistNext"
              value="268964449"
              c:type="CLUTTER_KEY_KbdInputAssistNext">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2402"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KbdInputAssistNextgroup"
              value="268964451"
              c:type="CLUTTER_KEY_KbdInputAssistNextgroup">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2404"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KbdInputAssistPrev"
              value="268964448"
              c:type="CLUTTER_KEY_KbdInputAssistPrev">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2401"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KbdInputAssistPrevgroup"
              value="268964450"
              c:type="CLUTTER_KEY_KbdInputAssistPrevgroup">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2403"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KbdLcdMenu1"
              value="268964536"
              c:type="CLUTTER_KEY_KbdLcdMenu1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2478"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KbdLcdMenu2"
              value="268964537"
              c:type="CLUTTER_KEY_KbdLcdMenu2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2479"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KbdLcdMenu3"
              value="268964538"
              c:type="CLUTTER_KEY_KbdLcdMenu3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2480"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KbdLcdMenu4"
              value="268964539"
              c:type="CLUTTER_KEY_KbdLcdMenu4">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2481"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KbdLcdMenu5"
              value="268964540"
              c:type="CLUTTER_KEY_KbdLcdMenu5">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2482"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_KbdLightOnOff"
              value="269025028"
              c:type="CLUTTER_KEY_KbdLightOnOff">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2146"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Kcedilla" value="979" c:type="CLUTTER_KEY_Kcedilla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="683"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Keyboard"
              value="269025203"
              c:type="CLUTTER_KEY_Keyboard">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2301"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Korean_Won"
              value="3839"
              c:type="CLUTTER_KEY_Korean_Won">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1507"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_L" value="76" c:type="CLUTTER_KEY_L">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="427"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_L1" value="65480" c:type="CLUTTER_KEY_L1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="142"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_L10" value="65489" c:type="CLUTTER_KEY_L10">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="160"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_L2" value="65481" c:type="CLUTTER_KEY_L2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="144"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_L3" value="65482" c:type="CLUTTER_KEY_L3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="146"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_L4" value="65483" c:type="CLUTTER_KEY_L4">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="148"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_L5" value="65484" c:type="CLUTTER_KEY_L5">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="150"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_L6" value="65485" c:type="CLUTTER_KEY_L6">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="152"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_L7" value="65486" c:type="CLUTTER_KEY_L7">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="154"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_L8" value="65487" c:type="CLUTTER_KEY_L8">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="156"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_L9" value="65488" c:type="CLUTTER_KEY_L9">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="158"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Lacute" value="453" c:type="CLUTTER_KEY_Lacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="608"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Last_Virtual_Screen"
              value="65236"
              c:type="CLUTTER_KEY_Last_Virtual_Screen">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="303"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Launch0"
              value="269025088"
              c:type="CLUTTER_KEY_Launch0">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2198"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Launch1"
              value="269025089"
              c:type="CLUTTER_KEY_Launch1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2199"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Launch2"
              value="269025090"
              c:type="CLUTTER_KEY_Launch2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2200"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Launch3"
              value="269025091"
              c:type="CLUTTER_KEY_Launch3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2201"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Launch4"
              value="269025092"
              c:type="CLUTTER_KEY_Launch4">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2202"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Launch5"
              value="269025093"
              c:type="CLUTTER_KEY_Launch5">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2203"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Launch6"
              value="269025094"
              c:type="CLUTTER_KEY_Launch6">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2204"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Launch7"
              value="269025095"
              c:type="CLUTTER_KEY_Launch7">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2205"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Launch8"
              value="269025096"
              c:type="CLUTTER_KEY_Launch8">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2206"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Launch9"
              value="269025097"
              c:type="CLUTTER_KEY_Launch9">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2207"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_LaunchA"
              value="269025098"
              c:type="CLUTTER_KEY_LaunchA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2208"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_LaunchB"
              value="269025099"
              c:type="CLUTTER_KEY_LaunchB">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2209"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_LaunchC"
              value="269025100"
              c:type="CLUTTER_KEY_LaunchC">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2210"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_LaunchD"
              value="269025101"
              c:type="CLUTTER_KEY_LaunchD">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2211"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_LaunchE"
              value="269025102"
              c:type="CLUTTER_KEY_LaunchE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2212"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_LaunchF"
              value="269025103"
              c:type="CLUTTER_KEY_LaunchF">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2213"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Lbelowdot"
              value="16784950"
              c:type="CLUTTER_KEY_Lbelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1653"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Lcaron" value="421" c:type="CLUTTER_KEY_Lcaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="585"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Lcedilla" value="934" c:type="CLUTTER_KEY_Lcedilla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="665"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Left" value="65361" c:type="CLUTTER_KEY_Left">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="70"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_LeftDown"
              value="268964457"
              c:type="CLUTTER_KEY_LeftDown">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2410"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_LeftUp" value="268964456" c:type="CLUTTER_KEY_LeftUp">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2409"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_LightBulb"
              value="269025077"
              c:type="CLUTTER_KEY_LightBulb">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2187"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_LightsToggle"
              value="268964382"
              c:type="CLUTTER_KEY_LightsToggle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2381"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Linefeed" value="65290" c:type="CLUTTER_KEY_Linefeed">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="36"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_LiraSign"
              value="16785572"
              c:type="CLUTTER_KEY_LiraSign">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1756"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_LogGrabInfo"
              value="269024805"
              c:type="CLUTTER_KEY_LogGrabInfo">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2324"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_LogOff" value="269025121" c:type="CLUTTER_KEY_LogOff">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2230"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_LogWindowTree"
              value="269024804"
              c:type="CLUTTER_KEY_LogWindowTree">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2323"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Lstroke" value="419" c:type="CLUTTER_KEY_Lstroke">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="584"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_M" value="77" c:type="CLUTTER_KEY_M">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="428"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Mabovedot"
              value="16784960"
              c:type="CLUTTER_KEY_Mabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="707"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macedonia_DSE"
              value="1717"
              c:type="CLUTTER_KEY_Macedonia_DSE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="945"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macedonia_GJE"
              value="1714"
              c:type="CLUTTER_KEY_Macedonia_GJE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="941"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macedonia_KJE"
              value="1724"
              c:type="CLUTTER_KEY_Macedonia_KJE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="957"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macedonia_dse"
              value="1701"
              c:type="CLUTTER_KEY_Macedonia_dse">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="922"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macedonia_gje"
              value="1698"
              c:type="CLUTTER_KEY_Macedonia_gje">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="918"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macedonia_kje"
              value="1708"
              c:type="CLUTTER_KEY_Macedonia_kje">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="934"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro1" value="268964496" c:type="CLUTTER_KEY_Macro1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2442"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro10"
              value="268964505"
              c:type="CLUTTER_KEY_Macro10">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2451"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro11"
              value="268964506"
              c:type="CLUTTER_KEY_Macro11">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2452"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro12"
              value="268964507"
              c:type="CLUTTER_KEY_Macro12">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2453"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro13"
              value="268964508"
              c:type="CLUTTER_KEY_Macro13">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2454"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro14"
              value="268964509"
              c:type="CLUTTER_KEY_Macro14">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2455"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro15"
              value="268964510"
              c:type="CLUTTER_KEY_Macro15">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2456"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro16"
              value="268964511"
              c:type="CLUTTER_KEY_Macro16">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2457"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro17"
              value="268964512"
              c:type="CLUTTER_KEY_Macro17">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2458"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro18"
              value="268964513"
              c:type="CLUTTER_KEY_Macro18">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2459"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro19"
              value="268964514"
              c:type="CLUTTER_KEY_Macro19">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2460"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro2" value="268964497" c:type="CLUTTER_KEY_Macro2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2443"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro20"
              value="268964515"
              c:type="CLUTTER_KEY_Macro20">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2461"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro21"
              value="268964516"
              c:type="CLUTTER_KEY_Macro21">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2462"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro22"
              value="268964517"
              c:type="CLUTTER_KEY_Macro22">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2463"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro23"
              value="268964518"
              c:type="CLUTTER_KEY_Macro23">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2464"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro24"
              value="268964519"
              c:type="CLUTTER_KEY_Macro24">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2465"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro25"
              value="268964520"
              c:type="CLUTTER_KEY_Macro25">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2466"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro26"
              value="268964521"
              c:type="CLUTTER_KEY_Macro26">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2467"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro27"
              value="268964522"
              c:type="CLUTTER_KEY_Macro27">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2468"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro28"
              value="268964523"
              c:type="CLUTTER_KEY_Macro28">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2469"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro29"
              value="268964524"
              c:type="CLUTTER_KEY_Macro29">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2470"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro3" value="268964498" c:type="CLUTTER_KEY_Macro3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2444"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro30"
              value="268964525"
              c:type="CLUTTER_KEY_Macro30">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2471"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro4" value="268964499" c:type="CLUTTER_KEY_Macro4">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2445"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro5" value="268964500" c:type="CLUTTER_KEY_Macro5">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2446"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro6" value="268964501" c:type="CLUTTER_KEY_Macro6">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2447"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro7" value="268964502" c:type="CLUTTER_KEY_Macro7">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2448"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro8" value="268964503" c:type="CLUTTER_KEY_Macro8">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2449"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Macro9" value="268964504" c:type="CLUTTER_KEY_Macro9">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2450"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MacroPreset1"
              value="268964531"
              c:type="CLUTTER_KEY_MacroPreset1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2475"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MacroPreset2"
              value="268964532"
              c:type="CLUTTER_KEY_MacroPreset2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2476"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MacroPreset3"
              value="268964533"
              c:type="CLUTTER_KEY_MacroPreset3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2477"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MacroPresetCycle"
              value="268964530"
              c:type="CLUTTER_KEY_MacroPresetCycle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2474"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MacroRecordStart"
              value="268964528"
              c:type="CLUTTER_KEY_MacroRecordStart">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2472"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MacroRecordStop"
              value="268964529"
              c:type="CLUTTER_KEY_MacroRecordStop">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2473"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Mae_Koho" value="65342" c:type="CLUTTER_KEY_Mae_Koho">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="68"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Mail" value="269025049" c:type="CLUTTER_KEY_Mail">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2159"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MailForward"
              value="269025168"
              c:type="CLUTTER_KEY_MailForward">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2272"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MarkWaypoint"
              value="268964478"
              c:type="CLUTTER_KEY_MarkWaypoint">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2431"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Market" value="269025122" c:type="CLUTTER_KEY_Market">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2231"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Massyo" value="65324" c:type="CLUTTER_KEY_Massyo">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="61"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MediaRepeat"
              value="268964279"
              c:type="CLUTTER_KEY_MediaRepeat">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2344"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MediaTopMenu"
              value="268964459"
              c:type="CLUTTER_KEY_MediaTopMenu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2412"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Meeting"
              value="269025123"
              c:type="CLUTTER_KEY_Meeting">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2232"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Memo" value="269025054" c:type="CLUTTER_KEY_Memo">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2164"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Menu" value="65383" c:type="CLUTTER_KEY_Menu">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="86"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MenuKB" value="269025125" c:type="CLUTTER_KEY_MenuKB">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2233"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MenuPB" value="269025126" c:type="CLUTTER_KEY_MenuPB">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2234"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Messenger"
              value="269025166"
              c:type="CLUTTER_KEY_Messenger">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2270"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Meta_L" value="65511" c:type="CLUTTER_KEY_Meta_L">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="197"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Meta_R" value="65512" c:type="CLUTTER_KEY_Meta_R">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="198"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MillSign"
              value="16785573"
              c:type="CLUTTER_KEY_MillSign">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1757"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ModeLock"
              value="269025025"
              c:type="CLUTTER_KEY_ModeLock">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2143"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Mode_switch"
              value="65406"
              c:type="CLUTTER_KEY_Mode_switch">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="91"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MonBrightnessCycle"
              value="269025031"
              c:type="CLUTTER_KEY_MonBrightnessCycle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2149"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MonBrightnessDown"
              value="269025027"
              c:type="CLUTTER_KEY_MonBrightnessDown">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2145"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MonBrightnessUp"
              value="269025026"
              c:type="CLUTTER_KEY_MonBrightnessUp">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2144"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MouseKeys_Accel_Enable"
              value="65143"
              c:type="CLUTTER_KEY_MouseKeys_Accel_Enable">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="312"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MouseKeys_Enable"
              value="65142"
              c:type="CLUTTER_KEY_MouseKeys_Enable">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="311"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Muhenkan" value="65314" c:type="CLUTTER_KEY_Muhenkan">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="50"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Multi_key"
              value="65312"
              c:type="CLUTTER_KEY_Multi_key">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="44"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MultipleCandidate"
              value="65341"
              c:type="CLUTTER_KEY_MultipleCandidate">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="47"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Music" value="269025170" c:type="CLUTTER_KEY_Music">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2274"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MyComputer"
              value="269025075"
              c:type="CLUTTER_KEY_MyComputer">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2185"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_MySites"
              value="269025127"
              c:type="CLUTTER_KEY_MySites">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2235"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_N" value="78" c:type="CLUTTER_KEY_N">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="429"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Nacute" value="465" c:type="CLUTTER_KEY_Nacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="615"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_NairaSign"
              value="16785574"
              c:type="CLUTTER_KEY_NairaSign">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1758"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_NavChart"
              value="268964480"
              c:type="CLUTTER_KEY_NavChart">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2433"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_NavInfo"
              value="268964488"
              c:type="CLUTTER_KEY_NavInfo">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2441"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ncaron" value="466" c:type="CLUTTER_KEY_Ncaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="616"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ncedilla" value="977" c:type="CLUTTER_KEY_Ncedilla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="681"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_New" value="269025128" c:type="CLUTTER_KEY_New">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2236"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_NewSheqelSign"
              value="16785578"
              c:type="CLUTTER_KEY_NewSheqelSign">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1762"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_News" value="269025129" c:type="CLUTTER_KEY_News">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2237"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Next" value="65366" c:type="CLUTTER_KEY_Next">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="76"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_NextElement"
              value="268964475"
              c:type="CLUTTER_KEY_NextElement">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2428"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_NextFavorite"
              value="268964464"
              c:type="CLUTTER_KEY_NextFavorite">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2417"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Next_VMode"
              value="269024802"
              c:type="CLUTTER_KEY_Next_VMode">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2321"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Next_Virtual_Screen"
              value="65234"
              c:type="CLUTTER_KEY_Next_Virtual_Screen">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="302"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_NotificationCenter"
              value="268964284"
              c:type="CLUTTER_KEY_NotificationCenter">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2348"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ntilde" value="209" c:type="CLUTTER_KEY_Ntilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="532"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Num_Lock" value="65407" c:type="CLUTTER_KEY_Num_Lock">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="93"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Numeric0"
              value="268964352"
              c:type="CLUTTER_KEY_Numeric0">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2354"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Numeric1"
              value="268964353"
              c:type="CLUTTER_KEY_Numeric1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2355"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Numeric11"
              value="268964460"
              c:type="CLUTTER_KEY_Numeric11">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2413"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Numeric12"
              value="268964461"
              c:type="CLUTTER_KEY_Numeric12">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2414"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Numeric2"
              value="268964354"
              c:type="CLUTTER_KEY_Numeric2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2356"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Numeric3"
              value="268964355"
              c:type="CLUTTER_KEY_Numeric3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2357"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Numeric4"
              value="268964356"
              c:type="CLUTTER_KEY_Numeric4">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2358"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Numeric5"
              value="268964357"
              c:type="CLUTTER_KEY_Numeric5">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2359"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Numeric6"
              value="268964358"
              c:type="CLUTTER_KEY_Numeric6">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2360"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Numeric7"
              value="268964359"
              c:type="CLUTTER_KEY_Numeric7">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2361"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Numeric8"
              value="268964360"
              c:type="CLUTTER_KEY_Numeric8">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2362"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Numeric9"
              value="268964361"
              c:type="CLUTTER_KEY_Numeric9">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2363"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_NumericA"
              value="268964364"
              c:type="CLUTTER_KEY_NumericA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2366"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_NumericB"
              value="268964365"
              c:type="CLUTTER_KEY_NumericB">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2367"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_NumericC"
              value="268964366"
              c:type="CLUTTER_KEY_NumericC">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2368"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_NumericD"
              value="268964367"
              c:type="CLUTTER_KEY_NumericD">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2369"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_NumericPound"
              value="268964363"
              c:type="CLUTTER_KEY_NumericPound">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2365"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_NumericStar"
              value="268964362"
              c:type="CLUTTER_KEY_NumericStar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2364"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_O" value="79" c:type="CLUTTER_KEY_O">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="430"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_OE" value="5052" c:type="CLUTTER_KEY_OE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="723"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Oacute" value="211" c:type="CLUTTER_KEY_Oacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="534"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Obarred" value="16777631" c:type="CLUTTER_KEY_Obarred">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1642"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Obelowdot"
              value="16785100"
              c:type="CLUTTER_KEY_Obelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1699"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ocaron" value="16777681" c:type="CLUTTER_KEY_Ocaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1641"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ocircumflex"
              value="212"
              c:type="CLUTTER_KEY_Ocircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="535"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ocircumflexacute"
              value="16785104"
              c:type="CLUTTER_KEY_Ocircumflexacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1703"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ocircumflexbelowdot"
              value="16785112"
              c:type="CLUTTER_KEY_Ocircumflexbelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1711"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ocircumflexgrave"
              value="16785106"
              c:type="CLUTTER_KEY_Ocircumflexgrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1705"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ocircumflexhook"
              value="16785108"
              c:type="CLUTTER_KEY_Ocircumflexhook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1707"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ocircumflextilde"
              value="16785110"
              c:type="CLUTTER_KEY_Ocircumflextilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1709"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Odiaeresis"
              value="214"
              c:type="CLUTTER_KEY_Odiaeresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="537"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Odoubleacute"
              value="469"
              c:type="CLUTTER_KEY_Odoubleacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="617"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_OfficeHome"
              value="269025130"
              c:type="CLUTTER_KEY_OfficeHome">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2238"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ograve" value="210" c:type="CLUTTER_KEY_Ograve">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="533"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ohook" value="16785102" c:type="CLUTTER_KEY_Ohook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1701"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ohorn" value="16777632" c:type="CLUTTER_KEY_Ohorn">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1743"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ohornacute"
              value="16785114"
              c:type="CLUTTER_KEY_Ohornacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1713"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ohornbelowdot"
              value="16785122"
              c:type="CLUTTER_KEY_Ohornbelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1721"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ohorngrave"
              value="16785116"
              c:type="CLUTTER_KEY_Ohorngrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1715"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ohornhook"
              value="16785118"
              c:type="CLUTTER_KEY_Ohornhook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1717"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ohorntilde"
              value="16785120"
              c:type="CLUTTER_KEY_Ohorntilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1719"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Omacron" value="978" c:type="CLUTTER_KEY_Omacron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="682"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_OnScreenKeyboard"
              value="268964472"
              c:type="CLUTTER_KEY_OnScreenKeyboard">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2425"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ooblique" value="216" c:type="CLUTTER_KEY_Ooblique">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="540"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Open" value="269025131" c:type="CLUTTER_KEY_Open">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2239"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_OpenURL"
              value="269025080"
              c:type="CLUTTER_KEY_OpenURL">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2190"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Option" value="269025132" c:type="CLUTTER_KEY_Option">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2240"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Oslash" value="216" c:type="CLUTTER_KEY_Oslash">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="539"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Otilde" value="213" c:type="CLUTTER_KEY_Otilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="536"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Overlay1_Enable"
              value="65144"
              c:type="CLUTTER_KEY_Overlay1_Enable">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="313"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Overlay2_Enable"
              value="65145"
              c:type="CLUTTER_KEY_Overlay2_Enable">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="314"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_P" value="80" c:type="CLUTTER_KEY_P">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="431"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pabovedot"
              value="16784982"
              c:type="CLUTTER_KEY_Pabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="709"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Page_Down"
              value="65366"
              c:type="CLUTTER_KEY_Page_Down">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="77"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Page_Up" value="65365" c:type="CLUTTER_KEY_Page_Up">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="75"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Paste" value="269025133" c:type="CLUTTER_KEY_Paste">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2241"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pause" value="65299" c:type="CLUTTER_KEY_Pause">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="39"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_PauseRecord"
              value="268964466"
              c:type="CLUTTER_KEY_PauseRecord">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2419"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_PesetaSign"
              value="16785575"
              c:type="CLUTTER_KEY_PesetaSign">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1759"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Phone" value="269025134" c:type="CLUTTER_KEY_Phone">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2242"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_PickupPhone"
              value="268964285"
              c:type="CLUTTER_KEY_PickupPhone">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2349"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pictures"
              value="269025169"
              c:type="CLUTTER_KEY_Pictures">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2273"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_Accelerate"
              value="65274"
              c:type="CLUTTER_KEY_Pointer_Accelerate">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="343"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_Button1"
              value="65257"
              c:type="CLUTTER_KEY_Pointer_Button1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="325"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_Button2"
              value="65258"
              c:type="CLUTTER_KEY_Pointer_Button2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="326"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_Button3"
              value="65259"
              c:type="CLUTTER_KEY_Pointer_Button3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="327"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_Button4"
              value="65260"
              c:type="CLUTTER_KEY_Pointer_Button4">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="328"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_Button5"
              value="65261"
              c:type="CLUTTER_KEY_Pointer_Button5">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="329"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_Button_Dflt"
              value="65256"
              c:type="CLUTTER_KEY_Pointer_Button_Dflt">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="324"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_DblClick1"
              value="65263"
              c:type="CLUTTER_KEY_Pointer_DblClick1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="331"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_DblClick2"
              value="65264"
              c:type="CLUTTER_KEY_Pointer_DblClick2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="332"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_DblClick3"
              value="65265"
              c:type="CLUTTER_KEY_Pointer_DblClick3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="333"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_DblClick4"
              value="65266"
              c:type="CLUTTER_KEY_Pointer_DblClick4">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="334"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_DblClick5"
              value="65267"
              c:type="CLUTTER_KEY_Pointer_DblClick5">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="335"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_DblClick_Dflt"
              value="65262"
              c:type="CLUTTER_KEY_Pointer_DblClick_Dflt">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="330"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_DfltBtnNext"
              value="65275"
              c:type="CLUTTER_KEY_Pointer_DfltBtnNext">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="344"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_DfltBtnPrev"
              value="65276"
              c:type="CLUTTER_KEY_Pointer_DfltBtnPrev">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="345"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_Down"
              value="65251"
              c:type="CLUTTER_KEY_Pointer_Down">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="319"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_DownLeft"
              value="65254"
              c:type="CLUTTER_KEY_Pointer_DownLeft">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="322"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_DownRight"
              value="65255"
              c:type="CLUTTER_KEY_Pointer_DownRight">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="323"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_Drag1"
              value="65269"
              c:type="CLUTTER_KEY_Pointer_Drag1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="337"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_Drag2"
              value="65270"
              c:type="CLUTTER_KEY_Pointer_Drag2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="338"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_Drag3"
              value="65271"
              c:type="CLUTTER_KEY_Pointer_Drag3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="339"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_Drag4"
              value="65272"
              c:type="CLUTTER_KEY_Pointer_Drag4">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="340"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_Drag5"
              value="65277"
              c:type="CLUTTER_KEY_Pointer_Drag5">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="341"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_Drag_Dflt"
              value="65268"
              c:type="CLUTTER_KEY_Pointer_Drag_Dflt">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="336"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_EnableKeys"
              value="65273"
              c:type="CLUTTER_KEY_Pointer_EnableKeys">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="342"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_Left"
              value="65248"
              c:type="CLUTTER_KEY_Pointer_Left">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="316"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_Right"
              value="65249"
              c:type="CLUTTER_KEY_Pointer_Right">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="317"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_Up"
              value="65250"
              c:type="CLUTTER_KEY_Pointer_Up">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="318"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_UpLeft"
              value="65252"
              c:type="CLUTTER_KEY_Pointer_UpLeft">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="320"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Pointer_UpRight"
              value="65253"
              c:type="CLUTTER_KEY_Pointer_UpRight">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="321"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_PowerDown"
              value="269025057"
              c:type="CLUTTER_KEY_PowerDown">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2167"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_PowerOff"
              value="269025066"
              c:type="CLUTTER_KEY_PowerOff">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2176"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Presentation"
              value="268964265"
              c:type="CLUTTER_KEY_Presentation">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2337"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Prev_VMode"
              value="269024803"
              c:type="CLUTTER_KEY_Prev_VMode">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2322"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Prev_Virtual_Screen"
              value="65233"
              c:type="CLUTTER_KEY_Prev_Virtual_Screen">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="301"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_PreviousCandidate"
              value="65342"
              c:type="CLUTTER_KEY_PreviousCandidate">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="48"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_PreviousElement"
              value="268964476"
              c:type="CLUTTER_KEY_PreviousElement">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2429"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Print" value="65377" c:type="CLUTTER_KEY_Print">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="81"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Prior" value="65365" c:type="CLUTTER_KEY_Prior">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="74"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_PrivacyScreenToggle"
              value="268964473"
              c:type="CLUTTER_KEY_PrivacyScreenToggle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2426"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Q" value="81" c:type="CLUTTER_KEY_Q">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="432"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_R" value="82" c:type="CLUTTER_KEY_R">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="433"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_R1" value="65490" c:type="CLUTTER_KEY_R1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="162"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_R10" value="65499" c:type="CLUTTER_KEY_R10">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="180"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_R11" value="65500" c:type="CLUTTER_KEY_R11">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="182"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_R12" value="65501" c:type="CLUTTER_KEY_R12">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="184"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_R13" value="65502" c:type="CLUTTER_KEY_R13">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="186"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_R14" value="65503" c:type="CLUTTER_KEY_R14">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="188"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_R15" value="65504" c:type="CLUTTER_KEY_R15">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="190"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_R2" value="65491" c:type="CLUTTER_KEY_R2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="164"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_R3" value="65492" c:type="CLUTTER_KEY_R3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="166"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_R4" value="65493" c:type="CLUTTER_KEY_R4">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="168"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_R5" value="65494" c:type="CLUTTER_KEY_R5">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="170"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_R6" value="65495" c:type="CLUTTER_KEY_R6">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="172"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_R7" value="65496" c:type="CLUTTER_KEY_R7">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="174"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_R8" value="65497" c:type="CLUTTER_KEY_R8">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="176"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_R9" value="65498" c:type="CLUTTER_KEY_R9">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="178"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_RFKill" value="269025205" c:type="CLUTTER_KEY_RFKill">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2303"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Racute" value="448" c:type="CLUTTER_KEY_Racute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="606"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_RadarOverlay"
              value="268964484"
              c:type="CLUTTER_KEY_RadarOverlay">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2437"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Rcaron" value="472" c:type="CLUTTER_KEY_Rcaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="618"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Rcedilla" value="931" c:type="CLUTTER_KEY_Rcedilla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="663"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Red" value="269025187" c:type="CLUTTER_KEY_Red">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2291"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Redo" value="65382" c:type="CLUTTER_KEY_Redo">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="85"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Refresh"
              value="269025065"
              c:type="CLUTTER_KEY_Refresh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2175"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_RefreshRateToggle"
              value="268964402"
              c:type="CLUTTER_KEY_RefreshRateToggle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2383"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Reload" value="269025139" c:type="CLUTTER_KEY_Reload">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2244"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_RepeatKeys_Enable"
              value="65138"
              c:type="CLUTTER_KEY_RepeatKeys_Enable">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="307"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Reply" value="269025138" c:type="CLUTTER_KEY_Reply">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2243"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Return" value="65293" c:type="CLUTTER_KEY_Return">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="38"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Right" value="65363" c:type="CLUTTER_KEY_Right">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="72"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_RightDown"
              value="268964455"
              c:type="CLUTTER_KEY_RightDown">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2408"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_RightUp"
              value="268964454"
              c:type="CLUTTER_KEY_RightUp">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2407"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_RockerDown"
              value="269025060"
              c:type="CLUTTER_KEY_RockerDown">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2170"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_RockerEnter"
              value="269025061"
              c:type="CLUTTER_KEY_RockerEnter">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2171"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_RockerUp"
              value="269025059"
              c:type="CLUTTER_KEY_RockerUp">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2169"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Romaji" value="65316" c:type="CLUTTER_KEY_Romaji">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="53"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_RootMenu"
              value="268964458"
              c:type="CLUTTER_KEY_RootMenu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2411"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_RotateWindows"
              value="269025140"
              c:type="CLUTTER_KEY_RotateWindows">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2245"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_RotationKB"
              value="269025142"
              c:type="CLUTTER_KEY_RotationKB">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2247"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_RotationLockToggle"
              value="269025207"
              c:type="CLUTTER_KEY_RotationLockToggle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2305"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_RotationPB"
              value="269025141"
              c:type="CLUTTER_KEY_RotationPB">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2246"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_RupeeSign"
              value="16785576"
              c:type="CLUTTER_KEY_RupeeSign">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1760"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_S" value="83" c:type="CLUTTER_KEY_S">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="434"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_SCHWA" value="16777615" c:type="CLUTTER_KEY_SCHWA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1649"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sabovedot"
              value="16784992"
              c:type="CLUTTER_KEY_Sabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="711"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sacute" value="422" c:type="CLUTTER_KEY_Sacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="586"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Save" value="269025143" c:type="CLUTTER_KEY_Save">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2248"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Scaron" value="425" c:type="CLUTTER_KEY_Scaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="587"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Scedilla" value="426" c:type="CLUTTER_KEY_Scedilla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="588"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Scircumflex"
              value="734"
              c:type="CLUTTER_KEY_Scircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="654"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ScreenSaver"
              value="269025069"
              c:type="CLUTTER_KEY_ScreenSaver">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2179"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Screensaver"
              value="268964421"
              c:type="CLUTTER_KEY_Screensaver">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2389"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ScrollClick"
              value="269025146"
              c:type="CLUTTER_KEY_ScrollClick">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2251"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ScrollDown"
              value="269025145"
              c:type="CLUTTER_KEY_ScrollDown">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2250"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ScrollUp"
              value="269025144"
              c:type="CLUTTER_KEY_ScrollUp">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2249"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Scroll_Lock"
              value="65300"
              c:type="CLUTTER_KEY_Scroll_Lock">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="40"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Search" value="269025051" c:type="CLUTTER_KEY_Search">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2161"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Select" value="65376" c:type="CLUTTER_KEY_Select">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="80"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_SelectButton"
              value="269025184"
              c:type="CLUTTER_KEY_SelectButton">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2288"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_SelectiveScreenshot"
              value="268964474"
              c:type="CLUTTER_KEY_SelectiveScreenshot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2427"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Send" value="269025147" c:type="CLUTTER_KEY_Send">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2252"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Serbian_DJE"
              value="1713"
              c:type="CLUTTER_KEY_Serbian_DJE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="940"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Serbian_DZE"
              value="1727"
              c:type="CLUTTER_KEY_Serbian_DZE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="961"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Serbian_JE"
              value="1720"
              c:type="CLUTTER_KEY_Serbian_JE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="951"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Serbian_LJE"
              value="1721"
              c:type="CLUTTER_KEY_Serbian_LJE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="953"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Serbian_NJE"
              value="1722"
              c:type="CLUTTER_KEY_Serbian_NJE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="955"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Serbian_TSHE"
              value="1723"
              c:type="CLUTTER_KEY_Serbian_TSHE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="956"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Serbian_dje"
              value="1697"
              c:type="CLUTTER_KEY_Serbian_dje">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="917"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Serbian_dze"
              value="1711"
              c:type="CLUTTER_KEY_Serbian_dze">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="938"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Serbian_je"
              value="1704"
              c:type="CLUTTER_KEY_Serbian_je">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="928"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Serbian_lje"
              value="1705"
              c:type="CLUTTER_KEY_Serbian_lje">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="930"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Serbian_nje"
              value="1706"
              c:type="CLUTTER_KEY_Serbian_nje">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="932"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Serbian_tshe"
              value="1707"
              c:type="CLUTTER_KEY_Serbian_tshe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="933"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Shift_L" value="65505" c:type="CLUTTER_KEY_Shift_L">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="191"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Shift_Lock"
              value="65510"
              c:type="CLUTTER_KEY_Shift_Lock">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="196"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Shift_R" value="65506" c:type="CLUTTER_KEY_Shift_R">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="192"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Shop" value="269025078" c:type="CLUTTER_KEY_Shop">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2188"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_SidevuSonar"
              value="268964487"
              c:type="CLUTTER_KEY_SidevuSonar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2440"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_SingleCandidate"
              value="65340"
              c:type="CLUTTER_KEY_SingleCandidate">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="46"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_SingleRangeRadar"
              value="268964482"
              c:type="CLUTTER_KEY_SingleRangeRadar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2435"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_a" value="16780677" c:type="CLUTTER_KEY_Sinh_a">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2065"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_aa" value="16780678" c:type="CLUTTER_KEY_Sinh_aa">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2066"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_aa2"
              value="16780751"
              c:type="CLUTTER_KEY_Sinh_aa2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2125"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ae" value="16780679" c:type="CLUTTER_KEY_Sinh_ae">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2067"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ae2"
              value="16780752"
              c:type="CLUTTER_KEY_Sinh_ae2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2126"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_aee"
              value="16780680"
              c:type="CLUTTER_KEY_Sinh_aee">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2068"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_aee2"
              value="16780753"
              c:type="CLUTTER_KEY_Sinh_aee2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2127"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ai" value="16780691" c:type="CLUTTER_KEY_Sinh_ai">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2079"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ai2"
              value="16780763"
              c:type="CLUTTER_KEY_Sinh_ai2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2135"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_al" value="16780746" c:type="CLUTTER_KEY_Sinh_al">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2124"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_au" value="16780694" c:type="CLUTTER_KEY_Sinh_au">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2082"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_au2"
              value="16780766"
              c:type="CLUTTER_KEY_Sinh_au2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2138"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ba" value="16780726" c:type="CLUTTER_KEY_Sinh_ba">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2110"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_bha"
              value="16780727"
              c:type="CLUTTER_KEY_Sinh_bha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2111"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ca" value="16780704" c:type="CLUTTER_KEY_Sinh_ca">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2089"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_cha"
              value="16780705"
              c:type="CLUTTER_KEY_Sinh_cha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2090"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_dda"
              value="16780713"
              c:type="CLUTTER_KEY_Sinh_dda">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2098"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ddha"
              value="16780714"
              c:type="CLUTTER_KEY_Sinh_ddha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2099"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_dha"
              value="16780719"
              c:type="CLUTTER_KEY_Sinh_dha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2104"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_dhha"
              value="16780720"
              c:type="CLUTTER_KEY_Sinh_dhha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2105"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_e" value="16780689" c:type="CLUTTER_KEY_Sinh_e">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2077"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_e2" value="16780761" c:type="CLUTTER_KEY_Sinh_e2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2133"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ee" value="16780690" c:type="CLUTTER_KEY_Sinh_ee">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2078"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ee2"
              value="16780762"
              c:type="CLUTTER_KEY_Sinh_ee2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2134"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_fa" value="16780742" c:type="CLUTTER_KEY_Sinh_fa">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2123"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ga" value="16780700" c:type="CLUTTER_KEY_Sinh_ga">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2085"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_gha"
              value="16780701"
              c:type="CLUTTER_KEY_Sinh_gha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2086"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_h2" value="16780675" c:type="CLUTTER_KEY_Sinh_h2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2064"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ha" value="16780740" c:type="CLUTTER_KEY_Sinh_ha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2121"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_i" value="16780681" c:type="CLUTTER_KEY_Sinh_i">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2069"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_i2" value="16780754" c:type="CLUTTER_KEY_Sinh_i2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2128"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ii" value="16780682" c:type="CLUTTER_KEY_Sinh_ii">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2070"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ii2"
              value="16780755"
              c:type="CLUTTER_KEY_Sinh_ii2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2129"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ja" value="16780706" c:type="CLUTTER_KEY_Sinh_ja">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2091"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_jha"
              value="16780707"
              c:type="CLUTTER_KEY_Sinh_jha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2092"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_jnya"
              value="16780709"
              c:type="CLUTTER_KEY_Sinh_jnya">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2094"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ka" value="16780698" c:type="CLUTTER_KEY_Sinh_ka">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2083"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_kha"
              value="16780699"
              c:type="CLUTTER_KEY_Sinh_kha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2084"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_kunddaliya"
              value="16780788"
              c:type="CLUTTER_KEY_Sinh_kunddaliya">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2142"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_la" value="16780733" c:type="CLUTTER_KEY_Sinh_la">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2116"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_lla"
              value="16780741"
              c:type="CLUTTER_KEY_Sinh_lla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2122"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_lu" value="16780687" c:type="CLUTTER_KEY_Sinh_lu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2075"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_lu2"
              value="16780767"
              c:type="CLUTTER_KEY_Sinh_lu2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2139"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_luu"
              value="16780688"
              c:type="CLUTTER_KEY_Sinh_luu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2076"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_luu2"
              value="16780787"
              c:type="CLUTTER_KEY_Sinh_luu2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2141"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ma" value="16780728" c:type="CLUTTER_KEY_Sinh_ma">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2112"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_mba"
              value="16780729"
              c:type="CLUTTER_KEY_Sinh_mba">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2113"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_na" value="16780721" c:type="CLUTTER_KEY_Sinh_na">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2106"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ndda"
              value="16780716"
              c:type="CLUTTER_KEY_Sinh_ndda">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2101"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ndha"
              value="16780723"
              c:type="CLUTTER_KEY_Sinh_ndha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2107"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ng" value="16780674" c:type="CLUTTER_KEY_Sinh_ng">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2063"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ng2"
              value="16780702"
              c:type="CLUTTER_KEY_Sinh_ng2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2087"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_nga"
              value="16780703"
              c:type="CLUTTER_KEY_Sinh_nga">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2088"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_nja"
              value="16780710"
              c:type="CLUTTER_KEY_Sinh_nja">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2095"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_nna"
              value="16780715"
              c:type="CLUTTER_KEY_Sinh_nna">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2100"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_nya"
              value="16780708"
              c:type="CLUTTER_KEY_Sinh_nya">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2093"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_o" value="16780692" c:type="CLUTTER_KEY_Sinh_o">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2080"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_o2" value="16780764" c:type="CLUTTER_KEY_Sinh_o2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2136"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_oo" value="16780693" c:type="CLUTTER_KEY_Sinh_oo">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2081"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_oo2"
              value="16780765"
              c:type="CLUTTER_KEY_Sinh_oo2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2137"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_pa" value="16780724" c:type="CLUTTER_KEY_Sinh_pa">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2108"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_pha"
              value="16780725"
              c:type="CLUTTER_KEY_Sinh_pha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2109"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ra" value="16780731" c:type="CLUTTER_KEY_Sinh_ra">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2115"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ri" value="16780685" c:type="CLUTTER_KEY_Sinh_ri">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2073"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_rii"
              value="16780686"
              c:type="CLUTTER_KEY_Sinh_rii">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2074"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ru2"
              value="16780760"
              c:type="CLUTTER_KEY_Sinh_ru2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2132"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ruu2"
              value="16780786"
              c:type="CLUTTER_KEY_Sinh_ruu2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2140"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_sa" value="16780739" c:type="CLUTTER_KEY_Sinh_sa">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2120"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_sha"
              value="16780737"
              c:type="CLUTTER_KEY_Sinh_sha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2118"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ssha"
              value="16780738"
              c:type="CLUTTER_KEY_Sinh_ssha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2119"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_tha"
              value="16780717"
              c:type="CLUTTER_KEY_Sinh_tha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2102"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_thha"
              value="16780718"
              c:type="CLUTTER_KEY_Sinh_thha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2103"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_tta"
              value="16780711"
              c:type="CLUTTER_KEY_Sinh_tta">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2096"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ttha"
              value="16780712"
              c:type="CLUTTER_KEY_Sinh_ttha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2097"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_u" value="16780683" c:type="CLUTTER_KEY_Sinh_u">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2071"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_u2" value="16780756" c:type="CLUTTER_KEY_Sinh_u2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2130"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_uu" value="16780684" c:type="CLUTTER_KEY_Sinh_uu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2072"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_uu2"
              value="16780758"
              c:type="CLUTTER_KEY_Sinh_uu2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2131"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_va" value="16780736" c:type="CLUTTER_KEY_Sinh_va">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2117"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sinh_ya" value="16780730" c:type="CLUTTER_KEY_Sinh_ya">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2114"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sleep" value="269025071" c:type="CLUTTER_KEY_Sleep">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2181"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_SlowKeys_Enable"
              value="65139"
              c:type="CLUTTER_KEY_SlowKeys_Enable">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="308"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_SlowReverse"
              value="268964470"
              c:type="CLUTTER_KEY_SlowReverse">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2423"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sos" value="268964479" c:type="CLUTTER_KEY_Sos">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2432"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Spell" value="269025148" c:type="CLUTTER_KEY_Spell">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2253"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_SpellCheck"
              value="268964272"
              c:type="CLUTTER_KEY_SpellCheck">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2342"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_SplitScreen"
              value="269025149"
              c:type="CLUTTER_KEY_SplitScreen">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2254"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Standby"
              value="269025040"
              c:type="CLUTTER_KEY_Standby">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2150"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Start" value="269025050" c:type="CLUTTER_KEY_Start">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2160"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_StickyKeys_Enable"
              value="65141"
              c:type="CLUTTER_KEY_StickyKeys_Enable">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="310"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Stop" value="269025064" c:type="CLUTTER_KEY_Stop">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2174"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_StopRecord"
              value="268964465"
              c:type="CLUTTER_KEY_StopRecord">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2418"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Subtitle"
              value="269025178"
              c:type="CLUTTER_KEY_Subtitle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2282"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Super_L" value="65515" c:type="CLUTTER_KEY_Super_L">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="201"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Super_R" value="65516" c:type="CLUTTER_KEY_Super_R">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="202"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Support"
              value="269025150"
              c:type="CLUTTER_KEY_Support">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2255"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Suspend"
              value="269025191"
              c:type="CLUTTER_KEY_Suspend">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2295"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Switch_VT_1"
              value="269024769"
              c:type="CLUTTER_KEY_Switch_VT_1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2307"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Switch_VT_10"
              value="269024778"
              c:type="CLUTTER_KEY_Switch_VT_10">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2316"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Switch_VT_11"
              value="269024779"
              c:type="CLUTTER_KEY_Switch_VT_11">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2317"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Switch_VT_12"
              value="269024780"
              c:type="CLUTTER_KEY_Switch_VT_12">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2318"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Switch_VT_2"
              value="269024770"
              c:type="CLUTTER_KEY_Switch_VT_2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2308"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Switch_VT_3"
              value="269024771"
              c:type="CLUTTER_KEY_Switch_VT_3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2309"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Switch_VT_4"
              value="269024772"
              c:type="CLUTTER_KEY_Switch_VT_4">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2310"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Switch_VT_5"
              value="269024773"
              c:type="CLUTTER_KEY_Switch_VT_5">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2311"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Switch_VT_6"
              value="269024774"
              c:type="CLUTTER_KEY_Switch_VT_6">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2312"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Switch_VT_7"
              value="269024775"
              c:type="CLUTTER_KEY_Switch_VT_7">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2313"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Switch_VT_8"
              value="269024776"
              c:type="CLUTTER_KEY_Switch_VT_8">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2314"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Switch_VT_9"
              value="269024777"
              c:type="CLUTTER_KEY_Switch_VT_9">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2315"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Sys_Req" value="65301" c:type="CLUTTER_KEY_Sys_Req">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="41"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_T" value="84" c:type="CLUTTER_KEY_T">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="435"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_THORN" value="222" c:type="CLUTTER_KEY_THORN">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="546"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Tab" value="65289" c:type="CLUTTER_KEY_Tab">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="35"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Tabovedot"
              value="16785002"
              c:type="CLUTTER_KEY_Tabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="713"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_TaskPane"
              value="269025151"
              c:type="CLUTTER_KEY_TaskPane">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2256"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Taskmanager"
              value="268964417"
              c:type="CLUTTER_KEY_Taskmanager">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2385"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Tcaron" value="427" c:type="CLUTTER_KEY_Tcaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="589"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Tcedilla" value="478" c:type="CLUTTER_KEY_Tcedilla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="621"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Terminal"
              value="269025152"
              c:type="CLUTTER_KEY_Terminal">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2257"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Terminate_Server"
              value="65237"
              c:type="CLUTTER_KEY_Terminate_Server">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="304"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_baht" value="3551" c:type="CLUTTER_KEY_Thai_baht">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1376"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_bobaimai"
              value="3514"
              c:type="CLUTTER_KEY_Thai_bobaimai">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1342"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_chochan"
              value="3496"
              c:type="CLUTTER_KEY_Thai_chochan">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1324"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_chochang"
              value="3498"
              c:type="CLUTTER_KEY_Thai_chochang">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1326"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_choching"
              value="3497"
              c:type="CLUTTER_KEY_Thai_choching">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1325"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_chochoe"
              value="3500"
              c:type="CLUTTER_KEY_Thai_chochoe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1328"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_dochada"
              value="3502"
              c:type="CLUTTER_KEY_Thai_dochada">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1330"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_dodek"
              value="3508"
              c:type="CLUTTER_KEY_Thai_dodek">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1336"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_fofa" value="3517" c:type="CLUTTER_KEY_Thai_fofa">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1345"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_fofan"
              value="3519"
              c:type="CLUTTER_KEY_Thai_fofan">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1347"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_hohip"
              value="3531"
              c:type="CLUTTER_KEY_Thai_hohip">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1359"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_honokhuk"
              value="3534"
              c:type="CLUTTER_KEY_Thai_honokhuk">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1362"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_khokhai"
              value="3490"
              c:type="CLUTTER_KEY_Thai_khokhai">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1318"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_khokhon"
              value="3493"
              c:type="CLUTTER_KEY_Thai_khokhon">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1321"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_khokhuat"
              value="3491"
              c:type="CLUTTER_KEY_Thai_khokhuat">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1319"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_khokhwai"
              value="3492"
              c:type="CLUTTER_KEY_Thai_khokhwai">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1320"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_khorakhang"
              value="3494"
              c:type="CLUTTER_KEY_Thai_khorakhang">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1322"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_kokai"
              value="3489"
              c:type="CLUTTER_KEY_Thai_kokai">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1317"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_lakkhangyao"
              value="3557"
              c:type="CLUTTER_KEY_Thai_lakkhangyao">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1382"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_lekchet"
              value="3575"
              c:type="CLUTTER_KEY_Thai_lekchet">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1398"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_lekha"
              value="3573"
              c:type="CLUTTER_KEY_Thai_lekha">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1396"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_lekhok"
              value="3574"
              c:type="CLUTTER_KEY_Thai_lekhok">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1397"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_lekkao"
              value="3577"
              c:type="CLUTTER_KEY_Thai_lekkao">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1400"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_leknung"
              value="3569"
              c:type="CLUTTER_KEY_Thai_leknung">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1392"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_lekpaet"
              value="3576"
              c:type="CLUTTER_KEY_Thai_lekpaet">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1399"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_leksam"
              value="3571"
              c:type="CLUTTER_KEY_Thai_leksam">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1394"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_leksi"
              value="3572"
              c:type="CLUTTER_KEY_Thai_leksi">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1395"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_leksong"
              value="3570"
              c:type="CLUTTER_KEY_Thai_leksong">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1393"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_leksun"
              value="3568"
              c:type="CLUTTER_KEY_Thai_leksun">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1391"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_lochula"
              value="3532"
              c:type="CLUTTER_KEY_Thai_lochula">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1360"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_loling"
              value="3525"
              c:type="CLUTTER_KEY_Thai_loling">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1353"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_lu" value="3526" c:type="CLUTTER_KEY_Thai_lu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1354"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_maichattawa"
              value="3563"
              c:type="CLUTTER_KEY_Thai_maichattawa">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1388"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_maiek"
              value="3560"
              c:type="CLUTTER_KEY_Thai_maiek">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1385"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_maihanakat"
              value="3537"
              c:type="CLUTTER_KEY_Thai_maihanakat">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1365"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_maihanakat_maitho"
              value="3550"
              c:type="CLUTTER_KEY_Thai_maihanakat_maitho">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1375"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_maitaikhu"
              value="3559"
              c:type="CLUTTER_KEY_Thai_maitaikhu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1384"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_maitho"
              value="3561"
              c:type="CLUTTER_KEY_Thai_maitho">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1386"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_maitri"
              value="3562"
              c:type="CLUTTER_KEY_Thai_maitri">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1387"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_maiyamok"
              value="3558"
              c:type="CLUTTER_KEY_Thai_maiyamok">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1383"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_moma" value="3521" c:type="CLUTTER_KEY_Thai_moma">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1349"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_ngongu"
              value="3495"
              c:type="CLUTTER_KEY_Thai_ngongu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1323"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_nikhahit"
              value="3565"
              c:type="CLUTTER_KEY_Thai_nikhahit">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1390"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_nonen"
              value="3507"
              c:type="CLUTTER_KEY_Thai_nonen">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1335"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_nonu" value="3513" c:type="CLUTTER_KEY_Thai_nonu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1341"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_oang" value="3533" c:type="CLUTTER_KEY_Thai_oang">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1361"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_paiyannoi"
              value="3535"
              c:type="CLUTTER_KEY_Thai_paiyannoi">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1363"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_phinthu"
              value="3546"
              c:type="CLUTTER_KEY_Thai_phinthu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1374"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_phophan"
              value="3518"
              c:type="CLUTTER_KEY_Thai_phophan">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1346"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_phophung"
              value="3516"
              c:type="CLUTTER_KEY_Thai_phophung">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1344"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_phosamphao"
              value="3520"
              c:type="CLUTTER_KEY_Thai_phosamphao">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1348"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_popla"
              value="3515"
              c:type="CLUTTER_KEY_Thai_popla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1343"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_rorua"
              value="3523"
              c:type="CLUTTER_KEY_Thai_rorua">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1351"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_ru" value="3524" c:type="CLUTTER_KEY_Thai_ru">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1352"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_saraa"
              value="3536"
              c:type="CLUTTER_KEY_Thai_saraa">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1364"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_saraaa"
              value="3538"
              c:type="CLUTTER_KEY_Thai_saraaa">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1366"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_saraae"
              value="3553"
              c:type="CLUTTER_KEY_Thai_saraae">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1378"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_saraaimaimalai"
              value="3556"
              c:type="CLUTTER_KEY_Thai_saraaimaimalai">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1381"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_saraaimaimuan"
              value="3555"
              c:type="CLUTTER_KEY_Thai_saraaimaimuan">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1380"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_saraam"
              value="3539"
              c:type="CLUTTER_KEY_Thai_saraam">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1367"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_sarae"
              value="3552"
              c:type="CLUTTER_KEY_Thai_sarae">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1377"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_sarai"
              value="3540"
              c:type="CLUTTER_KEY_Thai_sarai">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1368"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_saraii"
              value="3541"
              c:type="CLUTTER_KEY_Thai_saraii">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1369"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_sarao"
              value="3554"
              c:type="CLUTTER_KEY_Thai_sarao">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1379"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_sarau"
              value="3544"
              c:type="CLUTTER_KEY_Thai_sarau">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1372"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_saraue"
              value="3542"
              c:type="CLUTTER_KEY_Thai_saraue">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1370"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_sarauee"
              value="3543"
              c:type="CLUTTER_KEY_Thai_sarauee">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1371"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_sarauu"
              value="3545"
              c:type="CLUTTER_KEY_Thai_sarauu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1373"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_sorusi"
              value="3529"
              c:type="CLUTTER_KEY_Thai_sorusi">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1357"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_sosala"
              value="3528"
              c:type="CLUTTER_KEY_Thai_sosala">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1356"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_soso" value="3499" c:type="CLUTTER_KEY_Thai_soso">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1327"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_sosua"
              value="3530"
              c:type="CLUTTER_KEY_Thai_sosua">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1358"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_thanthakhat"
              value="3564"
              c:type="CLUTTER_KEY_Thai_thanthakhat">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1389"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_thonangmontho"
              value="3505"
              c:type="CLUTTER_KEY_Thai_thonangmontho">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1333"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_thophuthao"
              value="3506"
              c:type="CLUTTER_KEY_Thai_thophuthao">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1334"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_thothahan"
              value="3511"
              c:type="CLUTTER_KEY_Thai_thothahan">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1339"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_thothan"
              value="3504"
              c:type="CLUTTER_KEY_Thai_thothan">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1332"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_thothong"
              value="3512"
              c:type="CLUTTER_KEY_Thai_thothong">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1340"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_thothung"
              value="3510"
              c:type="CLUTTER_KEY_Thai_thothung">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1338"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_topatak"
              value="3503"
              c:type="CLUTTER_KEY_Thai_topatak">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1331"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_totao"
              value="3509"
              c:type="CLUTTER_KEY_Thai_totao">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1337"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_wowaen"
              value="3527"
              c:type="CLUTTER_KEY_Thai_wowaen">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1355"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_yoyak"
              value="3522"
              c:type="CLUTTER_KEY_Thai_yoyak">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1350"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thai_yoying"
              value="3501"
              c:type="CLUTTER_KEY_Thai_yoying">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1329"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Thorn" value="222" c:type="CLUTTER_KEY_Thorn">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="547"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Time" value="269025183" c:type="CLUTTER_KEY_Time">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2287"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ToDoList"
              value="269025055"
              c:type="CLUTTER_KEY_ToDoList">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2165"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Tools" value="269025153" c:type="CLUTTER_KEY_Tools">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2258"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_TopMenu"
              value="269025186"
              c:type="CLUTTER_KEY_TopMenu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2290"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_TouchpadOff"
              value="269025201"
              c:type="CLUTTER_KEY_TouchpadOff">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2299"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_TouchpadOn"
              value="269025200"
              c:type="CLUTTER_KEY_TouchpadOn">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2298"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_TouchpadToggle"
              value="269025193"
              c:type="CLUTTER_KEY_TouchpadToggle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2297"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Touroku" value="65323" c:type="CLUTTER_KEY_Touroku">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="60"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_TraditionalSonar"
              value="268964485"
              c:type="CLUTTER_KEY_TraditionalSonar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2438"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Travel" value="269025154" c:type="CLUTTER_KEY_Travel">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2259"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Tslash" value="940" c:type="CLUTTER_KEY_Tslash">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="668"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_U" value="85" c:type="CLUTTER_KEY_U">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="436"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_UWB" value="269025174" c:type="CLUTTER_KEY_UWB">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2278"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Uacute" value="218" c:type="CLUTTER_KEY_Uacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="542"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ubelowdot"
              value="16785124"
              c:type="CLUTTER_KEY_Ubelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1723"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ubreve" value="733" c:type="CLUTTER_KEY_Ubreve">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="653"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ucircumflex"
              value="219"
              c:type="CLUTTER_KEY_Ucircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="543"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Udiaeresis"
              value="220"
              c:type="CLUTTER_KEY_Udiaeresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="544"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Udoubleacute"
              value="475"
              c:type="CLUTTER_KEY_Udoubleacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="620"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ugrave" value="217" c:type="CLUTTER_KEY_Ugrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="541"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Uhook" value="16785126" c:type="CLUTTER_KEY_Uhook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1725"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Uhorn" value="16777647" c:type="CLUTTER_KEY_Uhorn">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1745"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Uhornacute"
              value="16785128"
              c:type="CLUTTER_KEY_Uhornacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1727"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Uhornbelowdot"
              value="16785136"
              c:type="CLUTTER_KEY_Uhornbelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1735"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Uhorngrave"
              value="16785130"
              c:type="CLUTTER_KEY_Uhorngrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1729"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Uhornhook"
              value="16785132"
              c:type="CLUTTER_KEY_Uhornhook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1731"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Uhorntilde"
              value="16785134"
              c:type="CLUTTER_KEY_Uhorntilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1733"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ukrainian_GHE_WITH_UPTURN"
              value="1725"
              c:type="CLUTTER_KEY_Ukrainian_GHE_WITH_UPTURN">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="958"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ukrainian_I"
              value="1718"
              c:type="CLUTTER_KEY_Ukrainian_I">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="946"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ukrainian_IE"
              value="1716"
              c:type="CLUTTER_KEY_Ukrainian_IE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="943"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ukrainian_YI"
              value="1719"
              c:type="CLUTTER_KEY_Ukrainian_YI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="948"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ukrainian_ghe_with_upturn"
              value="1709"
              c:type="CLUTTER_KEY_Ukrainian_ghe_with_upturn">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="935"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ukrainian_i"
              value="1702"
              c:type="CLUTTER_KEY_Ukrainian_i">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="923"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ukrainian_ie"
              value="1700"
              c:type="CLUTTER_KEY_Ukrainian_ie">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="920"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ukrainian_yi"
              value="1703"
              c:type="CLUTTER_KEY_Ukrainian_yi">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="925"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ukranian_I"
              value="1718"
              c:type="CLUTTER_KEY_Ukranian_I">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="947"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ukranian_JE"
              value="1716"
              c:type="CLUTTER_KEY_Ukranian_JE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="944"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ukranian_YI"
              value="1719"
              c:type="CLUTTER_KEY_Ukranian_YI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="949"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ukranian_i"
              value="1702"
              c:type="CLUTTER_KEY_Ukranian_i">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="924"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ukranian_je"
              value="1700"
              c:type="CLUTTER_KEY_Ukranian_je">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="921"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ukranian_yi"
              value="1703"
              c:type="CLUTTER_KEY_Ukranian_yi">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="926"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Umacron" value="990" c:type="CLUTTER_KEY_Umacron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="686"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Undo" value="65381" c:type="CLUTTER_KEY_Undo">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="84"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ungrab" value="269024800" c:type="CLUTTER_KEY_Ungrab">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2319"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Unmute" value="268964468" c:type="CLUTTER_KEY_Unmute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2421"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Uogonek" value="985" c:type="CLUTTER_KEY_Uogonek">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="684"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Up" value="65362" c:type="CLUTTER_KEY_Up">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="71"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Uring" value="473" c:type="CLUTTER_KEY_Uring">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="619"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_User1KB"
              value="269025157"
              c:type="CLUTTER_KEY_User1KB">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2261"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_User2KB"
              value="269025158"
              c:type="CLUTTER_KEY_User2KB">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2262"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_UserPB" value="269025156" c:type="CLUTTER_KEY_UserPB">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2260"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Utilde" value="989" c:type="CLUTTER_KEY_Utilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="685"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_V" value="86" c:type="CLUTTER_KEY_V">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="437"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_VOD" value="268964467" c:type="CLUTTER_KEY_VOD">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2420"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_VendorHome"
              value="269025076"
              c:type="CLUTTER_KEY_VendorHome">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2186"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Video" value="269025159" c:type="CLUTTER_KEY_Video">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2263"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_VideoPhone"
              value="268964256"
              c:type="CLUTTER_KEY_VideoPhone">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2333"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_View" value="269025185" c:type="CLUTTER_KEY_View">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2289"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_VoiceCommand"
              value="268964422"
              c:type="CLUTTER_KEY_VoiceCommand">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2390"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Voicemail"
              value="268964268"
              c:type="CLUTTER_KEY_Voicemail">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2339"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_VoidSymbol"
              value="16777215"
              c:type="CLUTTER_KEY_VoidSymbol">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="33"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_W" value="87" c:type="CLUTTER_KEY_W">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="438"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_WLAN" value="269025173" c:type="CLUTTER_KEY_WLAN">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2277"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_WPSButton"
              value="268964369"
              c:type="CLUTTER_KEY_WPSButton">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2371"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_WWAN" value="269025204" c:type="CLUTTER_KEY_WWAN">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2302"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_WWW" value="269025070" c:type="CLUTTER_KEY_WWW">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2180"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Wacute" value="16785026" c:type="CLUTTER_KEY_Wacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="717"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_WakeUp" value="269025067" c:type="CLUTTER_KEY_WakeUp">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2177"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Wcircumflex"
              value="16777588"
              c:type="CLUTTER_KEY_Wcircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="697"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Wdiaeresis"
              value="16785028"
              c:type="CLUTTER_KEY_Wdiaeresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="719"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_WebCam" value="269025167" c:type="CLUTTER_KEY_WebCam">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2271"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Wgrave" value="16785024" c:type="CLUTTER_KEY_Wgrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="715"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_WheelButton"
              value="269025160"
              c:type="CLUTTER_KEY_WheelButton">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2264"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_WindowClear"
              value="269025109"
              c:type="CLUTTER_KEY_WindowClear">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2218"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_WonSign" value="16785577" c:type="CLUTTER_KEY_WonSign">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1761"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Word" value="269025161" c:type="CLUTTER_KEY_Word">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2265"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_X" value="88" c:type="CLUTTER_KEY_X">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="439"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Xabovedot"
              value="16785034"
              c:type="CLUTTER_KEY_Xabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1637"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Xfer" value="269025162" c:type="CLUTTER_KEY_Xfer">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2266"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Y" value="89" c:type="CLUTTER_KEY_Y">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="440"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Yacute" value="221" c:type="CLUTTER_KEY_Yacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="545"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ybelowdot"
              value="16785140"
              c:type="CLUTTER_KEY_Ybelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1737"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ycircumflex"
              value="16777590"
              c:type="CLUTTER_KEY_Ycircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="699"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ydiaeresis"
              value="5054"
              c:type="CLUTTER_KEY_Ydiaeresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="725"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Yellow" value="269025189" c:type="CLUTTER_KEY_Yellow">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2293"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ygrave" value="16785138" c:type="CLUTTER_KEY_Ygrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="721"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Yhook" value="16785142" c:type="CLUTTER_KEY_Yhook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1739"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Ytilde" value="16785144" c:type="CLUTTER_KEY_Ytilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1741"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Z" value="90" c:type="CLUTTER_KEY_Z">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="441"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Zabovedot" value="431" c:type="CLUTTER_KEY_Zabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="592"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Zacute" value="428" c:type="CLUTTER_KEY_Zacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="590"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Zcaron" value="430" c:type="CLUTTER_KEY_Zcaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="591"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Zen_Koho" value="65341" c:type="CLUTTER_KEY_Zen_Koho">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="67"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Zenkaku" value="65320" c:type="CLUTTER_KEY_Zenkaku">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="57"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Zenkaku_Hankaku"
              value="65322"
              c:type="CLUTTER_KEY_Zenkaku_Hankaku">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="59"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ZoomIn" value="269025163" c:type="CLUTTER_KEY_ZoomIn">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2267"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ZoomOut"
              value="269025164"
              c:type="CLUTTER_KEY_ZoomOut">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2268"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ZoomReset"
              value="268964260"
              c:type="CLUTTER_KEY_ZoomReset">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2334"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_Zstroke" value="16777653" c:type="CLUTTER_KEY_Zstroke">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1639"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_a" value="97" c:type="CLUTTER_KEY_a">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="449"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_aacute" value="225" c:type="CLUTTER_KEY_aacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="550"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_abelowdot"
              value="16785057"
              c:type="CLUTTER_KEY_abelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1656"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_abovedot" value="511" c:type="CLUTTER_KEY_abovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="638"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_abreve" value="483" c:type="CLUTTER_KEY_abreve">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="623"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_abreveacute"
              value="16785071"
              c:type="CLUTTER_KEY_abreveacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1670"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_abrevebelowdot"
              value="16785079"
              c:type="CLUTTER_KEY_abrevebelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1678"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_abrevegrave"
              value="16785073"
              c:type="CLUTTER_KEY_abrevegrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1672"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_abrevehook"
              value="16785075"
              c:type="CLUTTER_KEY_abrevehook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1674"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_abrevetilde"
              value="16785077"
              c:type="CLUTTER_KEY_abrevetilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1676"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_acircumflex"
              value="226"
              c:type="CLUTTER_KEY_acircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="551"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_acircumflexacute"
              value="16785061"
              c:type="CLUTTER_KEY_acircumflexacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1660"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_acircumflexbelowdot"
              value="16785069"
              c:type="CLUTTER_KEY_acircumflexbelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1668"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_acircumflexgrave"
              value="16785063"
              c:type="CLUTTER_KEY_acircumflexgrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1662"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_acircumflexhook"
              value="16785065"
              c:type="CLUTTER_KEY_acircumflexhook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1664"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_acircumflextilde"
              value="16785067"
              c:type="CLUTTER_KEY_acircumflextilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1666"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_acute" value="180" c:type="CLUTTER_KEY_acute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="500"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_adiaeresis"
              value="228"
              c:type="CLUTTER_KEY_adiaeresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="553"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ae" value="230" c:type="CLUTTER_KEY_ae">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="555"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_agrave" value="224" c:type="CLUTTER_KEY_agrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="549"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ahook" value="16785059" c:type="CLUTTER_KEY_ahook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1658"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_amacron" value="992" c:type="CLUTTER_KEY_amacron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="687"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ampersand" value="38" c:type="CLUTTER_KEY_ampersand">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="388"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_aogonek" value="433" c:type="CLUTTER_KEY_aogonek">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="593"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_apostrophe" value="39" c:type="CLUTTER_KEY_apostrophe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="389"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_approxeq"
              value="16785992"
              c:type="CLUTTER_KEY_approxeq">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1793"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_approximate"
              value="2248"
              c:type="CLUTTER_KEY_approximate">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1132"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_aring" value="229" c:type="CLUTTER_KEY_aring">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="554"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_asciicircum"
              value="94"
              c:type="CLUTTER_KEY_asciicircum">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="445"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_asciitilde"
              value="126"
              c:type="CLUTTER_KEY_asciitilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="478"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_asterisk" value="42" c:type="CLUTTER_KEY_asterisk">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="393"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_at" value="64" c:type="CLUTTER_KEY_at">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="415"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_atilde" value="227" c:type="CLUTTER_KEY_atilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="552"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_b" value="98" c:type="CLUTTER_KEY_b">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="450"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_babovedot"
              value="16784899"
              c:type="CLUTTER_KEY_babovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="702"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_backslash" value="92" c:type="CLUTTER_KEY_backslash">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="443"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ballotcross"
              value="2804"
              c:type="CLUTTER_KEY_ballotcross">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1246"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_bar" value="124" c:type="CLUTTER_KEY_bar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="476"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_because" value="16785973" c:type="CLUTTER_KEY_because">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1792"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_blank" value="2527" c:type="CLUTTER_KEY_blank">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1150"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_botintegral"
              value="2213"
              c:type="CLUTTER_KEY_botintegral">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1105"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_botleftparens"
              value="2220"
              c:type="CLUTTER_KEY_botleftparens">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1112"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_botleftsqbracket"
              value="2216"
              c:type="CLUTTER_KEY_botleftsqbracket">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1108"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_botleftsummation"
              value="2226"
              c:type="CLUTTER_KEY_botleftsummation">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1118"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_botrightparens"
              value="2222"
              c:type="CLUTTER_KEY_botrightparens">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1114"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_botrightsqbracket"
              value="2218"
              c:type="CLUTTER_KEY_botrightsqbracket">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1110"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_botrightsummation"
              value="2230"
              c:type="CLUTTER_KEY_botrightsummation">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1122"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_bott" value="2550" c:type="CLUTTER_KEY_bott">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1171"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_botvertsummationconnector"
              value="2228"
              c:type="CLUTTER_KEY_botvertsummationconnector">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1120"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braceleft" value="123" c:type="CLUTTER_KEY_braceleft">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="475"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braceright"
              value="125"
              c:type="CLUTTER_KEY_braceright">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="477"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_bracketleft"
              value="91"
              c:type="CLUTTER_KEY_bracketleft">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="442"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_bracketright"
              value="93"
              c:type="CLUTTER_KEY_bracketright">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="444"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_blank"
              value="16787456"
              c:type="CLUTTER_KEY_braille_blank">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1807"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dot_1"
              value="65521"
              c:type="CLUTTER_KEY_braille_dot_1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1797"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dot_10"
              value="65530"
              c:type="CLUTTER_KEY_braille_dot_10">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1806"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dot_2"
              value="65522"
              c:type="CLUTTER_KEY_braille_dot_2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1798"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dot_3"
              value="65523"
              c:type="CLUTTER_KEY_braille_dot_3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1799"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dot_4"
              value="65524"
              c:type="CLUTTER_KEY_braille_dot_4">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1800"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dot_5"
              value="65525"
              c:type="CLUTTER_KEY_braille_dot_5">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1801"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dot_6"
              value="65526"
              c:type="CLUTTER_KEY_braille_dot_6">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1802"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dot_7"
              value="65527"
              c:type="CLUTTER_KEY_braille_dot_7">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1803"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dot_8"
              value="65528"
              c:type="CLUTTER_KEY_braille_dot_8">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1804"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dot_9"
              value="65529"
              c:type="CLUTTER_KEY_braille_dot_9">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1805"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1"
              value="16787457"
              c:type="CLUTTER_KEY_braille_dots_1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1808"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12"
              value="16787459"
              c:type="CLUTTER_KEY_braille_dots_12">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1810"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_123"
              value="16787463"
              c:type="CLUTTER_KEY_braille_dots_123">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1814"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1234"
              value="16787471"
              c:type="CLUTTER_KEY_braille_dots_1234">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1822"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12345"
              value="16787487"
              c:type="CLUTTER_KEY_braille_dots_12345">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1838"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_123456"
              value="16787519"
              c:type="CLUTTER_KEY_braille_dots_123456">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1870"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1234567"
              value="16787583"
              c:type="CLUTTER_KEY_braille_dots_1234567">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1934"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12345678"
              value="16787711"
              c:type="CLUTTER_KEY_braille_dots_12345678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2062"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1234568"
              value="16787647"
              c:type="CLUTTER_KEY_braille_dots_1234568">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1998"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_123457"
              value="16787551"
              c:type="CLUTTER_KEY_braille_dots_123457">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1902"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1234578"
              value="16787679"
              c:type="CLUTTER_KEY_braille_dots_1234578">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2030"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_123458"
              value="16787615"
              c:type="CLUTTER_KEY_braille_dots_123458">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1966"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12346"
              value="16787503"
              c:type="CLUTTER_KEY_braille_dots_12346">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1854"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_123467"
              value="16787567"
              c:type="CLUTTER_KEY_braille_dots_123467">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1918"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1234678"
              value="16787695"
              c:type="CLUTTER_KEY_braille_dots_1234678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2046"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_123468"
              value="16787631"
              c:type="CLUTTER_KEY_braille_dots_123468">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1982"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12347"
              value="16787535"
              c:type="CLUTTER_KEY_braille_dots_12347">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1886"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_123478"
              value="16787663"
              c:type="CLUTTER_KEY_braille_dots_123478">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2014"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12348"
              value="16787599"
              c:type="CLUTTER_KEY_braille_dots_12348">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1950"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1235"
              value="16787479"
              c:type="CLUTTER_KEY_braille_dots_1235">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1830"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12356"
              value="16787511"
              c:type="CLUTTER_KEY_braille_dots_12356">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1862"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_123567"
              value="16787575"
              c:type="CLUTTER_KEY_braille_dots_123567">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1926"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1235678"
              value="16787703"
              c:type="CLUTTER_KEY_braille_dots_1235678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2054"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_123568"
              value="16787639"
              c:type="CLUTTER_KEY_braille_dots_123568">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1990"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12357"
              value="16787543"
              c:type="CLUTTER_KEY_braille_dots_12357">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1894"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_123578"
              value="16787671"
              c:type="CLUTTER_KEY_braille_dots_123578">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2022"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12358"
              value="16787607"
              c:type="CLUTTER_KEY_braille_dots_12358">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1958"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1236"
              value="16787495"
              c:type="CLUTTER_KEY_braille_dots_1236">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1846"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12367"
              value="16787559"
              c:type="CLUTTER_KEY_braille_dots_12367">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1910"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_123678"
              value="16787687"
              c:type="CLUTTER_KEY_braille_dots_123678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2038"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12368"
              value="16787623"
              c:type="CLUTTER_KEY_braille_dots_12368">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1974"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1237"
              value="16787527"
              c:type="CLUTTER_KEY_braille_dots_1237">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1878"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12378"
              value="16787655"
              c:type="CLUTTER_KEY_braille_dots_12378">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2006"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1238"
              value="16787591"
              c:type="CLUTTER_KEY_braille_dots_1238">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1942"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_124"
              value="16787467"
              c:type="CLUTTER_KEY_braille_dots_124">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1818"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1245"
              value="16787483"
              c:type="CLUTTER_KEY_braille_dots_1245">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1834"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12456"
              value="16787515"
              c:type="CLUTTER_KEY_braille_dots_12456">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1866"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_124567"
              value="16787579"
              c:type="CLUTTER_KEY_braille_dots_124567">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1930"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1245678"
              value="16787707"
              c:type="CLUTTER_KEY_braille_dots_1245678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2058"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_124568"
              value="16787643"
              c:type="CLUTTER_KEY_braille_dots_124568">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1994"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12457"
              value="16787547"
              c:type="CLUTTER_KEY_braille_dots_12457">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1898"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_124578"
              value="16787675"
              c:type="CLUTTER_KEY_braille_dots_124578">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2026"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12458"
              value="16787611"
              c:type="CLUTTER_KEY_braille_dots_12458">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1962"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1246"
              value="16787499"
              c:type="CLUTTER_KEY_braille_dots_1246">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1850"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12467"
              value="16787563"
              c:type="CLUTTER_KEY_braille_dots_12467">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1914"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_124678"
              value="16787691"
              c:type="CLUTTER_KEY_braille_dots_124678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2042"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12468"
              value="16787627"
              c:type="CLUTTER_KEY_braille_dots_12468">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1978"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1247"
              value="16787531"
              c:type="CLUTTER_KEY_braille_dots_1247">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1882"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12478"
              value="16787659"
              c:type="CLUTTER_KEY_braille_dots_12478">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2010"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1248"
              value="16787595"
              c:type="CLUTTER_KEY_braille_dots_1248">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1946"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_125"
              value="16787475"
              c:type="CLUTTER_KEY_braille_dots_125">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1826"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1256"
              value="16787507"
              c:type="CLUTTER_KEY_braille_dots_1256">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1858"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12567"
              value="16787571"
              c:type="CLUTTER_KEY_braille_dots_12567">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1922"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_125678"
              value="16787699"
              c:type="CLUTTER_KEY_braille_dots_125678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2050"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12568"
              value="16787635"
              c:type="CLUTTER_KEY_braille_dots_12568">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1986"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1257"
              value="16787539"
              c:type="CLUTTER_KEY_braille_dots_1257">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1890"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12578"
              value="16787667"
              c:type="CLUTTER_KEY_braille_dots_12578">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2018"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1258"
              value="16787603"
              c:type="CLUTTER_KEY_braille_dots_1258">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1954"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_126"
              value="16787491"
              c:type="CLUTTER_KEY_braille_dots_126">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1842"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1267"
              value="16787555"
              c:type="CLUTTER_KEY_braille_dots_1267">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1906"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_12678"
              value="16787683"
              c:type="CLUTTER_KEY_braille_dots_12678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2034"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1268"
              value="16787619"
              c:type="CLUTTER_KEY_braille_dots_1268">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1970"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_127"
              value="16787523"
              c:type="CLUTTER_KEY_braille_dots_127">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1874"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1278"
              value="16787651"
              c:type="CLUTTER_KEY_braille_dots_1278">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2002"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_128"
              value="16787587"
              c:type="CLUTTER_KEY_braille_dots_128">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1938"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_13"
              value="16787461"
              c:type="CLUTTER_KEY_braille_dots_13">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1812"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_134"
              value="16787469"
              c:type="CLUTTER_KEY_braille_dots_134">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1820"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1345"
              value="16787485"
              c:type="CLUTTER_KEY_braille_dots_1345">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1836"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_13456"
              value="16787517"
              c:type="CLUTTER_KEY_braille_dots_13456">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1868"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_134567"
              value="16787581"
              c:type="CLUTTER_KEY_braille_dots_134567">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1932"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1345678"
              value="16787709"
              c:type="CLUTTER_KEY_braille_dots_1345678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2060"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_134568"
              value="16787645"
              c:type="CLUTTER_KEY_braille_dots_134568">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1996"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_13457"
              value="16787549"
              c:type="CLUTTER_KEY_braille_dots_13457">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1900"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_134578"
              value="16787677"
              c:type="CLUTTER_KEY_braille_dots_134578">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2028"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_13458"
              value="16787613"
              c:type="CLUTTER_KEY_braille_dots_13458">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1964"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1346"
              value="16787501"
              c:type="CLUTTER_KEY_braille_dots_1346">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1852"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_13467"
              value="16787565"
              c:type="CLUTTER_KEY_braille_dots_13467">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1916"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_134678"
              value="16787693"
              c:type="CLUTTER_KEY_braille_dots_134678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2044"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_13468"
              value="16787629"
              c:type="CLUTTER_KEY_braille_dots_13468">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1980"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1347"
              value="16787533"
              c:type="CLUTTER_KEY_braille_dots_1347">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1884"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_13478"
              value="16787661"
              c:type="CLUTTER_KEY_braille_dots_13478">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2012"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1348"
              value="16787597"
              c:type="CLUTTER_KEY_braille_dots_1348">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1948"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_135"
              value="16787477"
              c:type="CLUTTER_KEY_braille_dots_135">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1828"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1356"
              value="16787509"
              c:type="CLUTTER_KEY_braille_dots_1356">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1860"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_13567"
              value="16787573"
              c:type="CLUTTER_KEY_braille_dots_13567">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1924"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_135678"
              value="16787701"
              c:type="CLUTTER_KEY_braille_dots_135678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2052"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_13568"
              value="16787637"
              c:type="CLUTTER_KEY_braille_dots_13568">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1988"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1357"
              value="16787541"
              c:type="CLUTTER_KEY_braille_dots_1357">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1892"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_13578"
              value="16787669"
              c:type="CLUTTER_KEY_braille_dots_13578">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2020"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1358"
              value="16787605"
              c:type="CLUTTER_KEY_braille_dots_1358">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1956"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_136"
              value="16787493"
              c:type="CLUTTER_KEY_braille_dots_136">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1844"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1367"
              value="16787557"
              c:type="CLUTTER_KEY_braille_dots_1367">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1908"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_13678"
              value="16787685"
              c:type="CLUTTER_KEY_braille_dots_13678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2036"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1368"
              value="16787621"
              c:type="CLUTTER_KEY_braille_dots_1368">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1972"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_137"
              value="16787525"
              c:type="CLUTTER_KEY_braille_dots_137">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1876"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1378"
              value="16787653"
              c:type="CLUTTER_KEY_braille_dots_1378">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2004"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_138"
              value="16787589"
              c:type="CLUTTER_KEY_braille_dots_138">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1940"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_14"
              value="16787465"
              c:type="CLUTTER_KEY_braille_dots_14">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1816"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_145"
              value="16787481"
              c:type="CLUTTER_KEY_braille_dots_145">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1832"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1456"
              value="16787513"
              c:type="CLUTTER_KEY_braille_dots_1456">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1864"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_14567"
              value="16787577"
              c:type="CLUTTER_KEY_braille_dots_14567">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1928"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_145678"
              value="16787705"
              c:type="CLUTTER_KEY_braille_dots_145678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2056"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_14568"
              value="16787641"
              c:type="CLUTTER_KEY_braille_dots_14568">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1992"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1457"
              value="16787545"
              c:type="CLUTTER_KEY_braille_dots_1457">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1896"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_14578"
              value="16787673"
              c:type="CLUTTER_KEY_braille_dots_14578">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2024"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1458"
              value="16787609"
              c:type="CLUTTER_KEY_braille_dots_1458">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1960"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_146"
              value="16787497"
              c:type="CLUTTER_KEY_braille_dots_146">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1848"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1467"
              value="16787561"
              c:type="CLUTTER_KEY_braille_dots_1467">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1912"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_14678"
              value="16787689"
              c:type="CLUTTER_KEY_braille_dots_14678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2040"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1468"
              value="16787625"
              c:type="CLUTTER_KEY_braille_dots_1468">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1976"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_147"
              value="16787529"
              c:type="CLUTTER_KEY_braille_dots_147">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1880"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1478"
              value="16787657"
              c:type="CLUTTER_KEY_braille_dots_1478">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2008"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_148"
              value="16787593"
              c:type="CLUTTER_KEY_braille_dots_148">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1944"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_15"
              value="16787473"
              c:type="CLUTTER_KEY_braille_dots_15">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1824"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_156"
              value="16787505"
              c:type="CLUTTER_KEY_braille_dots_156">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1856"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1567"
              value="16787569"
              c:type="CLUTTER_KEY_braille_dots_1567">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1920"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_15678"
              value="16787697"
              c:type="CLUTTER_KEY_braille_dots_15678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2048"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1568"
              value="16787633"
              c:type="CLUTTER_KEY_braille_dots_1568">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1984"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_157"
              value="16787537"
              c:type="CLUTTER_KEY_braille_dots_157">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1888"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1578"
              value="16787665"
              c:type="CLUTTER_KEY_braille_dots_1578">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2016"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_158"
              value="16787601"
              c:type="CLUTTER_KEY_braille_dots_158">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1952"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_16"
              value="16787489"
              c:type="CLUTTER_KEY_braille_dots_16">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1840"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_167"
              value="16787553"
              c:type="CLUTTER_KEY_braille_dots_167">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1904"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_1678"
              value="16787681"
              c:type="CLUTTER_KEY_braille_dots_1678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2032"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_168"
              value="16787617"
              c:type="CLUTTER_KEY_braille_dots_168">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1968"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_17"
              value="16787521"
              c:type="CLUTTER_KEY_braille_dots_17">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1872"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_178"
              value="16787649"
              c:type="CLUTTER_KEY_braille_dots_178">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2000"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_18"
              value="16787585"
              c:type="CLUTTER_KEY_braille_dots_18">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1936"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2"
              value="16787458"
              c:type="CLUTTER_KEY_braille_dots_2">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1809"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_23"
              value="16787462"
              c:type="CLUTTER_KEY_braille_dots_23">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1813"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_234"
              value="16787470"
              c:type="CLUTTER_KEY_braille_dots_234">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1821"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2345"
              value="16787486"
              c:type="CLUTTER_KEY_braille_dots_2345">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1837"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_23456"
              value="16787518"
              c:type="CLUTTER_KEY_braille_dots_23456">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1869"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_234567"
              value="16787582"
              c:type="CLUTTER_KEY_braille_dots_234567">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1933"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2345678"
              value="16787710"
              c:type="CLUTTER_KEY_braille_dots_2345678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2061"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_234568"
              value="16787646"
              c:type="CLUTTER_KEY_braille_dots_234568">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1997"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_23457"
              value="16787550"
              c:type="CLUTTER_KEY_braille_dots_23457">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1901"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_234578"
              value="16787678"
              c:type="CLUTTER_KEY_braille_dots_234578">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2029"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_23458"
              value="16787614"
              c:type="CLUTTER_KEY_braille_dots_23458">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1965"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2346"
              value="16787502"
              c:type="CLUTTER_KEY_braille_dots_2346">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1853"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_23467"
              value="16787566"
              c:type="CLUTTER_KEY_braille_dots_23467">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1917"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_234678"
              value="16787694"
              c:type="CLUTTER_KEY_braille_dots_234678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2045"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_23468"
              value="16787630"
              c:type="CLUTTER_KEY_braille_dots_23468">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1981"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2347"
              value="16787534"
              c:type="CLUTTER_KEY_braille_dots_2347">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1885"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_23478"
              value="16787662"
              c:type="CLUTTER_KEY_braille_dots_23478">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2013"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2348"
              value="16787598"
              c:type="CLUTTER_KEY_braille_dots_2348">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1949"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_235"
              value="16787478"
              c:type="CLUTTER_KEY_braille_dots_235">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1829"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2356"
              value="16787510"
              c:type="CLUTTER_KEY_braille_dots_2356">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1861"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_23567"
              value="16787574"
              c:type="CLUTTER_KEY_braille_dots_23567">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1925"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_235678"
              value="16787702"
              c:type="CLUTTER_KEY_braille_dots_235678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2053"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_23568"
              value="16787638"
              c:type="CLUTTER_KEY_braille_dots_23568">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1989"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2357"
              value="16787542"
              c:type="CLUTTER_KEY_braille_dots_2357">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1893"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_23578"
              value="16787670"
              c:type="CLUTTER_KEY_braille_dots_23578">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2021"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2358"
              value="16787606"
              c:type="CLUTTER_KEY_braille_dots_2358">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1957"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_236"
              value="16787494"
              c:type="CLUTTER_KEY_braille_dots_236">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1845"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2367"
              value="16787558"
              c:type="CLUTTER_KEY_braille_dots_2367">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1909"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_23678"
              value="16787686"
              c:type="CLUTTER_KEY_braille_dots_23678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2037"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2368"
              value="16787622"
              c:type="CLUTTER_KEY_braille_dots_2368">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1973"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_237"
              value="16787526"
              c:type="CLUTTER_KEY_braille_dots_237">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1877"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2378"
              value="16787654"
              c:type="CLUTTER_KEY_braille_dots_2378">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2005"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_238"
              value="16787590"
              c:type="CLUTTER_KEY_braille_dots_238">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1941"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_24"
              value="16787466"
              c:type="CLUTTER_KEY_braille_dots_24">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1817"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_245"
              value="16787482"
              c:type="CLUTTER_KEY_braille_dots_245">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1833"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2456"
              value="16787514"
              c:type="CLUTTER_KEY_braille_dots_2456">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1865"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_24567"
              value="16787578"
              c:type="CLUTTER_KEY_braille_dots_24567">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1929"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_245678"
              value="16787706"
              c:type="CLUTTER_KEY_braille_dots_245678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2057"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_24568"
              value="16787642"
              c:type="CLUTTER_KEY_braille_dots_24568">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1993"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2457"
              value="16787546"
              c:type="CLUTTER_KEY_braille_dots_2457">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1897"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_24578"
              value="16787674"
              c:type="CLUTTER_KEY_braille_dots_24578">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2025"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2458"
              value="16787610"
              c:type="CLUTTER_KEY_braille_dots_2458">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1961"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_246"
              value="16787498"
              c:type="CLUTTER_KEY_braille_dots_246">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1849"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2467"
              value="16787562"
              c:type="CLUTTER_KEY_braille_dots_2467">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1913"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_24678"
              value="16787690"
              c:type="CLUTTER_KEY_braille_dots_24678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2041"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2468"
              value="16787626"
              c:type="CLUTTER_KEY_braille_dots_2468">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1977"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_247"
              value="16787530"
              c:type="CLUTTER_KEY_braille_dots_247">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1881"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2478"
              value="16787658"
              c:type="CLUTTER_KEY_braille_dots_2478">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2009"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_248"
              value="16787594"
              c:type="CLUTTER_KEY_braille_dots_248">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1945"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_25"
              value="16787474"
              c:type="CLUTTER_KEY_braille_dots_25">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1825"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_256"
              value="16787506"
              c:type="CLUTTER_KEY_braille_dots_256">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1857"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2567"
              value="16787570"
              c:type="CLUTTER_KEY_braille_dots_2567">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1921"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_25678"
              value="16787698"
              c:type="CLUTTER_KEY_braille_dots_25678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2049"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2568"
              value="16787634"
              c:type="CLUTTER_KEY_braille_dots_2568">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1985"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_257"
              value="16787538"
              c:type="CLUTTER_KEY_braille_dots_257">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1889"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2578"
              value="16787666"
              c:type="CLUTTER_KEY_braille_dots_2578">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2017"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_258"
              value="16787602"
              c:type="CLUTTER_KEY_braille_dots_258">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1953"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_26"
              value="16787490"
              c:type="CLUTTER_KEY_braille_dots_26">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1841"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_267"
              value="16787554"
              c:type="CLUTTER_KEY_braille_dots_267">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1905"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_2678"
              value="16787682"
              c:type="CLUTTER_KEY_braille_dots_2678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2033"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_268"
              value="16787618"
              c:type="CLUTTER_KEY_braille_dots_268">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1969"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_27"
              value="16787522"
              c:type="CLUTTER_KEY_braille_dots_27">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1873"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_278"
              value="16787650"
              c:type="CLUTTER_KEY_braille_dots_278">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2001"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_28"
              value="16787586"
              c:type="CLUTTER_KEY_braille_dots_28">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1937"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_3"
              value="16787460"
              c:type="CLUTTER_KEY_braille_dots_3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1811"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_34"
              value="16787468"
              c:type="CLUTTER_KEY_braille_dots_34">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1819"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_345"
              value="16787484"
              c:type="CLUTTER_KEY_braille_dots_345">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1835"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_3456"
              value="16787516"
              c:type="CLUTTER_KEY_braille_dots_3456">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1867"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_34567"
              value="16787580"
              c:type="CLUTTER_KEY_braille_dots_34567">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1931"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_345678"
              value="16787708"
              c:type="CLUTTER_KEY_braille_dots_345678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2059"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_34568"
              value="16787644"
              c:type="CLUTTER_KEY_braille_dots_34568">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1995"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_3457"
              value="16787548"
              c:type="CLUTTER_KEY_braille_dots_3457">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1899"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_34578"
              value="16787676"
              c:type="CLUTTER_KEY_braille_dots_34578">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2027"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_3458"
              value="16787612"
              c:type="CLUTTER_KEY_braille_dots_3458">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1963"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_346"
              value="16787500"
              c:type="CLUTTER_KEY_braille_dots_346">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1851"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_3467"
              value="16787564"
              c:type="CLUTTER_KEY_braille_dots_3467">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1915"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_34678"
              value="16787692"
              c:type="CLUTTER_KEY_braille_dots_34678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2043"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_3468"
              value="16787628"
              c:type="CLUTTER_KEY_braille_dots_3468">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1979"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_347"
              value="16787532"
              c:type="CLUTTER_KEY_braille_dots_347">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1883"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_3478"
              value="16787660"
              c:type="CLUTTER_KEY_braille_dots_3478">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2011"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_348"
              value="16787596"
              c:type="CLUTTER_KEY_braille_dots_348">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1947"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_35"
              value="16787476"
              c:type="CLUTTER_KEY_braille_dots_35">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1827"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_356"
              value="16787508"
              c:type="CLUTTER_KEY_braille_dots_356">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1859"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_3567"
              value="16787572"
              c:type="CLUTTER_KEY_braille_dots_3567">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1923"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_35678"
              value="16787700"
              c:type="CLUTTER_KEY_braille_dots_35678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2051"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_3568"
              value="16787636"
              c:type="CLUTTER_KEY_braille_dots_3568">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1987"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_357"
              value="16787540"
              c:type="CLUTTER_KEY_braille_dots_357">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1891"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_3578"
              value="16787668"
              c:type="CLUTTER_KEY_braille_dots_3578">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2019"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_358"
              value="16787604"
              c:type="CLUTTER_KEY_braille_dots_358">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1955"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_36"
              value="16787492"
              c:type="CLUTTER_KEY_braille_dots_36">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1843"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_367"
              value="16787556"
              c:type="CLUTTER_KEY_braille_dots_367">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1907"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_3678"
              value="16787684"
              c:type="CLUTTER_KEY_braille_dots_3678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2035"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_368"
              value="16787620"
              c:type="CLUTTER_KEY_braille_dots_368">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1971"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_37"
              value="16787524"
              c:type="CLUTTER_KEY_braille_dots_37">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1875"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_378"
              value="16787652"
              c:type="CLUTTER_KEY_braille_dots_378">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2003"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_38"
              value="16787588"
              c:type="CLUTTER_KEY_braille_dots_38">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1939"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_4"
              value="16787464"
              c:type="CLUTTER_KEY_braille_dots_4">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1815"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_45"
              value="16787480"
              c:type="CLUTTER_KEY_braille_dots_45">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1831"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_456"
              value="16787512"
              c:type="CLUTTER_KEY_braille_dots_456">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1863"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_4567"
              value="16787576"
              c:type="CLUTTER_KEY_braille_dots_4567">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1927"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_45678"
              value="16787704"
              c:type="CLUTTER_KEY_braille_dots_45678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2055"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_4568"
              value="16787640"
              c:type="CLUTTER_KEY_braille_dots_4568">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1991"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_457"
              value="16787544"
              c:type="CLUTTER_KEY_braille_dots_457">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1895"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_4578"
              value="16787672"
              c:type="CLUTTER_KEY_braille_dots_4578">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2023"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_458"
              value="16787608"
              c:type="CLUTTER_KEY_braille_dots_458">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1959"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_46"
              value="16787496"
              c:type="CLUTTER_KEY_braille_dots_46">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1847"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_467"
              value="16787560"
              c:type="CLUTTER_KEY_braille_dots_467">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1911"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_4678"
              value="16787688"
              c:type="CLUTTER_KEY_braille_dots_4678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2039"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_468"
              value="16787624"
              c:type="CLUTTER_KEY_braille_dots_468">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1975"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_47"
              value="16787528"
              c:type="CLUTTER_KEY_braille_dots_47">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1879"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_478"
              value="16787656"
              c:type="CLUTTER_KEY_braille_dots_478">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2007"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_48"
              value="16787592"
              c:type="CLUTTER_KEY_braille_dots_48">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1943"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_5"
              value="16787472"
              c:type="CLUTTER_KEY_braille_dots_5">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1823"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_56"
              value="16787504"
              c:type="CLUTTER_KEY_braille_dots_56">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1855"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_567"
              value="16787568"
              c:type="CLUTTER_KEY_braille_dots_567">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1919"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_5678"
              value="16787696"
              c:type="CLUTTER_KEY_braille_dots_5678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2047"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_568"
              value="16787632"
              c:type="CLUTTER_KEY_braille_dots_568">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1983"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_57"
              value="16787536"
              c:type="CLUTTER_KEY_braille_dots_57">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1887"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_578"
              value="16787664"
              c:type="CLUTTER_KEY_braille_dots_578">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2015"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_58"
              value="16787600"
              c:type="CLUTTER_KEY_braille_dots_58">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1951"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_6"
              value="16787488"
              c:type="CLUTTER_KEY_braille_dots_6">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1839"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_67"
              value="16787552"
              c:type="CLUTTER_KEY_braille_dots_67">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1903"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_678"
              value="16787680"
              c:type="CLUTTER_KEY_braille_dots_678">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2031"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_68"
              value="16787616"
              c:type="CLUTTER_KEY_braille_dots_68">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1967"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_7"
              value="16787520"
              c:type="CLUTTER_KEY_braille_dots_7">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1871"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_78"
              value="16787648"
              c:type="CLUTTER_KEY_braille_dots_78">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1999"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_braille_dots_8"
              value="16787584"
              c:type="CLUTTER_KEY_braille_dots_8">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1935"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_breve" value="418" c:type="CLUTTER_KEY_breve">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="583"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_brokenbar" value="166" c:type="CLUTTER_KEY_brokenbar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="485"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_c" value="99" c:type="CLUTTER_KEY_c">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="451"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_c_h" value="65187" c:type="CLUTTER_KEY_c_h">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="349"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_cabovedot" value="741" c:type="CLUTTER_KEY_cabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="655"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_cacute" value="486" c:type="CLUTTER_KEY_cacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="625"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_careof" value="2744" c:type="CLUTTER_KEY_careof">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1195"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_caret" value="2812" c:type="CLUTTER_KEY_caret">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1254"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_caron" value="439" c:type="CLUTTER_KEY_caron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="598"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ccaron" value="488" c:type="CLUTTER_KEY_ccaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="626"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ccedilla" value="231" c:type="CLUTTER_KEY_ccedilla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="556"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ccircumflex"
              value="742"
              c:type="CLUTTER_KEY_ccircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="656"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_cedilla" value="184" c:type="CLUTTER_KEY_cedilla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="504"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_cent" value="162" c:type="CLUTTER_KEY_cent">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="481"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ch" value="65184" c:type="CLUTTER_KEY_ch">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="346"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_checkerboard"
              value="2529"
              c:type="CLUTTER_KEY_checkerboard">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1152"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_checkmark" value="2803" c:type="CLUTTER_KEY_checkmark">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1245"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_circle" value="3023" c:type="CLUTTER_KEY_circle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1270"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_club" value="2796" c:type="CLUTTER_KEY_club">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1239"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_colon" value="58" c:type="CLUTTER_KEY_colon">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="409"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_combining_acute"
              value="16777985"
              c:type="CLUTTER_KEY_combining_acute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1749"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_combining_belowdot"
              value="16778019"
              c:type="CLUTTER_KEY_combining_belowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1751"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_combining_grave"
              value="16777984"
              c:type="CLUTTER_KEY_combining_grave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1748"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_combining_hook"
              value="16777993"
              c:type="CLUTTER_KEY_combining_hook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1750"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_combining_tilde"
              value="16777987"
              c:type="CLUTTER_KEY_combining_tilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1747"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_comma" value="44" c:type="CLUTTER_KEY_comma">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="395"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_containsas"
              value="16785931"
              c:type="CLUTTER_KEY_containsas">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1786"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_copyright" value="169" c:type="CLUTTER_KEY_copyright">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="488"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_cr" value="2532" c:type="CLUTTER_KEY_cr">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1155"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_crossinglines"
              value="2542"
              c:type="CLUTTER_KEY_crossinglines">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1163"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_cuberoot"
              value="16785947"
              c:type="CLUTTER_KEY_cuberoot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1788"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_currency" value="164" c:type="CLUTTER_KEY_currency">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="483"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_cursor" value="2815" c:type="CLUTTER_KEY_cursor">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1257"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_d" value="100" c:type="CLUTTER_KEY_d">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="452"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dabovedot"
              value="16784907"
              c:type="CLUTTER_KEY_dabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="704"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dagger" value="2801" c:type="CLUTTER_KEY_dagger">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1243"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dcaron" value="495" c:type="CLUTTER_KEY_dcaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="629"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_A" value="65153" c:type="CLUTTER_KEY_dead_A">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="285"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_E" value="65155" c:type="CLUTTER_KEY_dead_E">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="287"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_I" value="65157" c:type="CLUTTER_KEY_dead_I">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="289"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_O" value="65159" c:type="CLUTTER_KEY_dead_O">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="291"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_SCHWA"
              value="65163"
              c:type="CLUTTER_KEY_dead_SCHWA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="297"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_U" value="65161" c:type="CLUTTER_KEY_dead_U">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="293"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_a" value="65152" c:type="CLUTTER_KEY_dead_a">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="284"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_abovecomma"
              value="65124"
              c:type="CLUTTER_KEY_dead_abovecomma">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="266"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_abovedot"
              value="65110"
              c:type="CLUTTER_KEY_dead_abovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="252"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_abovereversedcomma"
              value="65125"
              c:type="CLUTTER_KEY_dead_abovereversedcomma">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="268"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_abovering"
              value="65112"
              c:type="CLUTTER_KEY_dead_abovering">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="254"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_aboveverticalline"
              value="65169"
              c:type="CLUTTER_KEY_dead_aboveverticalline">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="281"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_acute"
              value="65105"
              c:type="CLUTTER_KEY_dead_acute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="246"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_belowbreve"
              value="65131"
              c:type="CLUTTER_KEY_dead_belowbreve">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="275"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_belowcircumflex"
              value="65129"
              c:type="CLUTTER_KEY_dead_belowcircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="273"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_belowcomma"
              value="65134"
              c:type="CLUTTER_KEY_dead_belowcomma">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="278"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_belowdiaeresis"
              value="65132"
              c:type="CLUTTER_KEY_dead_belowdiaeresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="276"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_belowdot"
              value="65120"
              c:type="CLUTTER_KEY_dead_belowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="262"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_belowmacron"
              value="65128"
              c:type="CLUTTER_KEY_dead_belowmacron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="272"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_belowring"
              value="65127"
              c:type="CLUTTER_KEY_dead_belowring">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="271"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_belowtilde"
              value="65130"
              c:type="CLUTTER_KEY_dead_belowtilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="274"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_belowverticalline"
              value="65170"
              c:type="CLUTTER_KEY_dead_belowverticalline">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="282"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_breve"
              value="65109"
              c:type="CLUTTER_KEY_dead_breve">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="251"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_capital_schwa"
              value="65163"
              c:type="CLUTTER_KEY_dead_capital_schwa">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="296"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_caron"
              value="65114"
              c:type="CLUTTER_KEY_dead_caron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="256"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_cedilla"
              value="65115"
              c:type="CLUTTER_KEY_dead_cedilla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="257"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_circumflex"
              value="65106"
              c:type="CLUTTER_KEY_dead_circumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="247"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_currency"
              value="65135"
              c:type="CLUTTER_KEY_dead_currency">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="279"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_dasia"
              value="65125"
              c:type="CLUTTER_KEY_dead_dasia">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="269"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_diaeresis"
              value="65111"
              c:type="CLUTTER_KEY_dead_diaeresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="253"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_doubleacute"
              value="65113"
              c:type="CLUTTER_KEY_dead_doubleacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="255"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_doublegrave"
              value="65126"
              c:type="CLUTTER_KEY_dead_doublegrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="270"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_e" value="65154" c:type="CLUTTER_KEY_dead_e">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="286"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_grave"
              value="65104"
              c:type="CLUTTER_KEY_dead_grave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="245"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_greek"
              value="65164"
              c:type="CLUTTER_KEY_dead_greek">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="298"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_hamza"
              value="65165"
              c:type="CLUTTER_KEY_dead_hamza">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="299"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_hook"
              value="65121"
              c:type="CLUTTER_KEY_dead_hook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="263"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_horn"
              value="65122"
              c:type="CLUTTER_KEY_dead_horn">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="264"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_i" value="65156" c:type="CLUTTER_KEY_dead_i">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="288"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_invertedbreve"
              value="65133"
              c:type="CLUTTER_KEY_dead_invertedbreve">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="277"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_iota"
              value="65117"
              c:type="CLUTTER_KEY_dead_iota">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="259"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_longsolidusoverlay"
              value="65171"
              c:type="CLUTTER_KEY_dead_longsolidusoverlay">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="283"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_lowline"
              value="65168"
              c:type="CLUTTER_KEY_dead_lowline">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="280"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_macron"
              value="65108"
              c:type="CLUTTER_KEY_dead_macron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="250"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_o" value="65158" c:type="CLUTTER_KEY_dead_o">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="290"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_ogonek"
              value="65116"
              c:type="CLUTTER_KEY_dead_ogonek">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="258"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_perispomeni"
              value="65107"
              c:type="CLUTTER_KEY_dead_perispomeni">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="249"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_psili"
              value="65124"
              c:type="CLUTTER_KEY_dead_psili">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="267"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_schwa"
              value="65162"
              c:type="CLUTTER_KEY_dead_schwa">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="295"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_semivoiced_sound"
              value="65119"
              c:type="CLUTTER_KEY_dead_semivoiced_sound">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="261"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_small_schwa"
              value="65162"
              c:type="CLUTTER_KEY_dead_small_schwa">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="294"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_stroke"
              value="65123"
              c:type="CLUTTER_KEY_dead_stroke">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="265"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_tilde"
              value="65107"
              c:type="CLUTTER_KEY_dead_tilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="248"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_u" value="65160" c:type="CLUTTER_KEY_dead_u">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="292"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dead_voiced_sound"
              value="65118"
              c:type="CLUTTER_KEY_dead_voiced_sound">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="260"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_decimalpoint"
              value="2749"
              c:type="CLUTTER_KEY_decimalpoint">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1198"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_degree" value="176" c:type="CLUTTER_KEY_degree">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="496"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_diaeresis" value="168" c:type="CLUTTER_KEY_diaeresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="487"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_diamond" value="2797" c:type="CLUTTER_KEY_diamond">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1240"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_digitspace"
              value="2725"
              c:type="CLUTTER_KEY_digitspace">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1178"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dintegral"
              value="16785964"
              c:type="CLUTTER_KEY_dintegral">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1790"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_division" value="247" c:type="CLUTTER_KEY_division">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="572"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dollar" value="36" c:type="CLUTTER_KEY_dollar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="386"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_doubbaselinedot"
              value="2735"
              c:type="CLUTTER_KEY_doubbaselinedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1186"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_doubleacute"
              value="445"
              c:type="CLUTTER_KEY_doubleacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="603"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_doubledagger"
              value="2802"
              c:type="CLUTTER_KEY_doubledagger">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1244"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_doublelowquotemark"
              value="2814"
              c:type="CLUTTER_KEY_doublelowquotemark">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1256"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_downarrow" value="2302" c:type="CLUTTER_KEY_downarrow">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1149"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_downcaret" value="2984" c:type="CLUTTER_KEY_downcaret">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1260"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_downshoe" value="3030" c:type="CLUTTER_KEY_downshoe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1272"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_downstile" value="3012" c:type="CLUTTER_KEY_downstile">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1265"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_downtack" value="3010" c:type="CLUTTER_KEY_downtack">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1263"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_dstroke" value="496" c:type="CLUTTER_KEY_dstroke">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="630"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_e" value="101" c:type="CLUTTER_KEY_e">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="453"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_eabovedot" value="1004" c:type="CLUTTER_KEY_eabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="689"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_eacute" value="233" c:type="CLUTTER_KEY_eacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="558"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ebelowdot"
              value="16785081"
              c:type="CLUTTER_KEY_ebelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1680"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ecaron" value="492" c:type="CLUTTER_KEY_ecaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="628"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ecircumflex"
              value="234"
              c:type="CLUTTER_KEY_ecircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="559"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ecircumflexacute"
              value="16785087"
              c:type="CLUTTER_KEY_ecircumflexacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1686"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ecircumflexbelowdot"
              value="16785095"
              c:type="CLUTTER_KEY_ecircumflexbelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1694"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ecircumflexgrave"
              value="16785089"
              c:type="CLUTTER_KEY_ecircumflexgrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1688"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ecircumflexhook"
              value="16785091"
              c:type="CLUTTER_KEY_ecircumflexhook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1690"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ecircumflextilde"
              value="16785093"
              c:type="CLUTTER_KEY_ecircumflextilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1692"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ediaeresis"
              value="235"
              c:type="CLUTTER_KEY_ediaeresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="560"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_egrave" value="232" c:type="CLUTTER_KEY_egrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="557"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ehook" value="16785083" c:type="CLUTTER_KEY_ehook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1682"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_eightsubscript"
              value="16785544"
              c:type="CLUTTER_KEY_eightsubscript">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1780"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_eightsuperior"
              value="16785528"
              c:type="CLUTTER_KEY_eightsuperior">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1770"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_elementof"
              value="16785928"
              c:type="CLUTTER_KEY_elementof">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1784"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ellipsis" value="2734" c:type="CLUTTER_KEY_ellipsis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1185"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_em3space" value="2723" c:type="CLUTTER_KEY_em3space">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1176"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_em4space" value="2724" c:type="CLUTTER_KEY_em4space">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1177"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_emacron" value="954" c:type="CLUTTER_KEY_emacron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="672"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_emdash" value="2729" c:type="CLUTTER_KEY_emdash">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1182"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_emfilledcircle"
              value="2782"
              c:type="CLUTTER_KEY_emfilledcircle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1225"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_emfilledrect"
              value="2783"
              c:type="CLUTTER_KEY_emfilledrect">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1226"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_emopencircle"
              value="2766"
              c:type="CLUTTER_KEY_emopencircle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1210"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_emopenrectangle"
              value="2767"
              c:type="CLUTTER_KEY_emopenrectangle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1211"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_emptyset"
              value="16785925"
              c:type="CLUTTER_KEY_emptyset">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1783"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_emspace" value="2721" c:type="CLUTTER_KEY_emspace">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1174"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_endash" value="2730" c:type="CLUTTER_KEY_endash">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1183"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_enfilledcircbullet"
              value="2790"
              c:type="CLUTTER_KEY_enfilledcircbullet">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1233"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_enfilledsqbullet"
              value="2791"
              c:type="CLUTTER_KEY_enfilledsqbullet">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1234"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_eng" value="959" c:type="CLUTTER_KEY_eng">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="676"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_enopencircbullet"
              value="2784"
              c:type="CLUTTER_KEY_enopencircbullet">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1227"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_enopensquarebullet"
              value="2785"
              c:type="CLUTTER_KEY_enopensquarebullet">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1228"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_enspace" value="2722" c:type="CLUTTER_KEY_enspace">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1175"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_eogonek" value="490" c:type="CLUTTER_KEY_eogonek">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="627"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_equal" value="61" c:type="CLUTTER_KEY_equal">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="412"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_eth" value="240" c:type="CLUTTER_KEY_eth">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="565"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_etilde" value="16785085" c:type="CLUTTER_KEY_etilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1684"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_exclam" value="33" c:type="CLUTTER_KEY_exclam">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="383"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_exclamdown"
              value="161"
              c:type="CLUTTER_KEY_exclamdown">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="480"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ezh" value="16777874" c:type="CLUTTER_KEY_ezh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1652"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_f" value="102" c:type="CLUTTER_KEY_f">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="454"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_fabovedot"
              value="16784927"
              c:type="CLUTTER_KEY_fabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="706"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_femalesymbol"
              value="2808"
              c:type="CLUTTER_KEY_femalesymbol">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1250"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ff" value="2531" c:type="CLUTTER_KEY_ff">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1154"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_figdash" value="2747" c:type="CLUTTER_KEY_figdash">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1196"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_filledlefttribullet"
              value="2780"
              c:type="CLUTTER_KEY_filledlefttribullet">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1223"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_filledrectbullet"
              value="2779"
              c:type="CLUTTER_KEY_filledrectbullet">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1222"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_filledrighttribullet"
              value="2781"
              c:type="CLUTTER_KEY_filledrighttribullet">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1224"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_filledtribulletdown"
              value="2793"
              c:type="CLUTTER_KEY_filledtribulletdown">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1236"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_filledtribulletup"
              value="2792"
              c:type="CLUTTER_KEY_filledtribulletup">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1235"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_fiveeighths"
              value="2757"
              c:type="CLUTTER_KEY_fiveeighths">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1203"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_fivesixths"
              value="2743"
              c:type="CLUTTER_KEY_fivesixths">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1194"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_fivesubscript"
              value="16785541"
              c:type="CLUTTER_KEY_fivesubscript">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1777"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_fivesuperior"
              value="16785525"
              c:type="CLUTTER_KEY_fivesuperior">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1767"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_fourfifths"
              value="2741"
              c:type="CLUTTER_KEY_fourfifths">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1192"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_foursubscript"
              value="16785540"
              c:type="CLUTTER_KEY_foursubscript">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1776"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_foursuperior"
              value="16785524"
              c:type="CLUTTER_KEY_foursuperior">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1766"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_fourthroot"
              value="16785948"
              c:type="CLUTTER_KEY_fourthroot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1789"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_function" value="2294" c:type="CLUTTER_KEY_function">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1145"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_g" value="103" c:type="CLUTTER_KEY_g">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="455"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_gabovedot" value="757" c:type="CLUTTER_KEY_gabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="657"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_gbreve" value="699" c:type="CLUTTER_KEY_gbreve">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="647"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_gcaron" value="16777703" c:type="CLUTTER_KEY_gcaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1646"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_gcedilla" value="955" c:type="CLUTTER_KEY_gcedilla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="673"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_gcircumflex"
              value="760"
              c:type="CLUTTER_KEY_gcircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="658"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_grave" value="96" c:type="CLUTTER_KEY_grave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="447"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_greater" value="62" c:type="CLUTTER_KEY_greater">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="413"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_greaterthanequal"
              value="2238"
              c:type="CLUTTER_KEY_greaterthanequal">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1126"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_guillemetleft"
              value="171"
              c:type="CLUTTER_KEY_guillemetleft">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="491"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_guillemetright"
              value="187"
              c:type="CLUTTER_KEY_guillemetright">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="509"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_guillemotleft"
              value="171"
              c:type="CLUTTER_KEY_guillemotleft">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="490"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_guillemotright"
              value="187"
              c:type="CLUTTER_KEY_guillemotright">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="508"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_h" value="104" c:type="CLUTTER_KEY_h">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="456"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hairspace" value="2728" c:type="CLUTTER_KEY_hairspace">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1181"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hcircumflex"
              value="694"
              c:type="CLUTTER_KEY_hcircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="645"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_heart" value="2798" c:type="CLUTTER_KEY_heart">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1241"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_aleph"
              value="3296"
              c:type="CLUTTER_KEY_hebrew_aleph">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1278"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_ayin"
              value="3314"
              c:type="CLUTTER_KEY_hebrew_ayin">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1303"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_bet"
              value="3297"
              c:type="CLUTTER_KEY_hebrew_bet">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1279"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_beth"
              value="3297"
              c:type="CLUTTER_KEY_hebrew_beth">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1280"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_chet"
              value="3303"
              c:type="CLUTTER_KEY_hebrew_chet">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1289"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_dalet"
              value="3299"
              c:type="CLUTTER_KEY_hebrew_dalet">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1283"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_daleth"
              value="3299"
              c:type="CLUTTER_KEY_hebrew_daleth">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1284"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_doublelowline"
              value="3295"
              c:type="CLUTTER_KEY_hebrew_doublelowline">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1277"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_finalkaph"
              value="3306"
              c:type="CLUTTER_KEY_hebrew_finalkaph">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1294"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_finalmem"
              value="3309"
              c:type="CLUTTER_KEY_hebrew_finalmem">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1297"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_finalnun"
              value="3311"
              c:type="CLUTTER_KEY_hebrew_finalnun">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1299"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_finalpe"
              value="3315"
              c:type="CLUTTER_KEY_hebrew_finalpe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1304"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_finalzade"
              value="3317"
              c:type="CLUTTER_KEY_hebrew_finalzade">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1306"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_finalzadi"
              value="3317"
              c:type="CLUTTER_KEY_hebrew_finalzadi">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1307"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_gimel"
              value="3298"
              c:type="CLUTTER_KEY_hebrew_gimel">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1281"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_gimmel"
              value="3298"
              c:type="CLUTTER_KEY_hebrew_gimmel">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1282"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_he" value="3300" c:type="CLUTTER_KEY_hebrew_he">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1285"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_het"
              value="3303"
              c:type="CLUTTER_KEY_hebrew_het">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1290"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_kaph"
              value="3307"
              c:type="CLUTTER_KEY_hebrew_kaph">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1295"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_kuf"
              value="3319"
              c:type="CLUTTER_KEY_hebrew_kuf">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1311"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_lamed"
              value="3308"
              c:type="CLUTTER_KEY_hebrew_lamed">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1296"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_mem"
              value="3310"
              c:type="CLUTTER_KEY_hebrew_mem">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1298"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_nun"
              value="3312"
              c:type="CLUTTER_KEY_hebrew_nun">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1300"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_pe" value="3316" c:type="CLUTTER_KEY_hebrew_pe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1305"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_qoph"
              value="3319"
              c:type="CLUTTER_KEY_hebrew_qoph">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1310"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_resh"
              value="3320"
              c:type="CLUTTER_KEY_hebrew_resh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1312"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_samech"
              value="3313"
              c:type="CLUTTER_KEY_hebrew_samech">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1301"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_samekh"
              value="3313"
              c:type="CLUTTER_KEY_hebrew_samekh">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1302"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_shin"
              value="3321"
              c:type="CLUTTER_KEY_hebrew_shin">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1313"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_taf"
              value="3322"
              c:type="CLUTTER_KEY_hebrew_taf">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1315"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_taw"
              value="3322"
              c:type="CLUTTER_KEY_hebrew_taw">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1314"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_tet"
              value="3304"
              c:type="CLUTTER_KEY_hebrew_tet">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1291"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_teth"
              value="3304"
              c:type="CLUTTER_KEY_hebrew_teth">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1292"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_waw"
              value="3301"
              c:type="CLUTTER_KEY_hebrew_waw">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1286"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_yod"
              value="3305"
              c:type="CLUTTER_KEY_hebrew_yod">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1293"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_zade"
              value="3318"
              c:type="CLUTTER_KEY_hebrew_zade">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1308"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_zadi"
              value="3318"
              c:type="CLUTTER_KEY_hebrew_zadi">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1309"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_zain"
              value="3302"
              c:type="CLUTTER_KEY_hebrew_zain">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1287"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hebrew_zayin"
              value="3302"
              c:type="CLUTTER_KEY_hebrew_zayin">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1288"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hexagram" value="2778" c:type="CLUTTER_KEY_hexagram">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1221"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_horizconnector"
              value="2211"
              c:type="CLUTTER_KEY_horizconnector">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1103"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_horizlinescan1"
              value="2543"
              c:type="CLUTTER_KEY_horizlinescan1">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1164"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_horizlinescan3"
              value="2544"
              c:type="CLUTTER_KEY_horizlinescan3">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1165"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_horizlinescan5"
              value="2545"
              c:type="CLUTTER_KEY_horizlinescan5">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1166"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_horizlinescan7"
              value="2546"
              c:type="CLUTTER_KEY_horizlinescan7">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1167"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_horizlinescan9"
              value="2547"
              c:type="CLUTTER_KEY_horizlinescan9">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1168"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hstroke" value="689" c:type="CLUTTER_KEY_hstroke">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="644"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ht" value="2530" c:type="CLUTTER_KEY_ht">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1153"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_hyphen" value="173" c:type="CLUTTER_KEY_hyphen">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="493"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_i" value="105" c:type="CLUTTER_KEY_i">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="457"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_iTouch" value="269025120" c:type="CLUTTER_KEY_iTouch">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="2229"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_iacute" value="237" c:type="CLUTTER_KEY_iacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="562"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ibelowdot"
              value="16785099"
              c:type="CLUTTER_KEY_ibelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1698"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ibreve" value="16777517" c:type="CLUTTER_KEY_ibreve">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1644"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_icircumflex"
              value="238"
              c:type="CLUTTER_KEY_icircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="563"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_identical" value="2255" c:type="CLUTTER_KEY_identical">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1136"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_idiaeresis"
              value="239"
              c:type="CLUTTER_KEY_idiaeresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="564"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_idotless" value="697" c:type="CLUTTER_KEY_idotless">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="646"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ifonlyif" value="2253" c:type="CLUTTER_KEY_ifonlyif">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1134"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_igrave" value="236" c:type="CLUTTER_KEY_igrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="561"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ihook" value="16785097" c:type="CLUTTER_KEY_ihook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1696"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_imacron" value="1007" c:type="CLUTTER_KEY_imacron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="690"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_implies" value="2254" c:type="CLUTTER_KEY_implies">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1135"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_includedin"
              value="2266"
              c:type="CLUTTER_KEY_includedin">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1138"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_includes" value="2267" c:type="CLUTTER_KEY_includes">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1139"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_infinity" value="2242" c:type="CLUTTER_KEY_infinity">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1130"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_integral" value="2239" c:type="CLUTTER_KEY_integral">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1127"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_intersection"
              value="2268"
              c:type="CLUTTER_KEY_intersection">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1140"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_iogonek" value="999" c:type="CLUTTER_KEY_iogonek">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="688"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_itilde" value="949" c:type="CLUTTER_KEY_itilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="670"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_j" value="106" c:type="CLUTTER_KEY_j">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="458"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_jcircumflex"
              value="700"
              c:type="CLUTTER_KEY_jcircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="648"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_jot" value="3018" c:type="CLUTTER_KEY_jot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1267"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_k" value="107" c:type="CLUTTER_KEY_k">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="459"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_A" value="1201" c:type="CLUTTER_KEY_kana_A">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="745"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_CHI" value="1217" c:type="CLUTTER_KEY_kana_CHI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="761"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_E" value="1204" c:type="CLUTTER_KEY_kana_E">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="748"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_FU" value="1228" c:type="CLUTTER_KEY_kana_FU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="774"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_HA" value="1226" c:type="CLUTTER_KEY_kana_HA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="772"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_HE" value="1229" c:type="CLUTTER_KEY_kana_HE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="776"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_HI" value="1227" c:type="CLUTTER_KEY_kana_HI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="773"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_HO" value="1230" c:type="CLUTTER_KEY_kana_HO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="777"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_HU" value="1228" c:type="CLUTTER_KEY_kana_HU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="775"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_I" value="1202" c:type="CLUTTER_KEY_kana_I">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="746"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_KA" value="1206" c:type="CLUTTER_KEY_kana_KA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="750"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_KE" value="1209" c:type="CLUTTER_KEY_kana_KE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="753"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_KI" value="1207" c:type="CLUTTER_KEY_kana_KI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="751"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_KO" value="1210" c:type="CLUTTER_KEY_kana_KO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="754"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_KU" value="1208" c:type="CLUTTER_KEY_kana_KU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="752"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_MA" value="1231" c:type="CLUTTER_KEY_kana_MA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="778"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_ME" value="1234" c:type="CLUTTER_KEY_kana_ME">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="781"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_MI" value="1232" c:type="CLUTTER_KEY_kana_MI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="779"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_MO" value="1235" c:type="CLUTTER_KEY_kana_MO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="782"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_MU" value="1233" c:type="CLUTTER_KEY_kana_MU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="780"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_N" value="1245" c:type="CLUTTER_KEY_kana_N">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="792"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_NA" value="1221" c:type="CLUTTER_KEY_kana_NA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="767"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_NE" value="1224" c:type="CLUTTER_KEY_kana_NE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="770"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_NI" value="1222" c:type="CLUTTER_KEY_kana_NI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="768"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_NO" value="1225" c:type="CLUTTER_KEY_kana_NO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="771"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_NU" value="1223" c:type="CLUTTER_KEY_kana_NU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="769"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_O" value="1205" c:type="CLUTTER_KEY_kana_O">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="749"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_RA" value="1239" c:type="CLUTTER_KEY_kana_RA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="786"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_RE" value="1242" c:type="CLUTTER_KEY_kana_RE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="789"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_RI" value="1240" c:type="CLUTTER_KEY_kana_RI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="787"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_RO" value="1243" c:type="CLUTTER_KEY_kana_RO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="790"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_RU" value="1241" c:type="CLUTTER_KEY_kana_RU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="788"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_SA" value="1211" c:type="CLUTTER_KEY_kana_SA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="755"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_SE" value="1214" c:type="CLUTTER_KEY_kana_SE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="758"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_SHI" value="1212" c:type="CLUTTER_KEY_kana_SHI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="756"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_SO" value="1215" c:type="CLUTTER_KEY_kana_SO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="759"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_SU" value="1213" c:type="CLUTTER_KEY_kana_SU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="757"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_TA" value="1216" c:type="CLUTTER_KEY_kana_TA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="760"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_TE" value="1219" c:type="CLUTTER_KEY_kana_TE">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="765"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_TI" value="1217" c:type="CLUTTER_KEY_kana_TI">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="762"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_TO" value="1220" c:type="CLUTTER_KEY_kana_TO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="766"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_TSU" value="1218" c:type="CLUTTER_KEY_kana_TSU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="763"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_TU" value="1218" c:type="CLUTTER_KEY_kana_TU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="764"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_U" value="1203" c:type="CLUTTER_KEY_kana_U">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="747"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_WA" value="1244" c:type="CLUTTER_KEY_kana_WA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="791"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_WO" value="1190" c:type="CLUTTER_KEY_kana_WO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="733"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_YA" value="1236" c:type="CLUTTER_KEY_kana_YA">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="783"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_YO" value="1238" c:type="CLUTTER_KEY_kana_YO">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="785"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_YU" value="1237" c:type="CLUTTER_KEY_kana_YU">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="784"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_a" value="1191" c:type="CLUTTER_KEY_kana_a">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="734"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_closingbracket"
              value="1187"
              c:type="CLUTTER_KEY_kana_closingbracket">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="729"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_comma"
              value="1188"
              c:type="CLUTTER_KEY_kana_comma">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="730"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_conjunctive"
              value="1189"
              c:type="CLUTTER_KEY_kana_conjunctive">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="731"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_e" value="1194" c:type="CLUTTER_KEY_kana_e">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="737"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_fullstop"
              value="1185"
              c:type="CLUTTER_KEY_kana_fullstop">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="727"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_i" value="1192" c:type="CLUTTER_KEY_kana_i">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="735"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_middledot"
              value="1189"
              c:type="CLUTTER_KEY_kana_middledot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="732"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_o" value="1195" c:type="CLUTTER_KEY_kana_o">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="738"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_openingbracket"
              value="1186"
              c:type="CLUTTER_KEY_kana_openingbracket">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="728"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_switch"
              value="65406"
              c:type="CLUTTER_KEY_kana_switch">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="795"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_tsu" value="1199" c:type="CLUTTER_KEY_kana_tsu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="742"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_tu" value="1199" c:type="CLUTTER_KEY_kana_tu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="743"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_u" value="1193" c:type="CLUTTER_KEY_kana_u">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="736"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_ya" value="1196" c:type="CLUTTER_KEY_kana_ya">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="739"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_yo" value="1198" c:type="CLUTTER_KEY_kana_yo">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="741"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kana_yu" value="1197" c:type="CLUTTER_KEY_kana_yu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="740"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kappa" value="930" c:type="CLUTTER_KEY_kappa">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="662"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kcedilla" value="1011" c:type="CLUTTER_KEY_kcedilla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="693"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_kra" value="930" c:type="CLUTTER_KEY_kra">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="661"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_l" value="108" c:type="CLUTTER_KEY_l">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="460"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_lacute" value="485" c:type="CLUTTER_KEY_lacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="624"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_latincross"
              value="2777"
              c:type="CLUTTER_KEY_latincross">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1220"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_lbelowdot"
              value="16784951"
              c:type="CLUTTER_KEY_lbelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1654"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_lcaron" value="437" c:type="CLUTTER_KEY_lcaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="596"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_lcedilla" value="950" c:type="CLUTTER_KEY_lcedilla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="671"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_leftanglebracket"
              value="2748"
              c:type="CLUTTER_KEY_leftanglebracket">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1197"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_leftarrow" value="2299" c:type="CLUTTER_KEY_leftarrow">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1146"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_leftcaret" value="2979" c:type="CLUTTER_KEY_leftcaret">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1258"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_leftdoublequotemark"
              value="2770"
              c:type="CLUTTER_KEY_leftdoublequotemark">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1214"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_leftmiddlecurlybrace"
              value="2223"
              c:type="CLUTTER_KEY_leftmiddlecurlybrace">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1115"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_leftopentriangle"
              value="2764"
              c:type="CLUTTER_KEY_leftopentriangle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1208"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_leftpointer"
              value="2794"
              c:type="CLUTTER_KEY_leftpointer">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1237"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_leftradical"
              value="2209"
              c:type="CLUTTER_KEY_leftradical">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1101"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_leftshoe" value="3034" c:type="CLUTTER_KEY_leftshoe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1274"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_leftsinglequotemark"
              value="2768"
              c:type="CLUTTER_KEY_leftsinglequotemark">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1212"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_leftt" value="2548" c:type="CLUTTER_KEY_leftt">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1169"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_lefttack" value="3036" c:type="CLUTTER_KEY_lefttack">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1275"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_less" value="60" c:type="CLUTTER_KEY_less">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="411"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_lessthanequal"
              value="2236"
              c:type="CLUTTER_KEY_lessthanequal">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1124"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_lf" value="2533" c:type="CLUTTER_KEY_lf">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1156"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_logicaland"
              value="2270"
              c:type="CLUTTER_KEY_logicaland">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1142"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_logicalor" value="2271" c:type="CLUTTER_KEY_logicalor">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1143"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_lowleftcorner"
              value="2541"
              c:type="CLUTTER_KEY_lowleftcorner">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1162"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_lowrightcorner"
              value="2538"
              c:type="CLUTTER_KEY_lowrightcorner">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1159"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_lstroke" value="435" c:type="CLUTTER_KEY_lstroke">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="595"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_m" value="109" c:type="CLUTTER_KEY_m">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="461"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_mabovedot"
              value="16784961"
              c:type="CLUTTER_KEY_mabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="708"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_macron" value="175" c:type="CLUTTER_KEY_macron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="495"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_malesymbol"
              value="2807"
              c:type="CLUTTER_KEY_malesymbol">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1249"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_maltesecross"
              value="2800"
              c:type="CLUTTER_KEY_maltesecross">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1242"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_marker" value="2751" c:type="CLUTTER_KEY_marker">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1200"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_masculine" value="186" c:type="CLUTTER_KEY_masculine">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="506"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_minus" value="45" c:type="CLUTTER_KEY_minus">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="396"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_minutes" value="2774" c:type="CLUTTER_KEY_minutes">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1218"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_mu" value="181" c:type="CLUTTER_KEY_mu">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="501"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_multiply" value="215" c:type="CLUTTER_KEY_multiply">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="538"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_musicalflat"
              value="2806"
              c:type="CLUTTER_KEY_musicalflat">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1248"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_musicalsharp"
              value="2805"
              c:type="CLUTTER_KEY_musicalsharp">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1247"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_n" value="110" c:type="CLUTTER_KEY_n">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="462"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_nabla" value="2245" c:type="CLUTTER_KEY_nabla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1131"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_nacute" value="497" c:type="CLUTTER_KEY_nacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="631"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ncaron" value="498" c:type="CLUTTER_KEY_ncaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="632"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ncedilla" value="1009" c:type="CLUTTER_KEY_ncedilla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="691"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ninesubscript"
              value="16785545"
              c:type="CLUTTER_KEY_ninesubscript">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1781"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ninesuperior"
              value="16785529"
              c:type="CLUTTER_KEY_ninesuperior">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1771"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_nl" value="2536" c:type="CLUTTER_KEY_nl">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1157"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_nobreakspace"
              value="160"
              c:type="CLUTTER_KEY_nobreakspace">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="479"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_notapproxeq"
              value="16785991"
              c:type="CLUTTER_KEY_notapproxeq">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1794"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_notelementof"
              value="16785929"
              c:type="CLUTTER_KEY_notelementof">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1785"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_notequal" value="2237" c:type="CLUTTER_KEY_notequal">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1125"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_notidentical"
              value="16786018"
              c:type="CLUTTER_KEY_notidentical">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1795"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_notsign" value="172" c:type="CLUTTER_KEY_notsign">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="492"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ntilde" value="241" c:type="CLUTTER_KEY_ntilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="566"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_numbersign" value="35" c:type="CLUTTER_KEY_numbersign">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="385"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_numerosign"
              value="1712"
              c:type="CLUTTER_KEY_numerosign">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="939"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_o" value="111" c:type="CLUTTER_KEY_o">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="463"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_oacute" value="243" c:type="CLUTTER_KEY_oacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="568"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_obarred" value="16777845" c:type="CLUTTER_KEY_obarred">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1648"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_obelowdot"
              value="16785101"
              c:type="CLUTTER_KEY_obelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1700"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ocaron" value="16777682" c:type="CLUTTER_KEY_ocaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1647"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ocircumflex"
              value="244"
              c:type="CLUTTER_KEY_ocircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="569"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ocircumflexacute"
              value="16785105"
              c:type="CLUTTER_KEY_ocircumflexacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1704"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ocircumflexbelowdot"
              value="16785113"
              c:type="CLUTTER_KEY_ocircumflexbelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1712"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ocircumflexgrave"
              value="16785107"
              c:type="CLUTTER_KEY_ocircumflexgrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1706"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ocircumflexhook"
              value="16785109"
              c:type="CLUTTER_KEY_ocircumflexhook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1708"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ocircumflextilde"
              value="16785111"
              c:type="CLUTTER_KEY_ocircumflextilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1710"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_odiaeresis"
              value="246"
              c:type="CLUTTER_KEY_odiaeresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="571"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_odoubleacute"
              value="501"
              c:type="CLUTTER_KEY_odoubleacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="633"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_oe" value="5053" c:type="CLUTTER_KEY_oe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="724"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ogonek" value="434" c:type="CLUTTER_KEY_ogonek">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="594"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ograve" value="242" c:type="CLUTTER_KEY_ograve">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="567"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ohook" value="16785103" c:type="CLUTTER_KEY_ohook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1702"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ohorn" value="16777633" c:type="CLUTTER_KEY_ohorn">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1744"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ohornacute"
              value="16785115"
              c:type="CLUTTER_KEY_ohornacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1714"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ohornbelowdot"
              value="16785123"
              c:type="CLUTTER_KEY_ohornbelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1722"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ohorngrave"
              value="16785117"
              c:type="CLUTTER_KEY_ohorngrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1716"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ohornhook"
              value="16785119"
              c:type="CLUTTER_KEY_ohornhook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1718"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ohorntilde"
              value="16785121"
              c:type="CLUTTER_KEY_ohorntilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1720"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_omacron" value="1010" c:type="CLUTTER_KEY_omacron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="692"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_oneeighth" value="2755" c:type="CLUTTER_KEY_oneeighth">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1201"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_onefifth" value="2738" c:type="CLUTTER_KEY_onefifth">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1189"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_onehalf" value="189" c:type="CLUTTER_KEY_onehalf">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="511"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_onequarter"
              value="188"
              c:type="CLUTTER_KEY_onequarter">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="510"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_onesixth" value="2742" c:type="CLUTTER_KEY_onesixth">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1193"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_onesubscript"
              value="16785537"
              c:type="CLUTTER_KEY_onesubscript">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1773"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_onesuperior"
              value="185"
              c:type="CLUTTER_KEY_onesuperior">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="505"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_onethird" value="2736" c:type="CLUTTER_KEY_onethird">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1187"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ooblique" value="248" c:type="CLUTTER_KEY_ooblique">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="574"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_openrectbullet"
              value="2786"
              c:type="CLUTTER_KEY_openrectbullet">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1229"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_openstar" value="2789" c:type="CLUTTER_KEY_openstar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1232"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_opentribulletdown"
              value="2788"
              c:type="CLUTTER_KEY_opentribulletdown">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1231"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_opentribulletup"
              value="2787"
              c:type="CLUTTER_KEY_opentribulletup">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1230"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ordfeminine"
              value="170"
              c:type="CLUTTER_KEY_ordfeminine">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="489"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ordmasculine"
              value="186"
              c:type="CLUTTER_KEY_ordmasculine">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="507"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_oslash" value="248" c:type="CLUTTER_KEY_oslash">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="573"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_otilde" value="245" c:type="CLUTTER_KEY_otilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="570"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_overbar" value="3008" c:type="CLUTTER_KEY_overbar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1262"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_overline" value="1150" c:type="CLUTTER_KEY_overline">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="726"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_p" value="112" c:type="CLUTTER_KEY_p">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="464"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_pabovedot"
              value="16784983"
              c:type="CLUTTER_KEY_pabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="710"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_paragraph" value="182" c:type="CLUTTER_KEY_paragraph">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="502"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_parenleft" value="40" c:type="CLUTTER_KEY_parenleft">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="391"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_parenright" value="41" c:type="CLUTTER_KEY_parenright">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="392"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_partdifferential"
              value="16785922"
              c:type="CLUTTER_KEY_partdifferential">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1782"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_partialderivative"
              value="2287"
              c:type="CLUTTER_KEY_partialderivative">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1144"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_percent" value="37" c:type="CLUTTER_KEY_percent">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="387"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_period" value="46" c:type="CLUTTER_KEY_period">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="397"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_periodcentered"
              value="183"
              c:type="CLUTTER_KEY_periodcentered">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="503"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_permille" value="2773" c:type="CLUTTER_KEY_permille">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1217"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_phonographcopyright"
              value="2811"
              c:type="CLUTTER_KEY_phonographcopyright">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1253"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_plus" value="43" c:type="CLUTTER_KEY_plus">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="394"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_plusminus" value="177" c:type="CLUTTER_KEY_plusminus">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="497"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_prescription"
              value="2772"
              c:type="CLUTTER_KEY_prescription">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1216"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_prolongedsound"
              value="1200"
              c:type="CLUTTER_KEY_prolongedsound">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="744"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_punctspace"
              value="2726"
              c:type="CLUTTER_KEY_punctspace">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1179"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_q" value="113" c:type="CLUTTER_KEY_q">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="465"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_quad" value="3020" c:type="CLUTTER_KEY_quad">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1268"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_question" value="63" c:type="CLUTTER_KEY_question">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="414"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_questiondown"
              value="191"
              c:type="CLUTTER_KEY_questiondown">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="513"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_quotedbl" value="34" c:type="CLUTTER_KEY_quotedbl">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="384"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_quoteleft" value="96" c:type="CLUTTER_KEY_quoteleft">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="448"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_quoteright" value="39" c:type="CLUTTER_KEY_quoteright">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="390"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_r" value="114" c:type="CLUTTER_KEY_r">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="466"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_racute" value="480" c:type="CLUTTER_KEY_racute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="622"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_radical" value="2262" c:type="CLUTTER_KEY_radical">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1137"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_rcaron" value="504" c:type="CLUTTER_KEY_rcaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="634"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_rcedilla" value="947" c:type="CLUTTER_KEY_rcedilla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="669"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_registered"
              value="174"
              c:type="CLUTTER_KEY_registered">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="494"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_rightanglebracket"
              value="2750"
              c:type="CLUTTER_KEY_rightanglebracket">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1199"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_rightarrow"
              value="2301"
              c:type="CLUTTER_KEY_rightarrow">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1148"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_rightcaret"
              value="2982"
              c:type="CLUTTER_KEY_rightcaret">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1259"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_rightdoublequotemark"
              value="2771"
              c:type="CLUTTER_KEY_rightdoublequotemark">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1215"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_rightmiddlecurlybrace"
              value="2224"
              c:type="CLUTTER_KEY_rightmiddlecurlybrace">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1116"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_rightmiddlesummation"
              value="2231"
              c:type="CLUTTER_KEY_rightmiddlesummation">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1123"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_rightopentriangle"
              value="2765"
              c:type="CLUTTER_KEY_rightopentriangle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1209"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_rightpointer"
              value="2795"
              c:type="CLUTTER_KEY_rightpointer">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1238"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_rightshoe" value="3032" c:type="CLUTTER_KEY_rightshoe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1273"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_rightsinglequotemark"
              value="2769"
              c:type="CLUTTER_KEY_rightsinglequotemark">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1213"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_rightt" value="2549" c:type="CLUTTER_KEY_rightt">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1170"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_righttack" value="3068" c:type="CLUTTER_KEY_righttack">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1276"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_s" value="115" c:type="CLUTTER_KEY_s">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="467"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_sabovedot"
              value="16784993"
              c:type="CLUTTER_KEY_sabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="712"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_sacute" value="438" c:type="CLUTTER_KEY_sacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="597"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_scaron" value="441" c:type="CLUTTER_KEY_scaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="599"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_scedilla" value="442" c:type="CLUTTER_KEY_scedilla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="600"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_schwa" value="16777817" c:type="CLUTTER_KEY_schwa">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1650"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_scircumflex"
              value="766"
              c:type="CLUTTER_KEY_scircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="660"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_script_switch"
              value="65406"
              c:type="CLUTTER_KEY_script_switch">
      <source-position filename="clutter/clutter/clutter-keysyms.h" line="92"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_seconds" value="2775" c:type="CLUTTER_KEY_seconds">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1219"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_section" value="167" c:type="CLUTTER_KEY_section">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="486"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_semicolon" value="59" c:type="CLUTTER_KEY_semicolon">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="410"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_semivoicedsound"
              value="1247"
              c:type="CLUTTER_KEY_semivoicedsound">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="794"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_seveneighths"
              value="2758"
              c:type="CLUTTER_KEY_seveneighths">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1204"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_sevensubscript"
              value="16785543"
              c:type="CLUTTER_KEY_sevensubscript">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1779"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_sevensuperior"
              value="16785527"
              c:type="CLUTTER_KEY_sevensuperior">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1769"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_signaturemark"
              value="2762"
              c:type="CLUTTER_KEY_signaturemark">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1206"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_signifblank"
              value="2732"
              c:type="CLUTTER_KEY_signifblank">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1184"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_similarequal"
              value="2249"
              c:type="CLUTTER_KEY_similarequal">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1133"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_singlelowquotemark"
              value="2813"
              c:type="CLUTTER_KEY_singlelowquotemark">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1255"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_sixsubscript"
              value="16785542"
              c:type="CLUTTER_KEY_sixsubscript">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1778"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_sixsuperior"
              value="16785526"
              c:type="CLUTTER_KEY_sixsuperior">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1768"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_slash" value="47" c:type="CLUTTER_KEY_slash">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="398"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_soliddiamond"
              value="2528"
              c:type="CLUTTER_KEY_soliddiamond">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1151"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_space" value="32" c:type="CLUTTER_KEY_space">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="382"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_squareroot"
              value="16785946"
              c:type="CLUTTER_KEY_squareroot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1787"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ssharp" value="223" c:type="CLUTTER_KEY_ssharp">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="548"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_sterling" value="163" c:type="CLUTTER_KEY_sterling">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="482"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_stricteq"
              value="16786019"
              c:type="CLUTTER_KEY_stricteq">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1796"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_t" value="116" c:type="CLUTTER_KEY_t">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="468"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_tabovedot"
              value="16785003"
              c:type="CLUTTER_KEY_tabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="714"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_tcaron" value="443" c:type="CLUTTER_KEY_tcaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="601"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_tcedilla" value="510" c:type="CLUTTER_KEY_tcedilla">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="637"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_telephone" value="2809" c:type="CLUTTER_KEY_telephone">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1251"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_telephonerecorder"
              value="2810"
              c:type="CLUTTER_KEY_telephonerecorder">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1252"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_therefore" value="2240" c:type="CLUTTER_KEY_therefore">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1128"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_thinspace" value="2727" c:type="CLUTTER_KEY_thinspace">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1180"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_thorn" value="254" c:type="CLUTTER_KEY_thorn">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="580"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_threeeighths"
              value="2756"
              c:type="CLUTTER_KEY_threeeighths">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1202"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_threefifths"
              value="2740"
              c:type="CLUTTER_KEY_threefifths">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1191"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_threequarters"
              value="190"
              c:type="CLUTTER_KEY_threequarters">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="512"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_threesubscript"
              value="16785539"
              c:type="CLUTTER_KEY_threesubscript">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1775"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_threesuperior"
              value="179"
              c:type="CLUTTER_KEY_threesuperior">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="499"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_tintegral"
              value="16785965"
              c:type="CLUTTER_KEY_tintegral">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1791"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_topintegral"
              value="2212"
              c:type="CLUTTER_KEY_topintegral">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1104"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_topleftparens"
              value="2219"
              c:type="CLUTTER_KEY_topleftparens">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1111"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_topleftradical"
              value="2210"
              c:type="CLUTTER_KEY_topleftradical">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1102"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_topleftsqbracket"
              value="2215"
              c:type="CLUTTER_KEY_topleftsqbracket">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1107"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_topleftsummation"
              value="2225"
              c:type="CLUTTER_KEY_topleftsummation">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1117"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_toprightparens"
              value="2221"
              c:type="CLUTTER_KEY_toprightparens">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1113"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_toprightsqbracket"
              value="2217"
              c:type="CLUTTER_KEY_toprightsqbracket">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1109"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_toprightsummation"
              value="2229"
              c:type="CLUTTER_KEY_toprightsummation">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1121"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_topt" value="2551" c:type="CLUTTER_KEY_topt">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1172"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_topvertsummationconnector"
              value="2227"
              c:type="CLUTTER_KEY_topvertsummationconnector">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1119"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_trademark" value="2761" c:type="CLUTTER_KEY_trademark">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1205"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_trademarkincircle"
              value="2763"
              c:type="CLUTTER_KEY_trademarkincircle">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1207"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_tslash" value="956" c:type="CLUTTER_KEY_tslash">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="674"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_twofifths" value="2739" c:type="CLUTTER_KEY_twofifths">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1190"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_twosubscript"
              value="16785538"
              c:type="CLUTTER_KEY_twosubscript">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1774"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_twosuperior"
              value="178"
              c:type="CLUTTER_KEY_twosuperior">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="498"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_twothirds" value="2737" c:type="CLUTTER_KEY_twothirds">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1188"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_u" value="117" c:type="CLUTTER_KEY_u">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="469"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_uacute" value="250" c:type="CLUTTER_KEY_uacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="576"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ubelowdot"
              value="16785125"
              c:type="CLUTTER_KEY_ubelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1724"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ubreve" value="765" c:type="CLUTTER_KEY_ubreve">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="659"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ucircumflex"
              value="251"
              c:type="CLUTTER_KEY_ucircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="577"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_udiaeresis"
              value="252"
              c:type="CLUTTER_KEY_udiaeresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="578"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_udoubleacute"
              value="507"
              c:type="CLUTTER_KEY_udoubleacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="636"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ugrave" value="249" c:type="CLUTTER_KEY_ugrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="575"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_uhook" value="16785127" c:type="CLUTTER_KEY_uhook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1726"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_uhorn" value="16777648" c:type="CLUTTER_KEY_uhorn">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1746"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_uhornacute"
              value="16785129"
              c:type="CLUTTER_KEY_uhornacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1728"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_uhornbelowdot"
              value="16785137"
              c:type="CLUTTER_KEY_uhornbelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1736"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_uhorngrave"
              value="16785131"
              c:type="CLUTTER_KEY_uhorngrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1730"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_uhornhook"
              value="16785133"
              c:type="CLUTTER_KEY_uhornhook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1732"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_uhorntilde"
              value="16785135"
              c:type="CLUTTER_KEY_uhorntilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1734"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_umacron" value="1022" c:type="CLUTTER_KEY_umacron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="696"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_underbar" value="3014" c:type="CLUTTER_KEY_underbar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1266"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_underscore" value="95" c:type="CLUTTER_KEY_underscore">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="446"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_union" value="2269" c:type="CLUTTER_KEY_union">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1141"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_uogonek" value="1017" c:type="CLUTTER_KEY_uogonek">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="694"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_uparrow" value="2300" c:type="CLUTTER_KEY_uparrow">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1147"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_upcaret" value="2985" c:type="CLUTTER_KEY_upcaret">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1261"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_upleftcorner"
              value="2540"
              c:type="CLUTTER_KEY_upleftcorner">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1161"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_uprightcorner"
              value="2539"
              c:type="CLUTTER_KEY_uprightcorner">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1160"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_upshoe" value="3011" c:type="CLUTTER_KEY_upshoe">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1264"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_upstile" value="3027" c:type="CLUTTER_KEY_upstile">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1271"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_uptack" value="3022" c:type="CLUTTER_KEY_uptack">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1269"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_uring" value="505" c:type="CLUTTER_KEY_uring">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="635"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_utilde" value="1021" c:type="CLUTTER_KEY_utilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="695"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_v" value="118" c:type="CLUTTER_KEY_v">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="470"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_variation" value="2241" c:type="CLUTTER_KEY_variation">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1129"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_vertbar" value="2552" c:type="CLUTTER_KEY_vertbar">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1173"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_vertconnector"
              value="2214"
              c:type="CLUTTER_KEY_vertconnector">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1106"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_voicedsound"
              value="1246"
              c:type="CLUTTER_KEY_voicedsound">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="793"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_vt" value="2537" c:type="CLUTTER_KEY_vt">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1158"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_w" value="119" c:type="CLUTTER_KEY_w">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="471"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_wacute" value="16785027" c:type="CLUTTER_KEY_wacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="718"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_wcircumflex"
              value="16777589"
              c:type="CLUTTER_KEY_wcircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="698"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_wdiaeresis"
              value="16785029"
              c:type="CLUTTER_KEY_wdiaeresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="720"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_wgrave" value="16785025" c:type="CLUTTER_KEY_wgrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="716"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_x" value="120" c:type="CLUTTER_KEY_x">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="472"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_xabovedot"
              value="16785035"
              c:type="CLUTTER_KEY_xabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1643"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_y" value="121" c:type="CLUTTER_KEY_y">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="473"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_yacute" value="253" c:type="CLUTTER_KEY_yacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="579"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ybelowdot"
              value="16785141"
              c:type="CLUTTER_KEY_ybelowdot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1738"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ycircumflex"
              value="16777591"
              c:type="CLUTTER_KEY_ycircumflex">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="700"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ydiaeresis"
              value="255"
              c:type="CLUTTER_KEY_ydiaeresis">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="581"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_yen" value="165" c:type="CLUTTER_KEY_yen">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="484"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ygrave" value="16785139" c:type="CLUTTER_KEY_ygrave">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="722"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_yhook" value="16785143" c:type="CLUTTER_KEY_yhook">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1740"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_ytilde" value="16785145" c:type="CLUTTER_KEY_ytilde">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1742"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_z" value="122" c:type="CLUTTER_KEY_z">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="474"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_zabovedot" value="447" c:type="CLUTTER_KEY_zabovedot">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="605"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_zacute" value="444" c:type="CLUTTER_KEY_zacute">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="602"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_zcaron" value="446" c:type="CLUTTER_KEY_zcaron">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="604"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_zerosubscript"
              value="16785536"
              c:type="CLUTTER_KEY_zerosubscript">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1772"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_zerosuperior"
              value="16785520"
              c:type="CLUTTER_KEY_zerosuperior">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1765"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="KEY_zstroke" value="16777654" c:type="CLUTTER_KEY_zstroke">
      <source-position filename="clutter/clutter/clutter-keysyms.h"
                       line="1645"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <record name="KeyEvent" c:type="ClutterKeyEvent" disguised="1" opaque="1">
      <source-position filename="clutter/clutter/clutter-event.h" line="97"/>
    </record>
    <class name="KeyFocus"
           c:symbol-prefix="key_focus"
           c:type="ClutterKeyFocus"
           parent="Focus"
           glib:type-name="ClutterKeyFocus"
           glib:get-type="clutter_key_focus_get_type"
           glib:type-struct="KeyFocusClass">
      <source-position filename="clutter/clutter/clutter-key-focus.h"
                       line="45"/>
      <field name="parent_instance">
        <type name="Focus" c:type="ClutterFocus"/>
      </field>
    </class>
    <record name="KeyFocusClass"
            c:type="ClutterKeyFocusClass"
            glib:is-gtype-struct-for="KeyFocus">
      <source-position filename="clutter/clutter/clutter-key-focus.h"
                       line="45"/>
      <field name="parent_class">
        <type name="FocusClass" c:type="ClutterFocusClass"/>
      </field>
    </record>
    <enumeration name="KeyState"
                 glib:type-name="ClutterKeyState"
                 glib:get-type="clutter_key_state_get_type"
                 c:type="ClutterKeyState">
      <member name="released"
              value="0"
              c:identifier="CLUTTER_KEY_STATE_RELEASED"
              glib:nick="released"
              glib:name="CLUTTER_KEY_STATE_RELEASED">
      </member>
      <member name="pressed"
              value="1"
              c:identifier="CLUTTER_KEY_STATE_PRESSED"
              glib:nick="pressed"
              glib:name="CLUTTER_KEY_STATE_PRESSED">
      </member>
    </enumeration>
    <class name="KeyframeTransition"
           c:symbol-prefix="keyframe_transition"
           c:type="ClutterKeyframeTransition"
           parent="PropertyTransition"
           glib:type-name="ClutterKeyframeTransition"
           glib:get-type="clutter_keyframe_transition_get_type"
           glib:type-struct="KeyframeTransitionClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-keyframe-transition.c"
           line="24">Keyframe property transition

#ClutterKeyframeTransition allows animating a property by defining
"key frames": values at a normalized position on the transition
duration.

The #ClutterKeyframeTransition interpolates the value of the property
to which it's bound across these key values.

Setting up a #ClutterKeyframeTransition means providing the times,
values, and easing modes between these key frames, for instance:

```c
  ClutterTransition *keyframe;

  keyframe = clutter_keyframe_transition_new ("opacity");
  clutter_transition_set_from (keyframe, G_TYPE_UINT, 255);
  clutter_transition_set_to (keyframe, G_TYPE_UINT, 0);
  clutter_keyframe_transition_set (CLUTTER_KEYFRAME_TRANSITION (keyframe),
                                   G_TYPE_UINT,
                                   1, /&amp;ast; number of key frames &amp;ast;/
                                   0.5, 128, CLUTTER_EASE_IN_OUT_CUBIC);
```

The example above sets up a keyframe transition for the [property@Clutter.Actor:opacity]
property of a #ClutterActor; the transition starts and sets the value of the
property to fully transparent; between the start of the transition and its mid
point, it will animate the property to half opacity, using an easy in/easy out
progress. Once the transition reaches the mid point, it will linearly fade the
actor out until it reaches the end of the transition.

The #ClutterKeyframeTransition will add an implicit key frame between the last
and the 1.0 value, to interpolate to the final value of the transition's
interval..</doc>
      <source-position filename="clutter/clutter/clutter-keyframe-transition.h"
                       line="55"/>
      <constructor name="new" c:identifier="clutter_keyframe_transition_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-keyframe-transition.c"
             line="395">Creates a new #ClutterKeyframeTransition for @property_name.</doc>
        <source-position filename="clutter/clutter/clutter-keyframe-transition.h"
                         line="58"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-keyframe-transition.c"
               line="401">the newly allocated
  #ClutterKeyframeTransition instance. Use g_object_unref() when
  done to free its resources.</doc>
          <type name="Transition" c:type="ClutterTransition*"/>
        </return-value>
        <parameters>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="397">the property to animate</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="clear" c:identifier="clutter_keyframe_transition_clear">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-keyframe-transition.c"
             line="604">Removes all key frames from @transition.</doc>
        <source-position filename="clutter/clutter/clutter-keyframe-transition.h"
                         line="94"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="606">a #ClutterKeyframeTransition</doc>
            <type name="KeyframeTransition"
                  c:type="ClutterKeyframeTransition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_key_frame"
              c:identifier="clutter_keyframe_transition_get_key_frame">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-keyframe-transition.c"
             line="682">Retrieves the details of the key frame at @index_ inside @transition.

The @transition must already have key frames set, and @index_ must be
smaller than the number of key frames.</doc>
        <source-position filename="clutter/clutter/clutter-keyframe-transition.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="684">a #ClutterKeyframeTransition</doc>
            <type name="KeyframeTransition"
                  c:type="ClutterKeyframeTransition*"/>
          </instance-parameter>
          <parameter name="index_" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="685">the index of the key frame</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="key"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="686">return location for the key, or %NULL</doc>
            <type name="gdouble" c:type="double*"/>
          </parameter>
          <parameter name="mode"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="687">return location for the easing mode, or %NULL</doc>
            <type name="AnimationMode" c:type="ClutterAnimationMode*"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="688">a #GValue initialized with the type of
  the values</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_n_key_frames"
              c:identifier="clutter_keyframe_transition_get_n_key_frames">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-keyframe-transition.c"
             line="625">Retrieves the number of key frames inside @transition.</doc>
        <source-position filename="clutter/clutter/clutter-keyframe-transition.h"
                         line="91"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-keyframe-transition.c"
               line="631">the number of key frames</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="627">a #ClutterKeyframeTransition</doc>
            <type name="KeyframeTransition"
                  c:type="ClutterKeyframeTransition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set"
              c:identifier="clutter_keyframe_transition_set"
              introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-keyframe-transition.c"
             line="538">Sets the key frames of the @transition.

This variadic arguments function is a convenience for C developers;
language bindings should use [method@Clutter.KeyframeTransition.set_key_frames],
[method@Clutter.KeyframeTransition.set_modes], and
[method@Clutter.KeyframeTransition.set_values] instead.</doc>
        <source-position filename="clutter/clutter/clutter-keyframe-transition.h"
                         line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="540">a #ClutterKeyframeTransition</doc>
            <type name="KeyframeTransition"
                  c:type="ClutterKeyframeTransition*"/>
          </instance-parameter>
          <parameter name="gtype" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="541">the type of the values to use for the key frames</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="n_key_frames" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="542">the number of key frames between the initial
  and final values</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="544">a list of tuples, containing the key frame index, the value
  at the key frame, and the animation mode</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_key_frame"
              c:identifier="clutter_keyframe_transition_set_key_frame">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-keyframe-transition.c"
             line="647">Sets the details of the key frame at @index_ inside @transition.

The @transition must already have a key frame at @index_, and @index_
must be smaller than the number of key frames inside @transition.</doc>
        <source-position filename="clutter/clutter/clutter-keyframe-transition.h"
                         line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="649">a #ClutterKeyframeTransition</doc>
            <type name="KeyframeTransition"
                  c:type="ClutterKeyframeTransition*"/>
          </instance-parameter>
          <parameter name="index_" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="650">the index of the key frame</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="651">the key of the key frame</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="652">the easing mode of the key frame</doc>
            <type name="AnimationMode" c:type="ClutterAnimationMode"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="653">a #GValue containing the value of the key frame</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_key_frames"
              c:identifier="clutter_keyframe_transition_set_key_frames">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-keyframe-transition.c"
             line="413">Sets the keys for each key frame inside @transition.

If @transition does not hold any key frame, @n_key_frames key frames
will be created; if @transition already has key frames, @key_frames must
have at least as many elements as the number of key frames.</doc>
        <source-position filename="clutter/clutter/clutter-keyframe-transition.h"
                         line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="415">a #ClutterKeyframeTransition</doc>
            <type name="KeyframeTransition"
                  c:type="ClutterKeyframeTransition*"/>
          </instance-parameter>
          <parameter name="n_key_frames" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="416">the number of values</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="key_frames" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="417">an array of keys between 0.0
  and 1.0, one for each key frame</doc>
            <array length="0" zero-terminated="0" c:type="const double*">
              <type name="gdouble" c:type="double"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_modes"
              c:identifier="clutter_keyframe_transition_set_modes">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-keyframe-transition.c"
             line="498">Sets the easing modes for each key frame inside @transition.

If @transition does not hold any key frame, @n_modes key frames will
be created; if @transition already has key frames, @modes must have
at least as many elements as the number of key frames.</doc>
        <source-position filename="clutter/clutter/clutter-keyframe-transition.h"
                         line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="500">a #ClutterKeyframeTransition</doc>
            <type name="KeyframeTransition"
                  c:type="ClutterKeyframeTransition*"/>
          </instance-parameter>
          <parameter name="n_modes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="501">the number of easing modes</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="modes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="502">an array of easing modes, one for
  each key frame</doc>
            <array length="0"
                   zero-terminated="0"
                   c:type="const ClutterAnimationMode*">
              <type name="AnimationMode" c:type="ClutterAnimationMode"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_values"
              c:identifier="clutter_keyframe_transition_set_values">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-keyframe-transition.c"
             line="453">Sets the values for each key frame inside @transition.

If @transition does not hold any key frame, @n_values key frames will
be created; if @transition already has key frames, @values must have
at least as many elements as the number of key frames.</doc>
        <source-position filename="clutter/clutter/clutter-keyframe-transition.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="455">a #ClutterKeyframeTransition</doc>
            <type name="KeyframeTransition"
                  c:type="ClutterKeyframeTransition*"/>
          </instance-parameter>
          <parameter name="n_values" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="456">the number of values</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="values" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-keyframe-transition.c"
                 line="457">an array of values, one for each
  key frame</doc>
            <array length="0" zero-terminated="0" c:type="const GValue*">
              <type name="GObject.Value" c:type="GValue"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="PropertyTransition" c:type="ClutterPropertyTransition"/>
      </field>
    </class>
    <record name="KeyframeTransitionClass"
            c:type="ClutterKeyframeTransitionClass"
            glib:is-gtype-struct-for="KeyframeTransition">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-keyframe-transition.h"
           line="45">The `ClutterKeyframeTransitionClass` structure contains only
private data.</doc>
      <source-position filename="clutter/clutter/clutter-keyframe-transition.h"
                       line="55"/>
      <field name="parent_class" readable="0" private="1">
        <type name="PropertyTransitionClass"
              c:type="ClutterPropertyTransitionClass"/>
      </field>
    </record>
    <class name="Keymap"
           c:symbol-prefix="keymap"
           c:type="ClutterKeymap"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="ClutterKeymap"
           glib:get-type="clutter_keymap_get_type"
           glib:type-struct="KeymapClass">
      <source-position filename="clutter/clutter/clutter-keymap.h" line="41"/>
      <virtual-method name="get_direction" invoker="get_direction">
        <source-position filename="clutter/clutter/clutter-keymap.h"
                         line="40"/>
        <return-value transfer-ownership="none">
          <type name="TextDirection" c:type="ClutterTextDirection"/>
        </return-value>
        <parameters>
          <instance-parameter name="keymap" transfer-ownership="none">
            <type name="Keymap" c:type="ClutterKeymap*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_caps_lock_state"
              c:identifier="clutter_keymap_get_caps_lock_state"
              glib:get-property="caps-lock-state">
        <source-position filename="clutter/clutter/clutter-keymap.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="keymap" transfer-ownership="none">
            <type name="Keymap" c:type="ClutterKeymap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_direction" c:identifier="clutter_keymap_get_direction">
        <source-position filename="clutter/clutter/clutter-keymap.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <type name="TextDirection" c:type="ClutterTextDirection"/>
        </return-value>
        <parameters>
          <instance-parameter name="keymap" transfer-ownership="none">
            <type name="Keymap" c:type="ClutterKeymap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_layout_index"
              c:identifier="clutter_keymap_get_layout_index"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-keymap.h"
                         line="70"/>
        <return-value>
          <type c:type="xkb_layout_index_t"/>
        </return-value>
        <parameters>
          <instance-parameter name="keymap" transfer-ownership="none">
            <type name="Keymap" c:type="ClutterKeymap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_modifier_state"
              c:identifier="clutter_keymap_get_modifier_state"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-keymap.h"
                         line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="keymap" transfer-ownership="none">
            <type name="Keymap" c:type="ClutterKeymap*"/>
          </instance-parameter>
          <parameter name="depressed_mods" transfer-ownership="none">
            <type c:type="xkb_mod_mask_t*"/>
          </parameter>
          <parameter name="latched_mods" transfer-ownership="none">
            <type c:type="xkb_mod_mask_t*"/>
          </parameter>
          <parameter name="locked_mods" transfer-ownership="none">
            <type c:type="xkb_mod_mask_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_num_lock_state"
              c:identifier="clutter_keymap_get_num_lock_state"
              glib:get-property="num-lock-state">
        <source-position filename="clutter/clutter/clutter-keymap.h"
                         line="50"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="keymap" transfer-ownership="none">
            <type name="Keymap" c:type="ClutterKeymap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="caps-lock-state"
                transfer-ownership="none"
                getter="get_caps_lock_state"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="num-lock-state"
                transfer-ownership="none"
                getter="get_num_lock_state"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="state-changed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="KeymapClass"
            c:type="ClutterKeymapClass"
            glib:is-gtype-struct-for="Keymap">
      <source-position filename="clutter/clutter/clutter-keymap.h" line="41"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="get_direction">
        <callback name="get_direction">
          <source-position filename="clutter/clutter/clutter-keymap.h"
                           line="40"/>
          <return-value transfer-ownership="none">
            <type name="TextDirection" c:type="ClutterTextDirection"/>
          </return-value>
          <parameters>
            <parameter name="keymap" transfer-ownership="none">
              <type name="Keymap" c:type="ClutterKeymap*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <function-macro name="LAYER_NODE"
                    c:identifier="CLUTTER_LAYER_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="122"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="LayerNode"
           c:symbol-prefix="layer_node"
           c:type="ClutterLayerNode"
           parent="PaintNode"
           glib:type-name="ClutterLayerNode"
           glib:get-type="clutter_layer_node_get_type"
           glib:type-struct="LayerNodeClass"
           glib:fundamental="1">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="126"/>
      <constructor name="new_to_framebuffer"
                   c:identifier="clutter_layer_node_new_to_framebuffer">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-nodes.c"
             line="1161">Creates a new #ClutterLayerNode that will redirect drawing at
@framebuffer. It will then use @pipeline to paint the stored
operations.

When using this constructor, the caller is responsible for setting
up @framebuffer, including its modelview and projection matrices,
and the viewport, and the @pipeline as well.</doc>
        <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                         line="132"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-nodes.c"
               line="1174">the newly created #ClutterLayerNode.
  Use clutter_paint_node_unref() when done.</doc>
          <type name="PaintNode" c:type="ClutterPaintNode*"/>
        </return-value>
        <parameters>
          <parameter name="framebuffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-nodes.c"
                 line="1163">a #CoglFramebuffer</doc>
            <type name="Cogl.Framebuffer" c:type="CoglFramebuffer*"/>
          </parameter>
          <parameter name="pipeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-nodes.c"
                 line="1164">a #CoglPipeline</doc>
            <type name="Cogl.Pipeline" c:type="CoglPipeline*"/>
          </parameter>
        </parameters>
      </constructor>
    </class>
    <record name="LayerNodeClass"
            c:type="ClutterLayerNodeClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="LayerNode">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="126"/>
    </record>
    <class name="LayoutManager"
           c:symbol-prefix="layout_manager"
           c:type="ClutterLayoutManager"
           parent="GObject.InitiallyUnowned"
           abstract="1"
           glib:type-name="ClutterLayoutManager"
           glib:get-type="clutter_layout_manager_get_type"
           glib:type-struct="LayoutManagerClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-layout-manager.c"
           line="25">Layout managers base class

#ClutterLayoutManager is a base abstract class for layout managers. A
layout manager implements the layouting policy for a composite or a
container actor: it controls the preferred size of the actor to which
it has been paired, and it controls the allocation of its children.

Any composite or container [class@Clutter.Actor] subclass can delegate the
layouting of its children to a #ClutterLayoutManager.

Clutter provides some simple #ClutterLayoutManager sub-classes, like
[class@Clutter.FlowLayout] and [class@Clutter.BinLayout].

## Implementing a ClutterLayoutManager
The implementation of a layout manager does not differ from  the
implementation of the size requisition and allocation bits of
[class@Clutter.Actor], so you should read the relative documentation
for subclassing [class@Clutter.Actor].

The layout manager implementation can hold a back pointer to the container
[type@Clutter.Actor] by implementing the
[vfunc@Clutter.LayoutManager.set_container] virtual function. The layout
manager should not hold a real reference (i.e. call
[method@GObject.Object.ref]) on the container actor, to avoid reference
cycles.

If a layout manager has properties affecting the layout policies then it should
emit the [signal@Clutter.LayoutManager::layout-changed] signal on itself by using the
[method@Clutter.LayoutManager.layout_changed] function whenever one of these properties
changes.

## Layout Properties

If a layout manager has layout properties, that is properties that
should exist only as the result of the presence of a specific (layout
manager, container actor, child actor) combination, and it wishes to store
those properties inside a [class@Clutter.LayoutMeta], then it should override the
[vfunc@Clutter.LayoutManager.get_child_meta_type] virtual function to return
the #GType of the [class@Clutter.LayoutMeta] sub-class used to store the layout
properties; optionally, the #ClutterLayoutManager sub-class might also
override the [vfunc@Clutter.LayoutManager.create_child_meta] virtual function
to control how the [class@Clutter.LayoutMeta] instance is created, otherwise the
default implementation will be equivalent to:

```c
 ClutterLayoutManagerClass *klass;
 GType meta_type;

 klass = CLUTTER_LAYOUT_MANAGER_GET_CLASS (manager);
 meta_type = klass-&gt;get_child_meta_type (manager);

 return g_object_new (meta_type,
                      "manager", manager,
                      "container", container,
                      "actor", actor,
                      NULL);
```

Where `manager` is the  #ClutterLayoutManager, `container` is the
[class@Clutter.Actor] using the #ClutterLayoutManager, and `actor` is
the [class@Clutter.Actor] child of the [class@Clutter.Actor].</doc>
      <source-position filename="clutter/clutter/clutter-layout-manager.h"
                       line="100"/>
      <virtual-method name="allocate" invoker="allocate">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.c"
             line="381">Allocates the children of @container given an area

See also [method@Clutter.Actor.allocate]</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="383">a #ClutterLayoutManager</doc>
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
          <parameter name="container" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="384">the #ClutterActor using @manager</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="allocation" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="385">the #ClutterActorBox containing the allocated area
  of @container</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="create_child_meta" introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.h"
             line="61">virtual function; override to create a
  [type@Clutter.LayoutMeta] instance associated to a container
  [type@Clutter.Actor] and a child [type@Clutter.Actor], used to maintain
  layout manager specific properties</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="95"/>
        <return-value>
          <type name="LayoutMeta" c:type="ClutterLayoutMeta*"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
          <parameter name="container" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_child_meta_type">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.h"
             line="59">virtual function; override to return the #GType
  of the #ClutterLayoutMeta sub-class used by the #ClutterLayoutManager</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="94"/>
        <return-value transfer-ownership="none">
          <type name="GType" c:type="GType"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_preferred_height"
                      invoker="get_preferred_height">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.c"
             line="348">Computes the minimum and natural heights of the @container according
to @manager.

See also [method@Clutter.Actor.get_preferred_height]</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="350">a #ClutterLayoutManager</doc>
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
          <parameter name="container" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="351">the #ClutterActor using @manager</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="for_width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="352">the width for which the height should be computed, or -1</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="min_height_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="353">return location for the minimum height
  of the layout, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="nat_height_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="355">return location for the natural height
  of the layout, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_preferred_width" invoker="get_preferred_width">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.c"
             line="315">Computes the minimum and natural widths of the @container according
to @manager.

See also [method@Clutter.Actor.get_preferred_width]</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="317">a #ClutterLayoutManager</doc>
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
          <parameter name="container" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="318">the #ClutterActor using @manager</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="for_height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="319">the height for which the width should be computed, or -1</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="min_width_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="320">return location for the minimum width
  of the layout, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="nat_width_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="322">return location for the natural width
  of the layout, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="layout_changed" invoker="layout_changed">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.c"
             line="407">Emits the [signal@Clutter.LayoutManager::layout-changed] signal on @manager

This function should only be called by implementations of the
#ClutterLayoutManager class</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="409">a #ClutterLayoutManager</doc>
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_container" invoker="set_container">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.c"
             line="432">If the #ClutterLayoutManager sub-class allows it, allow
adding a weak reference of the @container using @manager
from within the layout manager

The layout manager should not increase the reference
count of the @container</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="91"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="434">a #ClutterLayoutManager</doc>
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
          <parameter name="container"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="435">a [type@Clutter.Actor] using @manager</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="allocate" c:identifier="clutter_layout_manager_allocate">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.c"
             line="381">Allocates the children of @container given an area

See also [method@Clutter.Actor.allocate]</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="115"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="383">a #ClutterLayoutManager</doc>
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
          <parameter name="container" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="384">the #ClutterActor using @manager</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="allocation" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="385">the #ClutterActorBox containing the allocated area
  of @container</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get"
              c:identifier="clutter_layout_manager_child_get"
              introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.c"
             line="720">Retrieves the values for a list of properties out of the
#ClutterLayoutMeta created by @manager and attached to the
child of a @container</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="144"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="722">a #ClutterLayoutManager</doc>
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
          <parameter name="container" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="723">a [type@Clutter.Actor] using @manager</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="724">a [type@Clutter.Actor] child of @container</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="first_property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="725">the name of the first property</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="726">a list of property name and return location for the value pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="child_get_property"
              c:identifier="clutter_layout_manager_child_get_property">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.c"
             line="807">Gets a property on the #ClutterLayoutMeta created by @manager and
attached to a child of @container

The #GValue must already be initialized to the type of the property
and has to be unset with g_value_unset() after extracting the real
value out of it</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="156"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="809">a #ClutterLayoutManager</doc>
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
          <parameter name="container" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="810">a [type@Clutter.Actor] using @manager</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="811">a [type@Clutter.Actor] child of @container</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="812">the name of the property to get</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="813">a #GValue with the value of the property to get</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set"
              c:identifier="clutter_layout_manager_child_set"
              introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.c"
             line="582">Sets a list of properties and their values on the #ClutterLayoutMeta
associated by @manager to a child of @container

Languages bindings should use [method@Clutter.LayoutManager.child_set_property]
instead</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="138"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="584">a #ClutterLayoutManager</doc>
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
          <parameter name="container" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="585">a [type@Clutter.Actor] using @manager</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="586">a [type@Clutter.Actor] child of @container</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="first_property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="587">the first property name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="588">a list of property name and value pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="child_set_property"
              c:identifier="clutter_layout_manager_child_set_property">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.c"
             line="669">Sets a property on the #ClutterLayoutMeta created by @manager and
attached to a child of @container</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="150"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="671">a #ClutterLayoutManager</doc>
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
          <parameter name="container" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="672">a [type@Clutter.Actor] using @manager</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="673">a [type@Clutter.Actor] child of @container</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="property_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="674">the name of the property to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="675">a #GValue with the value of the property to set</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="find_child_property"
              c:identifier="clutter_layout_manager_find_child_property">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.c"
             line="862">Retrieves the #GParamSpec for the layout property @name inside
the #ClutterLayoutMeta sub-class used by @manager</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="126"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-layout-manager.c"
               line="870">a #GParamSpec describing the property,
  or %NULL if no property with that name exists. The returned
  #GParamSpec is owned by the layout manager and should not be
  modified or freed</doc>
          <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="864">a #ClutterLayoutManager</doc>
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="865">the name of the property</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_child_meta"
              c:identifier="clutter_layout_manager_get_child_meta">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.c"
             line="509">Retrieves the #ClutterLayoutMeta that the layout @manager associated
to the @actor child of @container, eventually by creating one if the
#ClutterLayoutManager supports layout properties</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="133"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-layout-manager.c"
               line="519">a #ClutterLayoutMeta, or %NULL if the
  #ClutterLayoutManager does not have layout properties. The returned
  layout meta instance is owned by the #ClutterLayoutManager and it
  should not be unreferenced</doc>
          <type name="LayoutMeta" c:type="ClutterLayoutMeta*"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="511">a #ClutterLayoutManager</doc>
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
          <parameter name="container" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="512">a [type@Clutter.Actor] using @manager</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="513">a [type@Clutter.Actor] child of @container</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_preferred_height"
              c:identifier="clutter_layout_manager_get_preferred_height">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.c"
             line="348">Computes the minimum and natural heights of the @container according
to @manager.

See also [method@Clutter.Actor.get_preferred_height]</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="109"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="350">a #ClutterLayoutManager</doc>
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
          <parameter name="container" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="351">the #ClutterActor using @manager</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="for_width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="352">the width for which the height should be computed, or -1</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="min_height_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="353">return location for the minimum height
  of the layout, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="nat_height_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="355">return location for the natural height
  of the layout, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_preferred_width"
              c:identifier="clutter_layout_manager_get_preferred_width">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.c"
             line="315">Computes the minimum and natural widths of the @container according
to @manager.

See also [method@Clutter.Actor.get_preferred_width]</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="103"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="317">a #ClutterLayoutManager</doc>
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
          <parameter name="container" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="318">the #ClutterActor using @manager</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="for_height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="319">the height for which the width should be computed, or -1</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="min_width_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="320">return location for the minimum width
  of the layout, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="nat_width_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="322">return location for the natural width
  of the layout, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="layout_changed"
              c:identifier="clutter_layout_manager_layout_changed">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.c"
             line="407">Emits the [signal@Clutter.LayoutManager::layout-changed] signal on @manager

This function should only be called by implementations of the
#ClutterLayoutManager class</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="123"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="409">a #ClutterLayoutManager</doc>
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="list_child_properties"
              c:identifier="clutter_layout_manager_list_child_properties">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.c"
             line="898">Retrieves all the `GParamSpec`s for the layout properties
stored inside the #ClutterLayoutMeta sub-class used by @manager</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="129"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-layout-manager.c"
               line="907">the newly-allocated,
  %NULL-terminated array of `GParamSpec`s. Use g_free() to free the
  resources allocated for the array</doc>
          <array length="0" zero-terminated="0" c:type="GParamSpec**">
            <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="900">a #ClutterLayoutManager</doc>
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
          <parameter name="n_pspecs"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="901">return location for the number of returned
  `GParamSpec`s</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_container"
              c:identifier="clutter_layout_manager_set_container">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.c"
             line="432">If the #ClutterLayoutManager sub-class allows it, allow
adding a weak reference of the @container using @manager
from within the layout manager

The layout manager should not increase the reference
count of the @container</doc>
        <source-position filename="clutter/clutter/clutter-layout-manager.h"
                         line="120"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="434">a #ClutterLayoutManager</doc>
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </instance-parameter>
          <parameter name="container"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-manager.c"
                 line="435">a [type@Clutter.Actor] using @manager</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
      </field>
      <glib:signal name="layout-changed" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.c"
             line="272">The signal is emitted each time a layout manager
has been changed. Every #ClutterActor using the @manager instance
as a layout manager should connect a handler to the
[signal@LayoutManager::layout-changed]
signal and queue a relayout on themselves:

```c
  static void layout_changed (ClutterLayoutManager *manager,
                              ClutterActor         *self)
  {
    clutter_actor_queue_relayout (self);
  }
  ...
    self-&gt;manager = g_object_ref_sink (manager);
    g_signal_connect (self-&gt;manager, "layout-changed",
                      G_CALLBACK (layout_changed),
                      self);
```

Sub-classes of #ClutterLayoutManager that implement a layout that
can be controlled or changed using parameters should emit the
::layout-changed signal whenever one of the parameters changes,
by using [method@Clutter.LayoutManager.layout_changed].</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="LayoutManagerClass"
            c:type="ClutterLayoutManagerClass"
            glib:is-gtype-struct-for="LayoutManager">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-layout-manager.h"
           line="44">The #ClutterLayoutManagerClass structure contains only private
data and should be accessed using the provided API</doc>
      <source-position filename="clutter/clutter/clutter-layout-manager.h"
                       line="100"/>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.InitiallyUnownedClass"
              c:type="GInitiallyUnownedClass"/>
      </field>
      <field name="get_preferred_width">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.h"
             line="46">virtual function; override to provide a preferred
  width for the layout manager. See also the get_preferred_width()
  virtual function in #ClutterActor</doc>
        <callback name="get_preferred_width">
          <source-position filename="clutter/clutter/clutter-layout-manager.h"
                           line="77"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-layout-manager.c"
                   line="317">a #ClutterLayoutManager</doc>
              <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
            </parameter>
            <parameter name="container" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-layout-manager.c"
                   line="318">the #ClutterActor using @manager</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="for_height" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-layout-manager.c"
                   line="319">the height for which the width should be computed, or -1</doc>
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
            <parameter name="min_width_p"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full"
                       optional="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-layout-manager.c"
                   line="320">return location for the minimum width
  of the layout, or %NULL</doc>
              <type name="gfloat" c:type="gfloat*"/>
            </parameter>
            <parameter name="nat_width_p"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full"
                       optional="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-layout-manager.c"
                   line="322">return location for the natural width
  of the layout, or %NULL</doc>
              <type name="gfloat" c:type="gfloat*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_preferred_height">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.h"
             line="49">virtual function; override to provide a preferred
  height for the layout manager. See also the get_preferred_height()
  virtual function in #ClutterActor</doc>
        <callback name="get_preferred_height">
          <source-position filename="clutter/clutter/clutter-layout-manager.h"
                           line="82"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-layout-manager.c"
                   line="350">a #ClutterLayoutManager</doc>
              <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
            </parameter>
            <parameter name="container" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-layout-manager.c"
                   line="351">the #ClutterActor using @manager</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="for_width" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-layout-manager.c"
                   line="352">the width for which the height should be computed, or -1</doc>
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
            <parameter name="min_height_p"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full"
                       optional="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-layout-manager.c"
                   line="353">return location for the minimum height
  of the layout, or %NULL</doc>
              <type name="gfloat" c:type="gfloat*"/>
            </parameter>
            <parameter name="nat_height_p"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full"
                       optional="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-layout-manager.c"
                   line="355">return location for the natural height
  of the layout, or %NULL</doc>
              <type name="gfloat" c:type="gfloat*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="allocate">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.h"
             line="52">virtual function; override to allocate the children of the
  layout manager. See also the allocate() virtual function in
  #ClutterActor</doc>
        <callback name="allocate">
          <source-position filename="clutter/clutter/clutter-layout-manager.h"
                           line="87"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-layout-manager.c"
                   line="383">a #ClutterLayoutManager</doc>
              <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
            </parameter>
            <parameter name="container" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-layout-manager.c"
                   line="384">the #ClutterActor using @manager</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="allocation" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-layout-manager.c"
                   line="385">the #ClutterActorBox containing the allocated area
  of @container</doc>
              <type name="ActorBox" c:type="const ClutterActorBox*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_container">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.h"
             line="55">virtual function; override to set a back pointer
  on the [type@Clutter.Actor] using the layout manager. The implementation
  should not take a reference on the container, but just take a weak
  reference, to avoid potential leaks due to reference cycles</doc>
        <callback name="set_container">
          <source-position filename="clutter/clutter/clutter-layout-manager.h"
                           line="91"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-layout-manager.c"
                   line="434">a #ClutterLayoutManager</doc>
              <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
            </parameter>
            <parameter name="container"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-layout-manager.c"
                   line="435">a [type@Clutter.Actor] using @manager</doc>
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_child_meta_type">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.h"
             line="59">virtual function; override to return the #GType
  of the #ClutterLayoutMeta sub-class used by the #ClutterLayoutManager</doc>
        <callback name="get_child_meta_type">
          <source-position filename="clutter/clutter/clutter-layout-manager.h"
                           line="94"/>
          <return-value transfer-ownership="none">
            <type name="GType" c:type="GType"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="create_child_meta" introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.h"
             line="61">virtual function; override to create a
  [type@Clutter.LayoutMeta] instance associated to a container
  [type@Clutter.Actor] and a child [type@Clutter.Actor], used to maintain
  layout manager specific properties</doc>
        <callback name="create_child_meta" introspectable="0">
          <source-position filename="clutter/clutter/clutter-layout-manager.h"
                           line="95"/>
          <return-value>
            <type name="LayoutMeta" c:type="ClutterLayoutMeta*"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
            </parameter>
            <parameter name="container" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
            <parameter name="actor" transfer-ownership="none">
              <type name="Actor" c:type="ClutterActor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="layout_changed">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-manager.h"
             line="65">class handler for the #ClutterLayoutManager::layout-changed
  signal</doc>
        <callback name="layout_changed">
          <source-position filename="clutter/clutter/clutter-layout-manager.h"
                           line="99"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="manager" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-layout-manager.c"
                   line="409">a #ClutterLayoutManager</doc>
              <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="LayoutMeta"
           c:symbol-prefix="layout_meta"
           c:type="ClutterLayoutMeta"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="ClutterLayoutMeta"
           glib:get-type="clutter_layout_meta_get_type"
           glib:type-struct="LayoutMetaClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-layout-meta.c"
           line="25">Wrapper for actors inside a layout manager

[type@Clutter.LayoutMeta] is a wrapper object created by
[class@LayoutManager] implementations in order to store child-specific data
and properties.

A [type@Clutter.LayoutMeta] wraps a [class@Actor] inside a container
[class@Actor] using a [class@LayoutManager].</doc>
      <source-position filename="clutter/clutter/clutter-layout-meta.h"
                       line="44"/>
      <method name="get_actor"
              c:identifier="clutter_layout_meta_get_actor"
              glib:get-property="actor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-meta.c"
             line="236">Retrieves the actor wrapped by @data</doc>
        <source-position filename="clutter/clutter/clutter-layout-meta.h"
                         line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-layout-meta.c"
               line="242">a [type@Clutter.Actor]</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-meta.c"
                 line="238">a #ClutterLayoutMeta</doc>
            <type name="LayoutMeta" c:type="ClutterLayoutMeta*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_container"
              c:identifier="clutter_layout_meta_get_container"
              glib:get-property="container">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-meta.c"
             line="216">Retrieves the container using @data</doc>
        <source-position filename="clutter/clutter/clutter-layout-meta.h"
                         line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-layout-meta.c"
               line="222">a [type@Clutter.Actor]</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-meta.c"
                 line="218">a #ClutterLayoutMeta</doc>
            <type name="LayoutMeta" c:type="ClutterLayoutMeta*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_manager"
              c:identifier="clutter_layout_meta_get_manager"
              glib:get-property="manager">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-meta.c"
             line="196">Retrieves the actor wrapped by @data</doc>
        <source-position filename="clutter/clutter/clutter-layout-meta.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-layout-meta.c"
               line="202">a [type@Clutter.LayoutManager]</doc>
          <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
        </return-value>
        <parameters>
          <instance-parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-layout-meta.c"
                 line="198">a #ClutterLayoutMeta</doc>
            <type name="LayoutMeta" c:type="ClutterLayoutMeta*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_for" c:identifier="clutter_layout_meta_is_for">
        <source-position filename="clutter/clutter/clutter-layout-meta.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="data" transfer-ownership="none">
            <type name="LayoutMeta" c:type="ClutterLayoutMeta*"/>
          </instance-parameter>
          <parameter name="manager" transfer-ownership="none">
            <type name="LayoutManager" c:type="ClutterLayoutManager*"/>
          </parameter>
          <parameter name="container" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="actor" transfer-ownership="none">
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <property name="actor"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_actor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-meta.c"
             line="176">The [type@Clutter.Actor] being wrapped by this [type@Clutter.LayoutMeta]</doc>
        <type name="Actor"/>
      </property>
      <property name="container"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_container">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-meta.c"
             line="164">The [type@Clutter.Actor] containing [property@Clutter.LayoutMeta:actor]</doc>
        <type name="Actor"/>
      </property>
      <property name="manager"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_manager">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-layout-meta.c"
             line="152">The [class@LayoutManager] that created this [type@Clutter.LayoutMeta].</doc>
        <type name="LayoutManager"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="LayoutMetaClass"
            c:type="ClutterLayoutMetaClass"
            glib:is-gtype-struct-for="LayoutMeta">
      <source-position filename="clutter/clutter/clutter-layout-meta.h"
                       line="44"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="LongPressGesture"
           c:symbol-prefix="long_press_gesture"
           c:type="ClutterLongPressGesture"
           parent="PressGesture"
           final="1"
           glib:type-name="ClutterLongPressGesture"
           glib:get-type="clutter_long_press_gesture_get_type"
           glib:type-struct="LongPressGestureClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-long-press-gesture.c"
           line="18">A #ClutterPressGesture subclass for recognizing long-press gestures</doc>
      <source-position filename="clutter/clutter/clutter-long-press-gesture.h"
                       line="29"/>
      <constructor name="new" c:identifier="clutter_long_press_gesture_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-long-press-gesture.c"
             line="68">Creates a new #ClutterLongPressGesture instance</doc>
        <source-position filename="clutter/clutter/clutter-long-press-gesture.h"
                         line="33"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-long-press-gesture.c"
               line="73">the newly created #ClutterLongPressGesture</doc>
          <type name="Action" c:type="ClutterAction*"/>
        </return-value>
      </constructor>
    </class>
    <record name="LongPressGestureClass"
            c:type="ClutterLongPressGestureClass"
            glib:is-gtype-struct-for="LongPressGesture">
      <source-position filename="clutter/clutter/clutter-long-press-gesture.h"
                       line="29"/>
      <field name="parent_class">
        <type name="PressGestureClass" c:type="ClutterPressGestureClass"/>
      </field>
    </record>
    <record name="Luminance" c:type="ClutterLuminance">
      <source-position filename="clutter/clutter/clutter-color-state-params.h"
                       line="102"/>
      <field name="type" writable="1" bits="1">
        <type name="LuminanceType" c:type="ClutterLuminanceType"/>
      </field>
      <field name="ref_is_1_0" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="min" writable="1">
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="max" writable="1">
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="ref" writable="1">
        <type name="gfloat" c:type="float"/>
      </field>
    </record>
    <enumeration name="LuminanceType"
                 glib:type-name="ClutterLuminanceType"
                 glib:get-type="clutter_luminance_type_get_type"
                 c:type="ClutterLuminanceType">
      <member name="derived"
              value="0"
              c:identifier="CLUTTER_LUMINANCE_TYPE_DERIVED"
              glib:nick="derived"
              glib:name="CLUTTER_LUMINANCE_TYPE_DERIVED">
      </member>
      <member name="explicit"
              value="1"
              c:identifier="CLUTTER_LUMINANCE_TYPE_EXPLICIT"
              glib:nick="explicit"
              glib:name="CLUTTER_LUMINANCE_TYPE_EXPLICIT">
      </member>
    </enumeration>
    <function-macro name="MACRO_DEPRECATED_FOR"
                    c:identifier="CLUTTER_MACRO_DEPRECATED_FOR"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-macros.h" line="71"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <record name="Margin"
            c:type="ClutterMargin"
            glib:type-name="ClutterMargin"
            glib:get-type="clutter_margin_get_type"
            c:symbol-prefix="margin">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-types.h"
           line="310">A representation of the components of a margin.</doc>
      <source-position filename="clutter/clutter/clutter-types.h" line="325"/>
      <field name="left" writable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-types.h"
             line="312">the margin from the left</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="right" writable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-types.h"
             line="313">the margin from the right</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="top" writable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-types.h"
             line="314">the margin from the top</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="bottom" writable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-types.h"
             line="315">the margin from the bottom</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <constructor name="new" c:identifier="clutter_margin_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-base-types.c"
             line="36">Creates a new #ClutterMargin.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="331"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-base-types.c"
               line="41">a newly allocated #ClutterMargin. Use
  [method@Clutter.Margin.free] to free the resources associated with it when
  done.</doc>
          <type name="Margin" c:type="ClutterMargin*"/>
        </return-value>
      </constructor>
      <method name="copy" c:identifier="clutter_margin_copy">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-base-types.c"
             line="51">Creates a new #ClutterMargin and copies the contents of @margin_ into
the newly created structure.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="333"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-base-types.c"
               line="58">a copy of the #ClutterMargin.</doc>
          <type name="Margin" c:type="ClutterMargin*"/>
        </return-value>
        <parameters>
          <instance-parameter name="margin_" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-base-types.c"
                 line="53">a #ClutterMargin</doc>
            <type name="Margin" c:type="const ClutterMargin*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="clutter_margin_free">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-base-types.c"
             line="69">Frees the resources allocated by [ctor@Clutter.Margin.new] and
[method@Clutter.Margin.copy].</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="335"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="margin_" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-base-types.c"
                 line="71">a #ClutterMargin</doc>
            <type name="Margin" c:type="ClutterMargin*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <bitfield name="ModifierType"
              glib:type-name="ClutterModifierType"
              glib:get-type="clutter_modifier_type_get_type"
              c:type="ClutterModifierType">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="238">Masks applied to a #ClutterEvent by modifiers.

Note that Clutter may add internal values to events which include
reserved values such as %CLUTTER_MODIFIER_RESERVED_13_MASK.  Your code
should preserve and ignore them.  You can use %CLUTTER_MODIFIER_MASK to
remove all reserved values.</doc>
      <member name="shift_mask"
              value="1"
              c:identifier="CLUTTER_SHIFT_MASK"
              glib:nick="shift-mask"
              glib:name="CLUTTER_SHIFT_MASK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="240">Mask applied by the Shift key</doc>
      </member>
      <member name="lock_mask"
              value="2"
              c:identifier="CLUTTER_LOCK_MASK"
              glib:nick="lock-mask"
              glib:name="CLUTTER_LOCK_MASK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="241">Mask applied by the Caps Lock key</doc>
      </member>
      <member name="control_mask"
              value="4"
              c:identifier="CLUTTER_CONTROL_MASK"
              glib:nick="control-mask"
              glib:name="CLUTTER_CONTROL_MASK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="242">Mask applied by the Control key</doc>
      </member>
      <member name="mod1_mask"
              value="8"
              c:identifier="CLUTTER_MOD1_MASK"
              glib:nick="mod1-mask"
              glib:name="CLUTTER_MOD1_MASK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="243">Mask applied by the first Mod key</doc>
      </member>
      <member name="mod2_mask"
              value="16"
              c:identifier="CLUTTER_MOD2_MASK"
              glib:nick="mod2-mask"
              glib:name="CLUTTER_MOD2_MASK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="244">Mask applied by the second Mod key</doc>
      </member>
      <member name="mod3_mask"
              value="32"
              c:identifier="CLUTTER_MOD3_MASK"
              glib:nick="mod3-mask"
              glib:name="CLUTTER_MOD3_MASK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="245">Mask applied by the third Mod key</doc>
      </member>
      <member name="mod4_mask"
              value="64"
              c:identifier="CLUTTER_MOD4_MASK"
              glib:nick="mod4-mask"
              glib:name="CLUTTER_MOD4_MASK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="246">Mask applied by the fourth Mod key</doc>
      </member>
      <member name="mod5_mask"
              value="128"
              c:identifier="CLUTTER_MOD5_MASK"
              glib:nick="mod5-mask"
              glib:name="CLUTTER_MOD5_MASK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="247">Mask applied by the fifth Mod key</doc>
      </member>
      <member name="button1_mask"
              value="256"
              c:identifier="CLUTTER_BUTTON1_MASK"
              glib:nick="button1-mask"
              glib:name="CLUTTER_BUTTON1_MASK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="248">Mask applied by the first pointer button</doc>
      </member>
      <member name="button2_mask"
              value="512"
              c:identifier="CLUTTER_BUTTON2_MASK"
              glib:nick="button2-mask"
              glib:name="CLUTTER_BUTTON2_MASK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="249">Mask applied by the second pointer button</doc>
      </member>
      <member name="button3_mask"
              value="1024"
              c:identifier="CLUTTER_BUTTON3_MASK"
              glib:nick="button3-mask"
              glib:name="CLUTTER_BUTTON3_MASK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="250">Mask applied by the third pointer button</doc>
      </member>
      <member name="button4_mask"
              value="2048"
              c:identifier="CLUTTER_BUTTON4_MASK"
              glib:nick="button4-mask"
              glib:name="CLUTTER_BUTTON4_MASK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="251">Mask applied by the fourth pointer button</doc>
      </member>
      <member name="button5_mask"
              value="4096"
              c:identifier="CLUTTER_BUTTON5_MASK"
              glib:nick="button5-mask"
              glib:name="CLUTTER_BUTTON5_MASK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="252">Mask applied by the fifth pointer button</doc>
      </member>
      <member name="modifier_reserved_13_mask"
              value="8192"
              c:identifier="CLUTTER_MODIFIER_RESERVED_13_MASK"
              glib:nick="modifier-reserved-13-mask"
              glib:name="CLUTTER_MODIFIER_RESERVED_13_MASK">
      </member>
      <member name="modifier_reserved_14_mask"
              value="16384"
              c:identifier="CLUTTER_MODIFIER_RESERVED_14_MASK"
              glib:nick="modifier-reserved-14-mask"
              glib:name="CLUTTER_MODIFIER_RESERVED_14_MASK">
      </member>
      <member name="modifier_reserved_15_mask"
              value="32768"
              c:identifier="CLUTTER_MODIFIER_RESERVED_15_MASK"
              glib:nick="modifier-reserved-15-mask"
              glib:name="CLUTTER_MODIFIER_RESERVED_15_MASK">
      </member>
      <member name="modifier_reserved_16_mask"
              value="65536"
              c:identifier="CLUTTER_MODIFIER_RESERVED_16_MASK"
              glib:nick="modifier-reserved-16-mask"
              glib:name="CLUTTER_MODIFIER_RESERVED_16_MASK">
      </member>
      <member name="modifier_reserved_17_mask"
              value="131072"
              c:identifier="CLUTTER_MODIFIER_RESERVED_17_MASK"
              glib:nick="modifier-reserved-17-mask"
              glib:name="CLUTTER_MODIFIER_RESERVED_17_MASK">
      </member>
      <member name="modifier_reserved_18_mask"
              value="262144"
              c:identifier="CLUTTER_MODIFIER_RESERVED_18_MASK"
              glib:nick="modifier-reserved-18-mask"
              glib:name="CLUTTER_MODIFIER_RESERVED_18_MASK">
      </member>
      <member name="modifier_reserved_19_mask"
              value="524288"
              c:identifier="CLUTTER_MODIFIER_RESERVED_19_MASK"
              glib:nick="modifier-reserved-19-mask"
              glib:name="CLUTTER_MODIFIER_RESERVED_19_MASK">
      </member>
      <member name="modifier_reserved_20_mask"
              value="1048576"
              c:identifier="CLUTTER_MODIFIER_RESERVED_20_MASK"
              glib:nick="modifier-reserved-20-mask"
              glib:name="CLUTTER_MODIFIER_RESERVED_20_MASK">
      </member>
      <member name="modifier_reserved_21_mask"
              value="2097152"
              c:identifier="CLUTTER_MODIFIER_RESERVED_21_MASK"
              glib:nick="modifier-reserved-21-mask"
              glib:name="CLUTTER_MODIFIER_RESERVED_21_MASK">
      </member>
      <member name="modifier_reserved_22_mask"
              value="4194304"
              c:identifier="CLUTTER_MODIFIER_RESERVED_22_MASK"
              glib:nick="modifier-reserved-22-mask"
              glib:name="CLUTTER_MODIFIER_RESERVED_22_MASK">
      </member>
      <member name="modifier_reserved_23_mask"
              value="8388608"
              c:identifier="CLUTTER_MODIFIER_RESERVED_23_MASK"
              glib:nick="modifier-reserved-23-mask"
              glib:name="CLUTTER_MODIFIER_RESERVED_23_MASK">
      </member>
      <member name="modifier_reserved_24_mask"
              value="16777216"
              c:identifier="CLUTTER_MODIFIER_RESERVED_24_MASK"
              glib:nick="modifier-reserved-24-mask"
              glib:name="CLUTTER_MODIFIER_RESERVED_24_MASK">
      </member>
      <member name="modifier_reserved_25_mask"
              value="33554432"
              c:identifier="CLUTTER_MODIFIER_RESERVED_25_MASK"
              glib:nick="modifier-reserved-25-mask"
              glib:name="CLUTTER_MODIFIER_RESERVED_25_MASK">
      </member>
      <member name="super_mask"
              value="67108864"
              c:identifier="CLUTTER_SUPER_MASK"
              glib:nick="super-mask"
              glib:name="CLUTTER_SUPER_MASK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="253">Mask applied by the Super key</doc>
      </member>
      <member name="hyper_mask"
              value="134217728"
              c:identifier="CLUTTER_HYPER_MASK"
              glib:nick="hyper-mask"
              glib:name="CLUTTER_HYPER_MASK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="254">Mask applied by the Hyper key</doc>
      </member>
      <member name="meta_mask"
              value="268435456"
              c:identifier="CLUTTER_META_MASK"
              glib:nick="meta-mask"
              glib:name="CLUTTER_META_MASK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="255">Mask applied by the Meta key</doc>
      </member>
      <member name="modifier_reserved_29_mask"
              value="536870912"
              c:identifier="CLUTTER_MODIFIER_RESERVED_29_MASK"
              glib:nick="modifier-reserved-29-mask"
              glib:name="CLUTTER_MODIFIER_RESERVED_29_MASK">
      </member>
      <member name="release_mask"
              value="1073741824"
              c:identifier="CLUTTER_RELEASE_MASK"
              glib:nick="release-mask"
              glib:name="CLUTTER_RELEASE_MASK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="256">Mask applied during release</doc>
      </member>
      <member name="modifier_mask"
              value="1543512063"
              c:identifier="CLUTTER_MODIFIER_MASK"
              glib:nick="modifier-mask"
              glib:name="CLUTTER_MODIFIER_MASK">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="257">A mask covering all modifier types</doc>
      </member>
    </bitfield>
    <record name="MotionEvent"
            c:type="ClutterMotionEvent"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-event.h" line="98"/>
    </record>
    <class name="OffscreenEffect"
           c:symbol-prefix="offscreen_effect"
           c:type="ClutterOffscreenEffect"
           parent="Effect"
           abstract="1"
           glib:type-name="ClutterOffscreenEffect"
           glib:get-type="clutter_offscreen_effect_get_type"
           glib:type-struct="OffscreenEffectClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-offscreen-effect.c"
           line="26">Base class for effects using offscreen buffers

#ClutterOffscreenEffect is an abstract class that can be used by
[class@Effect] sub-classes requiring access to an offscreen buffer.

Some effects, like the fragment shader based effects, can only use GL
textures, and in order to apply those effects to any kind of actor they
require that all drawing operations are applied to an offscreen framebuffer
that gets redirected to a texture.

#ClutterOffscreenEffect provides all the heavy-lifting for creating the
offscreen framebuffer, the redirection and the final paint of the texture on
the desired stage.


## Implementing a ClutterOffscreenEffect

Creating a sub-class of #ClutterOffscreenEffect requires, in case
of overriding the [class@Effect] virtual functions, to chain up to the
#ClutterOffscreenEffect's implementation.

On top of the [class@Effect]'s virtual functions,
#ClutterOffscreenEffect also provides a [vfunc@OffscreenEffect.paint_target]
function, which encapsulates the effective painting of the texture that
contains the result of the offscreen redirection.

The size of the target pipeline is defined to be as big as the
transformed size of the [class@Actor] using the offscreen effect.
Sub-classes of #ClutterOffscreenEffect can change the texture creation
code to provide bigger textures by overriding the
[vfunc@OffscreenEffect.create_texture] virtual function; no chain up
to the #ClutterOffscreenEffect implementation is required in this
case.

## Paint nodes

#ClutterOffscreenEffect generates the following paint node tree:

```
Effect
 ├─────────┐
Layer   Pipeline
 │
Actor
```

When the actor contents are cached, the generated paint node tree
looks like this:

```
Effect
 │
Pipeline
```

In both cases, the "Pipeline" node is created with the return value
of [vfunc@OffscreenEffect.create_pipeline].</doc>
      <source-position filename="clutter/clutter/clutter-offscreen-effect.h"
                       line="67"/>
      <virtual-method name="create_pipeline" introspectable="0">
        <source-position filename="clutter/clutter/clutter-offscreen-effect.h"
                         line="62"/>
        <return-value>
          <type name="Cogl.Pipeline" c:type="CoglPipeline*"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <type name="OffscreenEffect" c:type="ClutterOffscreenEffect*"/>
          </instance-parameter>
          <parameter name="texture" transfer-ownership="none">
            <type name="Cogl.Texture" c:type="CoglTexture*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="create_texture" invoker="create_texture">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-offscreen-effect.c"
             line="710">Calls the [vfunc@OffscreenEffect.create_texture] virtual function of the @effect</doc>
        <source-position filename="clutter/clutter/clutter-offscreen-effect.h"
                         line="58"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-offscreen-effect.c"
               line="718">a handle to a Cogl texture, or
  %NULL. The returned handle has its reference
  count increased.</doc>
          <type name="Cogl.Texture" c:type="CoglTexture*"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-offscreen-effect.c"
                 line="712">a #ClutterOffscreenEffect</doc>
            <type name="OffscreenEffect" c:type="ClutterOffscreenEffect*"/>
          </instance-parameter>
          <parameter name="cogl_context" transfer-ownership="none">
            <type name="Cogl.Context" c:type="CoglContext*"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-offscreen-effect.c"
                 line="713">the minimum width of the target texture</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-offscreen-effect.c"
                 line="714">the minimum height of the target texture</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="paint_target" invoker="paint_target">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-offscreen-effect.c"
             line="690">Calls the [vfunc@OffscreenEffect.paint_target] virtual function of the @effect</doc>
        <source-position filename="clutter/clutter/clutter-offscreen-effect.h"
                         line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-offscreen-effect.c"
                 line="692">a #ClutterOffscreenEffect</doc>
            <type name="OffscreenEffect" c:type="ClutterOffscreenEffect*"/>
          </instance-parameter>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-offscreen-effect.c"
                 line="693">a #ClutterPaintNode</doc>
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </parameter>
          <parameter name="paint_context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-offscreen-effect.c"
                 line="694">a #ClutterPaintContext</doc>
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="create_texture"
              c:identifier="clutter_offscreen_effect_create_texture">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-offscreen-effect.c"
             line="710">Calls the [vfunc@OffscreenEffect.create_texture] virtual function of the @effect</doc>
        <source-position filename="clutter/clutter/clutter-offscreen-effect.h"
                         line="80"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-offscreen-effect.c"
               line="718">a handle to a Cogl texture, or
  %NULL. The returned handle has its reference
  count increased.</doc>
          <type name="Cogl.Texture" c:type="CoglTexture*"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-offscreen-effect.c"
                 line="712">a #ClutterOffscreenEffect</doc>
            <type name="OffscreenEffect" c:type="ClutterOffscreenEffect*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <type name="Cogl.Context" c:type="CoglContext*"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-offscreen-effect.c"
                 line="713">the minimum width of the target texture</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-offscreen-effect.c"
                 line="714">the minimum height of the target texture</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_pipeline"
              c:identifier="clutter_offscreen_effect_get_pipeline">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-offscreen-effect.c"
             line="664">Retrieves the pipeline used as a render target for the offscreen
buffer created by @effect

You should only use the returned [class@Cogl.Pipeline] when painting. The
returned pipeline might change between different frames.</doc>
        <source-position filename="clutter/clutter/clutter-offscreen-effect.h"
                         line="70"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-offscreen-effect.c"
               line="674">a #CoglPipeline. The
  pipeline is owned by Clutter and it should not be modified
  or freed</doc>
          <type name="Cogl.Pipeline" c:type="CoglPipeline*"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-offscreen-effect.c"
                 line="666">a #ClutterOffscreenEffect</doc>
            <type name="OffscreenEffect" c:type="ClutterOffscreenEffect*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_target_size"
              c:identifier="clutter_offscreen_effect_get_target_size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-offscreen-effect.c"
             line="738">Retrieves the size of the offscreen buffer used by @effect to
paint the actor to which it has been applied.

This function should only be called by #ClutterOffscreenEffect
implementations, from within the [vfunc@OffscreenEffect.paint_target]
virtual function.</doc>
        <source-position filename="clutter/clutter/clutter-offscreen-effect.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-offscreen-effect.c"
               line="751">%TRUE if the offscreen buffer has a valid size,
  and %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-offscreen-effect.c"
                 line="740">a #ClutterOffscreenEffect</doc>
            <type name="OffscreenEffect" c:type="ClutterOffscreenEffect*"/>
          </instance-parameter>
          <parameter name="width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-offscreen-effect.c"
                 line="741">return location for the target width, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-offscreen-effect.c"
                 line="742">return location for the target height, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_texture"
              c:identifier="clutter_offscreen_effect_get_texture">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-offscreen-effect.c"
             line="634">Retrieves the texture used as a render target for the offscreen
buffer created by @effect

You should only use the returned texture when painting. The texture
may change after [vfunc@Effect.pre_paint] is called so the effect
implementation should update any references to the texture after
chaining-up to the parent's pre_paint implementation. This can be
used instead of [method@OffscreenEffect.get_texture] when the
effect subclass wants to paint using its own pipeline.</doc>
        <source-position filename="clutter/clutter/clutter-offscreen-effect.h"
                         line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-offscreen-effect.c"
               line="648">a #CoglTexture or %NULL. The
  returned texture is owned by Clutter and it should not be
  modified or freed</doc>
          <type name="Cogl.Texture" c:type="CoglTexture*"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-offscreen-effect.c"
                 line="636">a #ClutterOffscreenEffect</doc>
            <type name="OffscreenEffect" c:type="ClutterOffscreenEffect*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="paint_target"
              c:identifier="clutter_offscreen_effect_paint_target">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-offscreen-effect.c"
             line="690">Calls the [vfunc@OffscreenEffect.paint_target] virtual function of the @effect</doc>
        <source-position filename="clutter/clutter/clutter-offscreen-effect.h"
                         line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-offscreen-effect.c"
                 line="692">a #ClutterOffscreenEffect</doc>
            <type name="OffscreenEffect" c:type="ClutterOffscreenEffect*"/>
          </instance-parameter>
          <parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-offscreen-effect.c"
                 line="693">a #ClutterPaintNode</doc>
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </parameter>
          <parameter name="paint_context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-offscreen-effect.c"
                 line="694">a #ClutterPaintContext</doc>
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="Effect" c:type="ClutterEffect"/>
      </field>
    </class>
    <record name="OffscreenEffectClass"
            c:type="ClutterOffscreenEffectClass"
            glib:is-gtype-struct-for="OffscreenEffect">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-offscreen-effect.h"
           line="45">The #ClutterOffscreenEffectClass structure contains only private data</doc>
      <source-position filename="clutter/clutter/clutter-offscreen-effect.h"
                       line="67"/>
      <field name="parent_class" readable="0" private="1">
        <type name="EffectClass" c:type="ClutterEffectClass"/>
      </field>
      <field name="create_texture">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-offscreen-effect.h"
             line="47">virtual function</doc>
        <callback name="create_texture">
          <source-position filename="clutter/clutter/clutter-offscreen-effect.h"
                           line="58"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-offscreen-effect.c"
                 line="718">a handle to a Cogl texture, or
  %NULL. The returned handle has its reference
  count increased.</doc>
            <type name="Cogl.Texture" c:type="CoglTexture*"/>
          </return-value>
          <parameters>
            <parameter name="effect" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-offscreen-effect.c"
                   line="712">a #ClutterOffscreenEffect</doc>
              <type name="OffscreenEffect" c:type="ClutterOffscreenEffect*"/>
            </parameter>
            <parameter name="cogl_context" transfer-ownership="none">
              <type name="Cogl.Context" c:type="CoglContext*"/>
            </parameter>
            <parameter name="width" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-offscreen-effect.c"
                   line="713">the minimum width of the target texture</doc>
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
            <parameter name="height" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-offscreen-effect.c"
                   line="714">the minimum height of the target texture</doc>
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="create_pipeline" introspectable="0">
        <callback name="create_pipeline" introspectable="0">
          <source-position filename="clutter/clutter/clutter-offscreen-effect.h"
                           line="62"/>
          <return-value>
            <type name="Cogl.Pipeline" c:type="CoglPipeline*"/>
          </return-value>
          <parameters>
            <parameter name="effect" transfer-ownership="none">
              <type name="OffscreenEffect" c:type="ClutterOffscreenEffect*"/>
            </parameter>
            <parameter name="texture" transfer-ownership="none">
              <type name="Cogl.Texture" c:type="CoglTexture*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="paint_target">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-offscreen-effect.h"
             line="48">virtual function</doc>
        <callback name="paint_target">
          <source-position filename="clutter/clutter/clutter-offscreen-effect.h"
                           line="64"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="effect" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-offscreen-effect.c"
                   line="692">a #ClutterOffscreenEffect</doc>
              <type name="OffscreenEffect" c:type="ClutterOffscreenEffect*"/>
            </parameter>
            <parameter name="node" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-offscreen-effect.c"
                   line="693">a #ClutterPaintNode</doc>
              <type name="PaintNode" c:type="ClutterPaintNode*"/>
            </parameter>
            <parameter name="paint_context" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-offscreen-effect.c"
                   line="694">a #ClutterPaintContext</doc>
              <type name="PaintContext" c:type="ClutterPaintContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <bitfield name="OffscreenRedirect"
              glib:type-name="ClutterOffscreenRedirect"
              glib:get-type="clutter_offscreen_redirect_get_type"
              c:type="ClutterOffscreenRedirect">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="395">Possible flags to pass to clutter_actor_set_offscreen_redirect().</doc>
      <member name="automatic_for_opacity"
              value="1"
              c:identifier="CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY"
              glib:nick="automatic-for-opacity"
              glib:name="CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="397">Only redirect
  the actor if it is semi-transparent and its has_overlaps()
  virtual returns %TRUE.</doc>
      </member>
      <member name="always"
              value="2"
              c:identifier="CLUTTER_OFFSCREEN_REDIRECT_ALWAYS"
              glib:nick="always"
              glib:name="CLUTTER_OFFSCREEN_REDIRECT_ALWAYS">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="400">Always redirect the actor to an
  offscreen buffer even if it is fully opaque.</doc>
      </member>
      <member name="on_idle"
              value="4"
              c:identifier="CLUTTER_OFFSCREEN_REDIRECT_ON_IDLE"
              glib:nick="on-idle"
              glib:name="CLUTTER_OFFSCREEN_REDIRECT_ON_IDLE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="402">Only redirect the actor if it is the
  most efficient thing to do based on its recent repaint behaviour. That
  means when its contents are changing less frequently than it's being used
  on stage.</doc>
      </member>
    </bitfield>
    <enumeration name="Orientation"
                 glib:type-name="ClutterOrientation"
                 glib:get-type="clutter_orientation_get_type"
                 c:type="ClutterOrientation">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="875">Represents the orientation of actors or layout managers.</doc>
      <member name="horizontal"
              value="0"
              c:identifier="CLUTTER_ORIENTATION_HORIZONTAL"
              glib:nick="horizontal"
              glib:name="CLUTTER_ORIENTATION_HORIZONTAL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="877">An horizontal orientation</doc>
      </member>
      <member name="vertical"
              value="1"
              c:identifier="CLUTTER_ORIENTATION_VERTICAL"
              glib:nick="vertical"
              glib:name="CLUTTER_ORIENTATION_VERTICAL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="878">A vertical orientation</doc>
      </member>
    </enumeration>
    <function-macro name="PAINT_NODE"
                    c:identifier="CLUTTER_PAINT_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-node.h"
                       line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PIPELINE_NODE"
                    c:identifier="CLUTTER_PIPELINE_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="79"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="PRIORITY_REDRAW"
              value="50"
              c:type="CLUTTER_PRIORITY_REDRAW">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-main.h"
           line="83">Priority of the redraws. This is chosen to be lower than the GTK+
redraw and resize priorities, because in application with both
GTK+ and Clutter it's more likely that the Clutter part will be
continually animating (and thus able to starve GTK+) than
vice-versa.</doc>
      <source-position filename="clutter/clutter/clutter-main.h" line="92"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <function-macro name="PRIVATE_FIELD"
                    c:identifier="CLUTTER_PRIVATE_FIELD"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-macros.h" line="35"/>
      <parameters>
        <parameter name="x">
        </parameter>
      </parameters>
    </function-macro>
    <record name="PadButtonEvent"
            c:type="ClutterPadButtonEvent"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-event.h" line="106"/>
    </record>
    <record name="PadDialEvent"
            c:type="ClutterPadDialEvent"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-event.h" line="109"/>
    </record>
    <record name="PadRingEvent"
            c:type="ClutterPadRingEvent"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-event.h" line="108"/>
    </record>
    <record name="PadStripEvent"
            c:type="ClutterPadStripEvent"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-event.h" line="107"/>
    </record>
    <class name="PageTurnEffect"
           c:symbol-prefix="page_turn_effect"
           c:type="ClutterPageTurnEffect"
           parent="DeformEffect"
           glib:type-name="ClutterPageTurnEffect"
           glib:get-type="clutter_page_turn_effect_get_type"
           glib:type-struct="PageTurnEffectClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-page-turn-effect.c"
           line="28">A page turning effect

A simple page turning effect</doc>
      <source-position filename="clutter/clutter/clutter-page-turn-effect.h"
                       line="41"/>
      <constructor name="new" c:identifier="clutter_page_turn_effect_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-page-turn-effect.c"
             line="254">Creates a new #ClutterPageTurnEffect instance with the given parameters</doc>
        <source-position filename="clutter/clutter/clutter-page-turn-effect.h"
                         line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-page-turn-effect.c"
               line="262">the newly created #ClutterPageTurnEffect</doc>
          <type name="Effect" c:type="ClutterEffect*"/>
        </return-value>
        <parameters>
          <parameter name="period" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-page-turn-effect.c"
                 line="256">the period of the page curl, between 0.0 and 1.0</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="angle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-page-turn-effect.c"
                 line="257">the angle of the page curl, between 0.0 and 360.0</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="radius" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-page-turn-effect.c"
                 line="258">the radius of the page curl, in pixels</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_angle"
              c:identifier="clutter_page_turn_effect_get_angle"
              glib:get-property="angle">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-page-turn-effect.c"
             line="338">Retrieves the value set using [method@PageTurnEffect.get_angle]</doc>
        <source-position filename="clutter/clutter/clutter-page-turn-effect.h"
                         line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-page-turn-effect.c"
               line="344">the angle of the page curling</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-page-turn-effect.c"
                 line="340">a #ClutterPageTurnEffect:</doc>
            <type name="PageTurnEffect" c:type="ClutterPageTurnEffect*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_period"
              c:identifier="clutter_page_turn_effect_get_period"
              glib:get-property="period">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-page-turn-effect.c"
             line="301">Retrieves the value set using [method@PageTurnEffect.get_period]</doc>
        <source-position filename="clutter/clutter/clutter-page-turn-effect.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-page-turn-effect.c"
               line="307">the period of the page curling</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-page-turn-effect.c"
                 line="303">a #ClutterPageTurnEffect</doc>
            <type name="PageTurnEffect" c:type="ClutterPageTurnEffect*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_radius"
              c:identifier="clutter_page_turn_effect_get_radius"
              glib:get-property="radius">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-page-turn-effect.c"
             line="374">Retrieves the value set using [method@PageTurnEffect.set_radius]</doc>
        <source-position filename="clutter/clutter/clutter-page-turn-effect.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-page-turn-effect.c"
               line="380">the radius of the page curling</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-page-turn-effect.c"
                 line="376">a #ClutterPageTurnEffect</doc>
            <type name="PageTurnEffect" c:type="ClutterPageTurnEffect*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_angle"
              c:identifier="clutter_page_turn_effect_set_angle"
              glib:set-property="angle">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-page-turn-effect.c"
             line="317">Sets the angle of the page curling, in degrees</doc>
        <source-position filename="clutter/clutter/clutter-page-turn-effect.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-page-turn-effect.c"
                 line="319">#ClutterPageTurnEffect</doc>
            <type name="PageTurnEffect" c:type="ClutterPageTurnEffect*"/>
          </instance-parameter>
          <parameter name="angle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-page-turn-effect.c"
                 line="320">the angle of the page curl, in degrees</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_period"
              c:identifier="clutter_page_turn_effect_set_period"
              glib:set-property="period">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-page-turn-effect.c"
             line="279">Sets the period of the page curling, between 0.0 (no curling)
and 1.0 (fully curled)</doc>
        <source-position filename="clutter/clutter/clutter-page-turn-effect.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-page-turn-effect.c"
                 line="281">a #ClutterPageTurnEffect</doc>
            <type name="PageTurnEffect" c:type="ClutterPageTurnEffect*"/>
          </instance-parameter>
          <parameter name="period" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-page-turn-effect.c"
                 line="282">the period of the page curl, between 0.0 and 1.0</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_radius"
              c:identifier="clutter_page_turn_effect_set_radius"
              glib:set-property="radius">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-page-turn-effect.c"
             line="354">Sets the radius of the page curling</doc>
        <source-position filename="clutter/clutter/clutter-page-turn-effect.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-page-turn-effect.c"
                 line="356">a #ClutterPageTurnEffect:</doc>
            <type name="PageTurnEffect" c:type="ClutterPageTurnEffect*"/>
          </instance-parameter>
          <parameter name="radius" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-page-turn-effect.c"
                 line="357">the radius of the page curling, in pixels</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <property name="angle"
                writable="1"
                transfer-ownership="none"
                setter="set_angle"
                getter="get_angle"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-page-turn-effect.c"
             line="217">The angle of the page rotation, in degrees, between 0.0 and 360.0</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="period"
                writable="1"
                transfer-ownership="none"
                setter="set_period"
                getter="get_period"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-page-turn-effect.c"
             line="203">The period of the page turn, between 0.0 (no curling) and
1.0 (fully curled)</doc>
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="radius"
                writable="1"
                transfer-ownership="none"
                setter="set_radius"
                getter="get_radius"
                default-value="24.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-page-turn-effect.c"
             line="230">The radius of the page curl, in pixels</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
    </class>
    <record name="PageTurnEffectClass"
            c:type="ClutterPageTurnEffectClass"
            glib:is-gtype-struct-for="PageTurnEffect">
      <source-position filename="clutter/clutter/clutter-page-turn-effect.h"
                       line="41"/>
      <field name="parent_class">
        <type name="DeformEffectClass" c:type="ClutterDeformEffectClass"/>
      </field>
    </record>
    <record name="PaintContext"
            c:type="ClutterPaintContext"
            opaque="1"
            glib:type-name="ClutterPaintContext"
            glib:get-type="clutter_paint_context_get_type"
            c:symbol-prefix="paint_context">
      <source-position filename="clutter/clutter/clutter-types.h" line="54"/>
      <constructor name="new_for_framebuffer"
                   c:identifier="clutter_paint_context_new_for_framebuffer"
                   introspectable="0">
        <source-position filename="clutter/clutter/clutter-paint-context.h"
                         line="45"/>
        <return-value transfer-ownership="full">
          <type name="PaintContext" c:type="ClutterPaintContext*"/>
        </return-value>
        <parameters>
          <parameter name="framebuffer" transfer-ownership="none">
            <type name="Cogl.Framebuffer" c:type="CoglFramebuffer*"/>
          </parameter>
          <parameter name="redraw_clip" transfer-ownership="none">
            <type name="Mtk.Region" c:type="const MtkRegion*"/>
          </parameter>
          <parameter name="paint_flags" transfer-ownership="none">
            <type name="PaintFlag" c:type="ClutterPaintFlag"/>
          </parameter>
          <parameter name="color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="destroy" c:identifier="clutter_paint_context_destroy">
        <source-position filename="clutter/clutter/clutter-paint-context.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_color_state"
              c:identifier="clutter_paint_context_get_color_state"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-paint-context.h"
                         line="92"/>
        <return-value>
          <type name="ColorState" c:type="ClutterColorState*"/>
        </return-value>
        <parameters>
          <instance-parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_frame"
              c:identifier="clutter_paint_context_get_frame"
              introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-context.c"
             line="246">Retrieves the #ClutterFrame assigned to @paint_context, if any. A frame is
only assigned when the paint context is created as part of a frame scheduled
by the frame clock, and won't be assigned e.g. on offscreen paints.</doc>
        <source-position filename="clutter/clutter/clutter-paint-context.h"
                         line="79"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-context.c"
               line="254">The #ClutterFrame associated with the
  @paint_context, or %NULL</doc>
          <type name="Frame" c:type="ClutterFrame*"/>
        </return-value>
        <parameters>
          <instance-parameter name="paint_context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-context.c"
                 line="248">The #ClutterPaintContext</doc>
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_framebuffer"
              c:identifier="clutter_paint_context_get_framebuffer">
        <source-position filename="clutter/clutter/clutter-paint-context.h"
                         line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-context.c"
               line="185">The #CoglFramebuffer used for drawing</doc>
          <type name="Cogl.Framebuffer" c:type="CoglFramebuffer*"/>
        </return-value>
        <parameters>
          <instance-parameter name="paint_context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-context.c"
                 line="183">The #ClutterPaintContext</doc>
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_paint_flags"
              c:identifier="clutter_paint_context_get_paint_flags"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-paint-context.h"
                         line="76"/>
        <return-value transfer-ownership="none">
          <type name="PaintFlag" c:type="ClutterPaintFlag"/>
        </return-value>
        <parameters>
          <instance-parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_redraw_clip"
              c:identifier="clutter_paint_context_get_redraw_clip">
        <source-position filename="clutter/clutter/clutter-paint-context.h"
                         line="73"/>
        <return-value transfer-ownership="none">
          <type name="Mtk.Region" c:type="const MtkRegion*"/>
        </return-value>
        <parameters>
          <instance-parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stage_view"
              c:identifier="clutter_paint_context_get_stage_view"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-paint-context.h"
                         line="63"/>
        <return-value>
          <type name="StageView" c:type="ClutterStageView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_target_color_state"
              c:identifier="clutter_paint_context_get_target_color_state"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-paint-context.h"
                         line="89"/>
        <return-value>
          <type name="ColorState" c:type="ClutterColorState*"/>
        </return-value>
        <parameters>
          <instance-parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="pop_color_state"
              c:identifier="clutter_paint_context_pop_color_state">
        <source-position filename="clutter/clutter/clutter-paint-context.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="pop_framebuffer"
              c:identifier="clutter_paint_context_pop_framebuffer">
        <source-position filename="clutter/clutter/clutter-paint-context.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="push_color_state"
              c:identifier="clutter_paint_context_push_color_state">
        <source-position filename="clutter/clutter/clutter-paint-context.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </instance-parameter>
          <parameter name="color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
        </parameters>
      </method>
      <method name="push_framebuffer"
              c:identifier="clutter_paint_context_push_framebuffer">
        <source-position filename="clutter/clutter/clutter-paint-context.h"
                         line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </instance-parameter>
          <parameter name="framebuffer" transfer-ownership="none">
            <type name="Cogl.Framebuffer" c:type="CoglFramebuffer*"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="clutter_paint_context_ref">
        <source-position filename="clutter/clutter/clutter-paint-context.h"
                         line="51"/>
        <return-value transfer-ownership="full">
          <type name="PaintContext" c:type="ClutterPaintContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="clutter_paint_context_unref">
        <source-position filename="clutter/clutter/clutter-paint-context.h"
                         line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <bitfield name="PaintFlag"
              glib:type-name="ClutterPaintFlag"
              glib:get-type="clutter_paint_flag_get_type"
              c:type="ClutterPaintFlag">
      <member name="none"
              value="0"
              c:identifier="CLUTTER_PAINT_FLAG_NONE"
              glib:nick="none"
              glib:name="CLUTTER_PAINT_FLAG_NONE">
      </member>
      <member name="no_cursors"
              value="1"
              c:identifier="CLUTTER_PAINT_FLAG_NO_CURSORS"
              glib:nick="no-cursors"
              glib:name="CLUTTER_PAINT_FLAG_NO_CURSORS">
      </member>
      <member name="force_cursors"
              value="2"
              c:identifier="CLUTTER_PAINT_FLAG_FORCE_CURSORS"
              glib:nick="force-cursors"
              glib:name="CLUTTER_PAINT_FLAG_FORCE_CURSORS">
      </member>
      <member name="clear"
              value="4"
              c:identifier="CLUTTER_PAINT_FLAG_CLEAR"
              glib:nick="clear"
              glib:name="CLUTTER_PAINT_FLAG_CLEAR">
      </member>
    </bitfield>
    <class name="PaintNode"
           c:symbol-prefix="paint_node"
           c:type="ClutterPaintNode"
           abstract="1"
           glib:type-name="ClutterPaintNode"
           glib:get-type="clutter_paint_node_get_type"
           glib:type-struct="PaintNodeClass"
           glib:fundamental="1"
           glib:ref-func="clutter_paint_node_ref"
           glib:unref-func="clutter_paint_node_unref"
           glib:set-value-func="clutter_value_set_paint_node"
           glib:get-value-func="clutter_value_get_paint_node">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-paint-node.c"
           line="25">Paint objects

#ClutterPaintNode is an element in the render graph.

The render graph contains all the elements that need to be painted by
Clutter when submitting a frame to the graphics system.

The render graph is distinct from the scene graph: the scene graph is
composed by actors, which can be visible or invisible; the scene graph
elements also respond to events. The render graph, instead, is only
composed by nodes that will be painted.

Each #ClutterActor can submit multiple `ClutterPaintNode`s to
the render graph.</doc>
      <source-position filename="clutter/clutter/clutter-paint-node.h"
                       line="41"/>
      <method name="add_child" c:identifier="clutter_paint_node_add_child">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-node.c"
             line="349">Adds @child to the list of children of @node.

This function will acquire a reference on @child.</doc>
        <source-position filename="clutter/clutter/clutter-paint-node.h"
                         line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="351">a #ClutterPaintNode</doc>
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </instance-parameter>
          <parameter name="child" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="352">the child #ClutterPaintNode to add</doc>
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_multitexture_rectangle"
              c:identifier="clutter_paint_node_add_multitexture_rectangle">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-node.c"
             line="729">Adds a rectangle region to the @node, with multitexture coordinates.</doc>
        <source-position filename="clutter/clutter/clutter-paint-node.h"
                         line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="731">a #ClutterPaintNode</doc>
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </instance-parameter>
          <parameter name="rect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="732">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </parameter>
          <parameter name="text_coords" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="733">array of multitexture values</doc>
            <type name="gfloat" c:type="const float*"/>
          </parameter>
          <parameter name="text_coords_len" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="734">number of items of @text_coords</doc>
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_primitive"
              c:identifier="clutter_paint_node_add_primitive"
              introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-node.c"
             line="823">Adds a region described by a Cogl primitive to the @node.

This function acquires a reference on @primitive, so it is safe
to call g_object_unref() when it returns.</doc>
        <source-position filename="clutter/clutter/clutter-paint-node.h"
                         line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="825">a #ClutterPaintNode</doc>
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </instance-parameter>
          <parameter name="primitive" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="826">a Cogl primitive</doc>
            <type name="Cogl.Primitive" c:type="CoglPrimitive*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_rectangle"
              c:identifier="clutter_paint_node_add_rectangle">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-node.c"
             line="675">Adds a rectangle region to the @node, as described by the
passed @rect.</doc>
        <source-position filename="clutter/clutter/clutter-paint-node.h"
                         line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="677">a #ClutterPaintNode</doc>
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </instance-parameter>
          <parameter name="rect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="678">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_rectangles"
              c:identifier="clutter_paint_node_add_rectangles">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-node.c"
             line="755">Adds a series of rectangles to @node.

As a general rule for better performance its recommended to use this API
instead of calling clutter_paint_node_add_rectangle() separately for
multiple rectangles if all of the rectangles will be drawn together.

See cogl_framebuffer_draw_rectangles().</doc>
        <source-position filename="clutter/clutter/clutter-paint-node.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="757">a #ClutterPaintNode</doc>
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </instance-parameter>
          <parameter name="coords" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="758">array of
  coordinates containing groups of 4 float values: [x_1, y_1, x_2, y_2] that
  are interpreted as two position coordinates; one for the top left of the
  rectangle (x1, y1), and one for the bottom right of the rectangle
  (x2, y2).</doc>
            <array length="1" zero-terminated="0" c:type="const float*">
              <type name="gfloat" c:type="float"/>
            </array>
          </parameter>
          <parameter name="n_rects" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="763">number of rectangles defined in @coords.</doc>
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_texture_rectangle"
              c:identifier="clutter_paint_node_add_texture_rectangle">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-node.c"
             line="698">Adds a rectangle region to the @node, with texture coordinates.</doc>
        <source-position filename="clutter/clutter/clutter-paint-node.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="700">a #ClutterPaintNode</doc>
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </instance-parameter>
          <parameter name="rect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="701">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </parameter>
          <parameter name="x_1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="702">the left X coordinate of the texture</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="y_1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="703">the top Y coordinate of the texture</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="x_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="704">the right X coordinate of the texture</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="y_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="705">the bottom Y coordinate of the texture</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_texture_rectangles"
              c:identifier="clutter_paint_node_add_texture_rectangles">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-node.c"
             line="789">Adds a series of rectangles to @node.

The given texture coordinates should always be normalized such that
(0, 0) corresponds to the top left and (1, 1) corresponds to the
bottom right. To map an entire texture across the rectangle pass
in s_1=0, t_1=0, s_2=1, t_2=1.

See cogl_framebuffer_draw_textured_rectangles().</doc>
        <source-position filename="clutter/clutter/clutter-paint-node.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="791">a #ClutterPaintNode</doc>
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </instance-parameter>
          <parameter name="coords" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="792">array containing
  groups of 8 float values: [x_1, y_1, x_2, y_2, s_1, t_1, s_2, t_2]
  that have the same meaning as the arguments for
  cogl_framebuffer_draw_textured_rectangle().</doc>
            <array length="1" zero-terminated="0" c:type="const float*">
              <type name="gfloat" c:type="float"/>
            </array>
          </parameter>
          <parameter name="n_rects" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="796">number of rectangles defined in @coords.</doc>
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_framebuffer"
              c:identifier="clutter_paint_node_get_framebuffer">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-node.c"
             line="900">Retrieves the #CoglFramebuffer that @node will draw
into. If @node doesn't specify a custom framebuffer,
the first ancestor with a custom framebuffer will be
used.</doc>
        <source-position filename="clutter/clutter/clutter-paint-node.h"
                         line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-node.c"
               line="909">a #CoglFramebuffer or %NULL if no custom one is
set.</doc>
          <type name="Cogl.Framebuffer" c:type="CoglFramebuffer*"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="902">a #ClutterPaintNode</doc>
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="paint" c:identifier="clutter_paint_node_paint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-node.c"
             line="848">Paints the @node using the class implementation, traversing
its children, if any.</doc>
        <source-position filename="clutter/clutter/clutter-paint-node.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="850">a #ClutterPaintNode</doc>
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </instance-parameter>
          <parameter name="paint_context" transfer-ownership="none">
            <type name="PaintContext" c:type="ClutterPaintContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="clutter_paint_node_ref">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-node.c"
             line="312">Acquires a reference on @node.</doc>
        <source-position filename="clutter/clutter/clutter-paint-node.h"
                         line="47"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-node.c"
               line="318">the #ClutterPaintNode</doc>
          <type name="PaintNode" c:type="ClutterPaintNode*"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="314">a #ClutterPaintNode</doc>
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_name" c:identifier="clutter_paint_node_set_name">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-node.c"
             line="276">Sets a user-readable @name for @node.

The @name will be used for debugging purposes.

The @node will intern @name using g_intern_string(). If you have access to a
static string, use clutter_paint_node_set_static_name() instead.</doc>
        <source-position filename="clutter/clutter/clutter-paint-node.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="278">a #ClutterPaintNode</doc>
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="279">a string annotating the @node</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_static_name"
              c:identifier="clutter_paint_node_set_static_name"
              introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-node.c"
             line="297">Like clutter_paint_node_set_name() but uses a static or interned string
containing the name.</doc>
        <source-position filename="clutter/clutter/clutter-paint-node.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="clutter_paint_node_unref">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-node.c"
             line="330">Releases a reference on @node.</doc>
        <source-position filename="clutter/clutter/clutter-paint-node.h"
                         line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="node" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-node.c"
                 line="332">a #ClutterPaintNode</doc>
            <type name="PaintNode" c:type="ClutterPaintNode*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="PaintNodeClass"
            c:type="ClutterPaintNodeClass"
            glib:is-gtype-struct-for="PaintNode">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-paint-node.c"
           line="44">The `ClutterPaintNodeClass` structure contains only private data.</doc>
      <source-position filename="clutter/clutter/clutter-paint-node.h"
                       line="41"/>
    </record>
    <record name="PaintNodePrivate"
            c:type="ClutterPaintNodePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-paint-node.h"
                       line="40"/>
    </record>
    <record name="PaintVolume"
            c:type="ClutterPaintVolume"
            opaque="1"
            glib:type-name="ClutterPaintVolume"
            glib:get-type="clutter_paint_volume_get_type"
            c:symbol-prefix="paint_volume">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-types.h"
           line="102">A #ClutterPaintVolume represents a bounding volume whose internal
representation isn't defined but can be set and queried in terms
of an axis aligned bounding box.

A #ClutterPaintVolume for a [class@Actor]
is defined to be relative from the current actor modelview matrix.

Other internal representation and methods for describing the
bounding volume may be added in the future.</doc>
      <source-position filename="clutter/clutter/clutter-types.h" line="115"/>
      <method name="copy" c:identifier="clutter_paint_volume_copy">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-volume.c"
             line="80">Copies @pv into a new #ClutterPaintVolume</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="272"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-volume.c"
               line="86">a newly allocated copy of a #ClutterPaintVolume</doc>
          <type name="PaintVolume" c:type="ClutterPaintVolume*"/>
        </return-value>
        <parameters>
          <instance-parameter name="pv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="82">a #ClutterPaintVolume</doc>
            <type name="PaintVolume" c:type="const ClutterPaintVolume*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="clutter_paint_volume_free">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-volume.c"
             line="100">Frees the resources allocated by @pv</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="274"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="102">a #ClutterPaintVolume</doc>
            <type name="PaintVolume" c:type="ClutterPaintVolume*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_depth" c:identifier="clutter_paint_volume_get_depth">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-volume.c"
             line="394">Retrieves the depth of the volume's, axis aligned, bounding box.

In other words; this takes into account what actor's coordinate
space @pv belongs too and conceptually fits an axis aligned box
around the volume. It returns the size of that bounding box as
measured along the z-axis.

If, for example, [method@Actor.get_transformed_paint_volume]
is used to transform a 2D child actor that is 100px wide, 100px
high and 0px deep into container coordinates then the depth might
not simply be 0px if the child actor has a 3D rotation applied to
it.

Remember: if [method@Actor.get_transformed_paint_volume] is
used then the transformed volume will be defined relative to the
container actor and in container coordinates a 2D child actor
can have a 3D bounding volume.

There are no accuracy guarantees for the reported depth,
except that it must always be greater than, or equal to, the actor's
depth. This is because actors may report simple, loose fitting paint
volumes for efficiency.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="296"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-volume.c"
               line="421">the depth, in units of @pv's local coordinate system.</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="pv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="396">a #ClutterPaintVolume</doc>
            <type name="PaintVolume" c:type="const ClutterPaintVolume*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_height" c:identifier="clutter_paint_volume_get_height">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-volume.c"
             line="306">Retrieves the height of the volume's, axis aligned, bounding box.

In other words; this takes into account what actor's coordinate
space @pv belongs too and conceptually fits an axis aligned box
around the volume. It returns the size of that bounding box as
measured along the y-axis.

If, for example, [method@Actor.get_transformed_paint_volume]
is used to transform a 2D child actor that is 100px wide, 100px
high and 0px deep into container coordinates then the height might
not simply be 100px if the child actor has a 3D rotation applied to
it.

Remember: if [method@Actor.get_transformed_paint_volume] is
used then a transformed child volume will be defined relative to the
ancestor container actor and so a 2D child actor
can have a 3D bounding volume.

There are no accuracy guarantees for the reported height,
except that it must always be greater than, or equal to, the actor's
height. This is because actors may report simple, loose fitting paint
volumes for efficiency.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="291"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-volume.c"
               line="333">the height, in units of @pv's local coordinate system.</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="pv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="308">a #ClutterPaintVolume</doc>
            <type name="PaintVolume" c:type="const ClutterPaintVolume*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_origin" c:identifier="clutter_paint_volume_get_origin">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-volume.c"
             line="152">Retrieves the origin of the #ClutterPaintVolume.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="280"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="154">a #ClutterPaintVolume</doc>
            <type name="PaintVolume" c:type="const ClutterPaintVolume*"/>
          </instance-parameter>
          <parameter name="vertex"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="155">the return location for a #graphene_point3d_t</doc>
            <type name="Graphene.Point3D" c:type="graphene_point3d_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_width" c:identifier="clutter_paint_volume_get_width">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-volume.c"
             line="219">Retrieves the width of the volume's, axis aligned, bounding box.

In other words; this takes into account what actor's coordinate
space @pv belongs too and conceptually fits an axis aligned box
around the volume. It returns the size of that bounding box as
measured along the x-axis.

If, for example, [method@Actor.get_transformed_paint_volume]
is used to transform a 2D child actor that is 100px wide, 100px
high and 0px deep into container coordinates then the width might
not simply be 100px if the child actor has a 3D rotation applied to
it.

Remember: if [method@Actor.get_transformed_paint_volume] is
used then a transformed child volume will be defined relative to the
ancestor container actor and so a 2D child actor can have a 3D
bounding volume.

There are no accuracy guarantees for the reported width,
except that it must always be greater than, or equal to, the
actor's width. This is because actors may report simple, loose
fitting paint volumes for efficiency.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="286"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-volume.c"
               line="246">the width, in units of @pv's local coordinate system.</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="pv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="221">a #ClutterPaintVolume</doc>
            <type name="PaintVolume" c:type="const ClutterPaintVolume*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_depth" c:identifier="clutter_paint_volume_set_depth">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-volume.c"
             line="355">Sets the depth of the paint volume. The depth is measured along
the z axis in the actor coordinates that @pv is associated with.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="293"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="357">a #ClutterPaintVolume</doc>
            <type name="PaintVolume" c:type="ClutterPaintVolume*"/>
          </instance-parameter>
          <parameter name="depth" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="358">the depth of the paint volume, in pixels</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_from_allocation"
              c:identifier="clutter_paint_volume_set_from_allocation">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-volume.c"
             line="897">Sets the #ClutterPaintVolume from the allocation of @actor.

This function should be used when overriding the
[vfunc@Actor.get_paint_volume] by [class@Actor] sub-classes
that do not paint outside their allocation.

A typical example is:

```c
static gboolean
my_actor_get_paint_volume (ClutterActor       *self,
                           ClutterPaintVolume *volume)
{
  return clutter_paint_volume_set_from_allocation (volume, self);
}
```</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="305"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-volume.c"
               line="919">%TRUE if the paint volume was successfully set, and %FALSE
  otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="pv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="899">a #ClutterPaintVolume</doc>
            <type name="PaintVolume" c:type="ClutterPaintVolume*"/>
          </instance-parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="900">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_height" c:identifier="clutter_paint_volume_set_height">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-volume.c"
             line="268">Sets the height of the paint volume. The height is measured along
the y axis in the actor coordinates that @pv is associated with.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="288"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="270">a #ClutterPaintVolume</doc>
            <type name="PaintVolume" c:type="ClutterPaintVolume*"/>
          </instance-parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="271">the height of the paint volume, in pixels</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_origin" c:identifier="clutter_paint_volume_set_origin">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-volume.c"
             line="114">Sets the origin of the paint volume.

The origin is defined as the X, Y and Z coordinates of the top-left
corner of an actor's paint volume, in actor coordinates.

The default is origin is assumed at: (0, 0, 0)</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="277"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="116">a #ClutterPaintVolume</doc>
            <type name="PaintVolume" c:type="ClutterPaintVolume*"/>
          </instance-parameter>
          <parameter name="origin" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="117">a #graphene_point3d_t</doc>
            <type name="Graphene.Point3D" c:type="const graphene_point3d_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_width" c:identifier="clutter_paint_volume_set_width">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-volume.c"
             line="180">Sets the width of the paint volume. The width is measured along
the x axis in the actor coordinates that @pv is associated with.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="283"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="182">a #ClutterPaintVolume</doc>
            <type name="PaintVolume" c:type="ClutterPaintVolume*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="183">the width of the paint volume, in pixels</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="union" c:identifier="clutter_paint_volume_union">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-volume.c"
             line="443">Updates the geometry of @pv to encompass @pv and @another_pv.

There are no guarantees about how precisely the two volumes
will be unioned.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="298"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="445">The first #ClutterPaintVolume and destination for resulting
     union</doc>
            <type name="PaintVolume" c:type="ClutterPaintVolume*"/>
          </instance-parameter>
          <parameter name="another_pv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="447">A second #ClutterPaintVolume to union with @pv</doc>
            <type name="PaintVolume" c:type="const ClutterPaintVolume*"/>
          </parameter>
        </parameters>
      </method>
      <method name="union_box" c:identifier="clutter_paint_volume_union_box">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-volume.c"
             line="526">Unions the 2D region represented by @box to a #ClutterPaintVolume.

This function is similar to [method@PaintVolume.union], but it is
specific for 2D regions.</doc>
        <source-position filename="clutter/clutter/clutter-types.h"
                         line="301"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="528">a #ClutterPaintVolume</doc>
            <type name="PaintVolume" c:type="ClutterPaintVolume*"/>
          </instance-parameter>
          <parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-volume.c"
                 line="529">a #ClutterActorBox to union to @pv</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="PanAxis"
                 glib:type-name="ClutterPanAxis"
                 glib:get-type="clutter_pan_axis_get_type"
                 c:type="ClutterPanAxis">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="751">The axis of the constraint that should be applied on the
panning action</doc>
      <member name="both"
              value="0"
              c:identifier="CLUTTER_PAN_AXIS_BOTH"
              glib:nick="both"
              glib:name="CLUTTER_PAN_AXIS_BOTH">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="753">No constraint</doc>
      </member>
      <member name="x"
              value="1"
              c:identifier="CLUTTER_PAN_AXIS_X"
              glib:nick="x"
              glib:name="CLUTTER_PAN_AXIS_X">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="754">Set a constraint on the X axis</doc>
      </member>
      <member name="y"
              value="2"
              c:identifier="CLUTTER_PAN_AXIS_Y"
              glib:nick="y"
              glib:name="CLUTTER_PAN_AXIS_Y">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="755">Set a constraint on the Y axis</doc>
      </member>
    </enumeration>
    <class name="PanGesture"
           c:symbol-prefix="pan_gesture"
           c:type="ClutterPanGesture"
           parent="Gesture"
           final="1"
           glib:type-name="ClutterPanGesture"
           glib:get-type="clutter_pan_gesture_get_type"
           glib:type-struct="PanGestureClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-pan-gesture.c"
           line="18">A #ClutterGesture subclass for recognizing pan gestures</doc>
      <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                       line="31"/>
      <constructor name="new" c:identifier="clutter_pan_gesture_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="572">Creates a new #ClutterPanGesture instance</doc>
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-pan-gesture.c"
               line="577">the newly created #ClutterPanGesture</doc>
          <type name="Action" c:type="ClutterAction*"/>
        </return-value>
      </constructor>
      <method name="get_accumulated_delta"
              c:identifier="clutter_pan_gesture_get_accumulated_delta">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="982">Retrieves the accumulated delta from all events (ie. the total delta that the
pan has been moved) as @accumulated_delta_out.

This function is mostly meant to be called within ::pan-update signal handlers,
to get the delta that the pan has moved since the last ::pan-update emission.</doc>
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="94"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="984">the #ClutterPanGesture</doc>
            <type name="PanGesture" c:type="ClutterPanGesture*"/>
          </instance-parameter>
          <parameter name="accumulated_delta_out"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="985">the accumulated delta from all events</doc>
            <type name="Graphene.Vec2" c:type="graphene_vec2_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_accumulated_delta_abs"
              c:identifier="clutter_pan_gesture_get_accumulated_delta_abs">
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="102"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="1051">the #ClutterPanGesture</doc>
            <type name="PanGesture" c:type="ClutterPanGesture*"/>
          </instance-parameter>
          <parameter name="accumulated_delta_out"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="1052">the accumulated delta from all events</doc>
            <type name="Graphene.Vec2" c:type="graphene_vec2_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_begin_centroid"
              c:identifier="clutter_pan_gesture_get_begin_centroid">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="761">Retrieves the begin centroid of @self.</doc>
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="763">the #ClutterPanGesture</doc>
            <type name="PanGesture" c:type="ClutterPanGesture*"/>
          </instance-parameter>
          <parameter name="centroid_out"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="764">a #graphene_point_t</doc>
            <type name="Graphene.Point" c:type="graphene_point_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_begin_centroid_abs"
              c:identifier="clutter_pan_gesture_get_begin_centroid_abs">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="789">Retrieves the begin centroid of @self in absolute coordinates.</doc>
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="791">the #ClutterPanGesture</doc>
            <type name="PanGesture" c:type="ClutterPanGesture*"/>
          </instance-parameter>
          <parameter name="centroid_out"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="792">a #graphene_point_t</doc>
            <type name="Graphene.Point" c:type="graphene_point_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_begin_threshold"
              c:identifier="clutter_pan_gesture_get_begin_threshold"
              glib:get-property="begin-threshold">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="585">Gets the movement threshold in pixels that begins the pan gesture.</doc>
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="38"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-pan-gesture.c"
               line="591">The begin threshold in pixels</doc>
          <type name="guint" c:type="unsigned int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="587">a #ClutterPanGesture</doc>
            <type name="PanGesture" c:type="ClutterPanGesture*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_centroid"
              c:identifier="clutter_pan_gesture_get_centroid">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="807">Retrieves the current centroid of the points active on @self.

Note that ClutterPanGesture tries to keep the centroid "stable" when points
are added or removed from the gesture: The centroid is driven from deltas
rather than the actual points on the screen.</doc>
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="809">the #ClutterPanGesture</doc>
            <type name="PanGesture" c:type="ClutterPanGesture*"/>
          </instance-parameter>
          <parameter name="centroid_out"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="810">a #graphene_point_t</doc>
            <type name="Graphene.Point" c:type="graphene_point_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_centroid_abs"
              c:identifier="clutter_pan_gesture_get_centroid_abs">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="839">Retrieves the current centroid of the points active on @self in
absolute coordinates.

Note that ClutterPanGesture tries to keep the centroid "stable" when points
are added or removed from the gesture: The centroid is driven from deltas
rather than the actual points on the screen.</doc>
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="841">the #ClutterPanGesture</doc>
            <type name="PanGesture" c:type="ClutterPanGesture*"/>
          </instance-parameter>
          <parameter name="centroid_out"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="842">a #graphene_point_t</doc>
            <type name="Graphene.Point" c:type="graphene_point_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_delta" c:identifier="clutter_pan_gesture_get_delta">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="932">Retrieves the delta between the current ::pan-update signal emission and the
one before as @delta_out.

This function is mostly meant to be called within ::pan-update signal handlers,
to get the delta that the pan has moved since the last ::pan-update emission.</doc>
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="934">the #ClutterPanGesture</doc>
            <type name="PanGesture" c:type="ClutterPanGesture*"/>
          </instance-parameter>
          <parameter name="delta_out"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="935">the delta from the latest event</doc>
            <type name="Graphene.Vec2" c:type="graphene_vec2_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_delta_abs"
              c:identifier="clutter_pan_gesture_get_delta_abs">
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="98"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="1019">the #ClutterPanGesture</doc>
            <type name="PanGesture" c:type="ClutterPanGesture*"/>
          </instance-parameter>
          <parameter name="delta_out"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="1020">the delta from the latest event</doc>
            <type name="Graphene.Vec2" c:type="graphene_vec2_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_max_n_points"
              c:identifier="clutter_pan_gesture_get_max_n_points"
              glib:get-property="max-n-points">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="721">Gets the maximum number of points set by
clutter_pan_gesture_set_max_n_points().</doc>
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-pan-gesture.c"
               line="728">the maximum number of points</doc>
          <type name="guint" c:type="unsigned int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="723">a #ClutterPanGesture</doc>
            <type name="PanGesture" c:type="ClutterPanGesture*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_min_n_points"
              c:identifier="clutter_pan_gesture_get_min_n_points"
              glib:get-property="min-n-points">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="681">Gets the minimum number of points set by
clutter_pan_gesture_set_min_n_points().</doc>
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-pan-gesture.c"
               line="688">the minimum number of points</doc>
          <type name="guint" c:type="unsigned int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="683">a #ClutterPanGesture</doc>
            <type name="PanGesture" c:type="ClutterPanGesture*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pan_axis"
              c:identifier="clutter_pan_gesture_get_pan_axis"
              glib:get-property="pan-axis">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="640">Retrieves the axis constraint set by clutter_pan_gesture_set_pan_axis().</doc>
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-pan-gesture.c"
               line="646">the axis constraint</doc>
          <type name="PanAxis" c:type="ClutterPanAxis"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="642">a #ClutterPanGesture</doc>
            <type name="PanGesture" c:type="ClutterPanGesture*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_velocity"
              c:identifier="clutter_pan_gesture_get_velocity">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="877">Retrieves the current velocity of the pan.</doc>
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="879">the #ClutterPanGesture</doc>
            <type name="PanGesture" c:type="ClutterPanGesture*"/>
          </instance-parameter>
          <parameter name="velocity_out"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="880">a #graphene_vec2_t</doc>
            <type name="Graphene.Vec2" c:type="graphene_vec2_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_velocity_abs"
              c:identifier="clutter_pan_gesture_get_velocity_abs">
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="913">the #ClutterPanGesture</doc>
            <type name="PanGesture" c:type="ClutterPanGesture*"/>
          </instance-parameter>
          <parameter name="velocity_out"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="914">a #graphene_vec2_t</doc>
            <type name="Graphene.Vec2" c:type="graphene_vec2_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_begin_threshold"
              c:identifier="clutter_pan_gesture_set_begin_threshold"
              glib:set-property="begin-threshold">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="601">Sets the movement threshold in pixels to begin the pan gesture.</doc>
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="41"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="603">a #ClutterPanGesture</doc>
            <type name="PanGesture" c:type="ClutterPanGesture*"/>
          </instance-parameter>
          <parameter name="begin_threshold" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="604">the threshold in pixels</doc>
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_max_n_points"
              c:identifier="clutter_pan_gesture_set_max_n_points"
              glib:set-property="max-n-points">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="738">Sets the maximum number of points to use for the pan. Set to 0 to allow
an unlimited number.</doc>
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="740">a #ClutterPanGesture</doc>
            <type name="PanGesture" c:type="ClutterPanGesture*"/>
          </instance-parameter>
          <parameter name="max_n_points" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="741">the maximum number of points</doc>
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_min_n_points"
              c:identifier="clutter_pan_gesture_set_min_n_points"
              glib:set-property="min-n-points">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="698">Sets the minimum number of points for the gesture to start.</doc>
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="700">a #ClutterPanGesture</doc>
            <type name="PanGesture" c:type="ClutterPanGesture*"/>
          </instance-parameter>
          <parameter name="min_n_points" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="701">the minimum number of points</doc>
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pan_axis"
              c:identifier="clutter_pan_gesture_set_pan_axis"
              glib:set-property="pan-axis">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="657">Restricts the pan gesture to a specific axis.</doc>
        <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                         line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="659">a #ClutterPanGesture</doc>
            <type name="PanGesture" c:type="ClutterPanGesture*"/>
          </instance-parameter>
          <parameter name="axis" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pan-gesture.c"
                 line="660">the #ClutterPanAxis</doc>
            <type name="PanAxis" c:type="ClutterPanAxis"/>
          </parameter>
        </parameters>
      </method>
      <property name="begin-threshold"
                writable="1"
                transfer-ownership="none"
                setter="set_begin_threshold"
                getter="get_begin_threshold"
                default-value="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="491">The threshold in pixels that has to be panned for the gesture to start.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="max-n-points"
                writable="1"
                transfer-ownership="none"
                setter="set_max_n_points"
                getter="get_max_n_points"
                default-value="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="528">The maximum number of points to use for the pan. Set to 0 to allow
an unlimited number. Defaults to 0.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="min-n-points"
                writable="1"
                transfer-ownership="none"
                setter="set_min_n_points"
                getter="get_min_n_points"
                default-value="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="516">The minimum number of points for the gesture to start, defaults to 1.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="pan-axis"
                writable="1"
                transfer-ownership="none"
                setter="set_pan_axis"
                getter="get_pan_axis"
                default-value="CLUTTER_PAN_AXIS_BOTH">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="503">Constraints the pan gesture to the specified axis.</doc>
        <type name="PanAxis"/>
      </property>
      <glib:signal name="pan-update" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pan-gesture.c"
             line="543">The ::pan-update signal is emitted when one or multiple points
of the pan have changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="PanGestureClass"
            c:type="ClutterPanGestureClass"
            glib:is-gtype-struct-for="PanGesture">
      <source-position filename="clutter/clutter/clutter-pan-gesture.h"
                       line="31"/>
      <field name="parent_class">
        <type name="GestureClass" c:type="ClutterGestureClass"/>
      </field>
    </record>
    <record name="Perspective"
            c:type="ClutterPerspective"
            glib:type-name="ClutterPerspective"
            glib:get-type="clutter_perspective_get_type"
            c:symbol-prefix="perspective">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-stage.h"
           line="75">Stage perspective definition.</doc>
      <source-position filename="clutter/clutter/clutter-stage.h" line="93"/>
      <field name="fovy" writable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.h"
             line="77">the field of view angle, in degrees, in the y direction</doc>
        <type name="gfloat" c:type="gfloat"/>
      </field>
      <field name="aspect" writable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.h"
             line="78">the aspect ratio that determines the field of view in the x
  direction. The aspect ratio is the ratio of x (width) to y (height)</doc>
        <type name="gfloat" c:type="gfloat"/>
      </field>
      <field name="z_near" writable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.h"
             line="80">the distance from the viewer to the near clipping
  plane (always positive)</doc>
        <type name="gfloat" c:type="gfloat"/>
      </field>
      <field name="z_far" writable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.h"
             line="82">the distance from the viewer to the far clipping
  plane (always positive)</doc>
        <type name="gfloat" c:type="gfloat"/>
      </field>
    </record>
    <record name="PickContext"
            c:type="ClutterPickContext"
            opaque="1"
            glib:type-name="ClutterPickContext"
            glib:get-type="clutter_pick_context_get_type"
            c:symbol-prefix="pick_context">
      <source-position filename="clutter/clutter/clutter-pick-context.h"
                       line="29"/>
      <method name="destroy" c:identifier="clutter_pick_context_destroy">
        <source-position filename="clutter/clutter/clutter-pick-context.h"
                         line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pick_context" transfer-ownership="none">
            <type name="PickContext" c:type="ClutterPickContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mode"
              c:identifier="clutter_pick_context_get_mode"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-pick-context.h"
                         line="46"/>
        <return-value transfer-ownership="none">
          <type name="PickMode" c:type="ClutterPickMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="pick_context" transfer-ownership="none">
            <type name="PickContext" c:type="ClutterPickContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_transform"
              c:identifier="clutter_pick_context_get_transform">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pick-context.c"
             line="178">Retrieves the current transform of the pick stack.</doc>
        <source-position filename="clutter/clutter/clutter-pick-context.h"
                         line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pick_context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pick-context.c"
                 line="180">a #ClutterPickContext</doc>
            <type name="PickContext" c:type="ClutterPickContext*"/>
          </instance-parameter>
          <parameter name="out_matrix"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pick-context.c"
                 line="181">a #graphene_matrix_t</doc>
            <type name="Graphene.Matrix" c:type="graphene_matrix_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="log_overlap"
              c:identifier="clutter_pick_context_log_overlap">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pick-context.c"
             line="120">Logs an overlapping actor into the pick stack.</doc>
        <source-position filename="clutter/clutter/clutter-pick-context.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pick_context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pick-context.c"
                 line="122">a #ClutterPickContext</doc>
            <type name="PickContext" c:type="ClutterPickContext*"/>
          </instance-parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pick-context.c"
                 line="123">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="log_pick" c:identifier="clutter_pick_context_log_pick">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pick-context.c"
             line="104">Logs a pick rectangle into the pick stack.</doc>
        <source-position filename="clutter/clutter/clutter-pick-context.h"
                         line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pick_context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pick-context.c"
                 line="106">a #ClutterPickContext</doc>
            <type name="PickContext" c:type="ClutterPickContext*"/>
          </instance-parameter>
          <parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pick-context.c"
                 line="107">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pick-context.c"
                 line="108">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="pop_clip" c:identifier="clutter_pick_context_pop_clip">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pick-context.c"
             line="149">Pops the current clip rectangle from the clip stack. It is a programming
error to call this without a corresponding [method@PickContext.push_clip]
call first.</doc>
        <source-position filename="clutter/clutter/clutter-pick-context.h"
                         line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pick_context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pick-context.c"
                 line="151">a #ClutterPickContext</doc>
            <type name="PickContext" c:type="ClutterPickContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="pop_transform"
              c:identifier="clutter_pick_context_pop_transform">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pick-context.c"
             line="192">Pops the current transform from the clip stack. It is a programming error
to call this without a corresponding [method@PickContext.push_transform]
call first.</doc>
        <source-position filename="clutter/clutter/clutter-pick-context.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pick_context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pick-context.c"
                 line="194">a #ClutterPickContext</doc>
            <type name="PickContext" c:type="ClutterPickContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="push_clip" c:identifier="clutter_pick_context_push_clip">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pick-context.c"
             line="134">Pushes a clip rectangle defined by @box into the pick stack. Pop with
[method@PickContext.pop_clip] when done.</doc>
        <source-position filename="clutter/clutter/clutter-pick-context.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pick_context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pick-context.c"
                 line="136">a #ClutterPickContext</doc>
            <type name="PickContext" c:type="ClutterPickContext*"/>
          </instance-parameter>
          <parameter name="box" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pick-context.c"
                 line="137">a #ClutterActorBox</doc>
            <type name="ActorBox" c:type="const ClutterActorBox*"/>
          </parameter>
        </parameters>
      </method>
      <method name="push_transform"
              c:identifier="clutter_pick_context_push_transform">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-pick-context.c"
             line="163">Pushes @transform into the pick stack. Pop with
[method@PickContext.pop_transform] when done.</doc>
        <source-position filename="clutter/clutter/clutter-pick-context.h"
                         line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pick_context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pick-context.c"
                 line="165">a #ClutterPickContext</doc>
            <type name="PickContext" c:type="ClutterPickContext*"/>
          </instance-parameter>
          <parameter name="transform" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-pick-context.c"
                 line="166">a #graphene_matrix_t</doc>
            <type name="Graphene.Matrix" c:type="const graphene_matrix_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="clutter_pick_context_ref">
        <source-position filename="clutter/clutter/clutter-pick-context.h"
                         line="37"/>
        <return-value transfer-ownership="full">
          <type name="PickContext" c:type="ClutterPickContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="pick_context" transfer-ownership="none">
            <type name="PickContext" c:type="ClutterPickContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="clutter_pick_context_unref">
        <source-position filename="clutter/clutter/clutter-pick-context.h"
                         line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pick_context" transfer-ownership="none">
            <type name="PickContext" c:type="ClutterPickContext*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <bitfield name="PickDebugFlag"
              glib:type-name="ClutterPickDebugFlag"
              glib:get-type="clutter_pick_debug_flag_get_type"
              c:type="ClutterPickDebugFlag">
      <member name="picking"
              value="1"
              c:identifier="CLUTTER_DEBUG_NOP_PICKING"
              glib:nick="picking"
              glib:name="CLUTTER_DEBUG_NOP_PICKING">
      </member>
    </bitfield>
    <enumeration name="PickMode"
                 glib:type-name="ClutterPickMode"
                 glib:get-type="clutter_pick_mode_get_type"
                 c:type="ClutterPickMode">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="736">Controls the paint cycle of the scene graph when in pick mode</doc>
      <member name="none"
              value="0"
              c:identifier="CLUTTER_PICK_NONE"
              glib:nick="none"
              glib:name="CLUTTER_PICK_NONE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="738">Do not paint any actor</doc>
      </member>
      <member name="reactive"
              value="1"
              c:identifier="CLUTTER_PICK_REACTIVE"
              glib:nick="reactive"
              glib:name="CLUTTER_PICK_REACTIVE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="739">Paint only the reactive actors</doc>
      </member>
      <member name="all"
              value="2"
              c:identifier="CLUTTER_PICK_ALL"
              glib:nick="all"
              glib:name="CLUTTER_PICK_ALL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="740">Paint all actors</doc>
      </member>
    </enumeration>
    <class name="PipelineCache"
           c:symbol-prefix="pipeline_cache"
           c:type="ClutterPipelineCache"
           parent="GObject.Object"
           glib:type-name="ClutterPipelineCache"
           glib:get-type="clutter_pipeline_cache_get_type"
           glib:type-struct="PipelineCacheClass">
      <source-position filename="clutter/clutter/clutter-pipeline-cache.h"
                       line="32"/>
      <method name="get_pipeline"
              c:identifier="clutter_pipeline_cache_get_pipeline"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-pipeline-cache.h"
                         line="36"/>
        <return-value>
          <type name="Cogl.Pipeline" c:type="CoglPipeline*"/>
        </return-value>
        <parameters>
          <instance-parameter name="pipeline_cache" transfer-ownership="none">
            <type name="PipelineCache" c:type="ClutterPipelineCache*"/>
          </instance-parameter>
          <parameter name="group" transfer-ownership="none">
            <type name="PipelineGroup" c:type="ClutterPipelineGroup"/>
          </parameter>
          <parameter name="slot" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="source_color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
          <parameter name="target_color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pipeline"
              c:identifier="clutter_pipeline_cache_set_pipeline">
        <source-position filename="clutter/clutter/clutter-pipeline-cache.h"
                         line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pipeline_cache" transfer-ownership="none">
            <type name="PipelineCache" c:type="ClutterPipelineCache*"/>
          </instance-parameter>
          <parameter name="group" transfer-ownership="none">
            <type name="PipelineGroup" c:type="ClutterPipelineGroup"/>
          </parameter>
          <parameter name="slot" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="source_color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
          <parameter name="target_color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
          <parameter name="pipeline" transfer-ownership="none">
            <type name="Cogl.Pipeline" c:type="CoglPipeline*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unset_all_pipelines"
              c:identifier="clutter_pipeline_cache_unset_all_pipelines">
        <source-position filename="clutter/clutter/clutter-pipeline-cache.h"
                         line="58"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pipeline_cache" transfer-ownership="none">
            <type name="PipelineCache" c:type="ClutterPipelineCache*"/>
          </instance-parameter>
          <parameter name="group" transfer-ownership="none">
            <type name="PipelineGroup" c:type="ClutterPipelineGroup"/>
          </parameter>
        </parameters>
      </method>
      <method name="unset_pipeline"
              c:identifier="clutter_pipeline_cache_unset_pipeline"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-pipeline-cache.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pipeline_cache" transfer-ownership="none">
            <type name="PipelineCache" c:type="ClutterPipelineCache*"/>
          </instance-parameter>
          <parameter name="group" transfer-ownership="none">
            <type name="PipelineGroup" c:type="ClutterPipelineGroup"/>
          </parameter>
          <parameter name="slot" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="source_color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
          <parameter name="target_color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="PipelineCacheClass"
            c:type="ClutterPipelineCacheClass"
            glib:is-gtype-struct-for="PipelineCache">
      <source-position filename="clutter/clutter/clutter-pipeline-cache.h"
                       line="32"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="PipelineCapability"
                 glib:type-name="ClutterPipelineCapability"
                 glib:get-type="clutter_pipeline_capability_get_type"
                 c:type="ClutterPipelineCapability">
      <member name="state"
              value="0"
              c:identifier="CLUTTER_PIPELINE_CAPABILITY_COLOR_STATE"
              glib:nick="state"
              glib:name="CLUTTER_PIPELINE_CAPABILITY_COLOR_STATE">
      </member>
      <function name="quark" c:identifier="clutter_pipeline_capability_quark">
        <source-position filename="clutter/clutter/clutter-main.h" line="101"/>
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <class name="PipelineNode"
           c:symbol-prefix="pipeline_node"
           c:type="ClutterPipelineNode"
           parent="PaintNode"
           glib:type-name="ClutterPipelineNode"
           glib:get-type="clutter_pipeline_node_get_type"
           glib:type-struct="PipelineNodeClass"
           glib:fundamental="1">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="83"/>
      <constructor name="new" c:identifier="clutter_pipeline_node_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-nodes.c"
             line="501">Creates a new #ClutterPaintNode that will use the @pipeline to
paint its contents.

This function will acquire a reference on the passed @pipeline,
so it is safe to call g_object_unref() when it returns.</doc>
        <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                         line="89"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-nodes.c"
               line="511">the newly created #ClutterPaintNode.
  Use clutter_paint_node_unref() when done.</doc>
          <type name="PaintNode" c:type="ClutterPaintNode*"/>
        </return-value>
        <parameters>
          <parameter name="pipeline"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-nodes.c"
                 line="503">a Cogl pipeline state object, or %NULL</doc>
            <type name="Cogl.Pipeline" c:type="CoglPipeline*"/>
          </parameter>
        </parameters>
      </constructor>
    </class>
    <record name="PipelineNodeClass"
            c:type="ClutterPipelineNodeClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="PipelineNode">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-paint-nodes.c"
           line="344">The `ClutterPipelineNodeClass` structure is an opaque
type whose members cannot be directly accessed.</doc>
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="83"/>
    </record>
    <enumeration name="PointerA11yDwellClickType"
                 glib:type-name="ClutterPointerA11yDwellClickType"
                 glib:get-type="clutter_pointer_a11y_dwell_click_type_get_type"
                 c:type="ClutterPointerA11yDwellClickType">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="327">Dwell click types.</doc>
      <member name="none"
              value="0"
              c:identifier="CLUTTER_A11Y_DWELL_CLICK_TYPE_NONE"
              glib:nick="none"
              glib:name="CLUTTER_A11Y_DWELL_CLICK_TYPE_NONE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="329">Internal use only</doc>
      </member>
      <member name="primary"
              value="1"
              c:identifier="CLUTTER_A11Y_DWELL_CLICK_TYPE_PRIMARY"
              glib:nick="primary"
              glib:name="CLUTTER_A11Y_DWELL_CLICK_TYPE_PRIMARY">
      </member>
      <member name="secondary"
              value="2"
              c:identifier="CLUTTER_A11Y_DWELL_CLICK_TYPE_SECONDARY"
              glib:nick="secondary"
              glib:name="CLUTTER_A11Y_DWELL_CLICK_TYPE_SECONDARY">
      </member>
      <member name="middle"
              value="3"
              c:identifier="CLUTTER_A11Y_DWELL_CLICK_TYPE_MIDDLE"
              glib:nick="middle"
              glib:name="CLUTTER_A11Y_DWELL_CLICK_TYPE_MIDDLE">
      </member>
      <member name="double"
              value="4"
              c:identifier="CLUTTER_A11Y_DWELL_CLICK_TYPE_DOUBLE"
              glib:nick="double"
              glib:name="CLUTTER_A11Y_DWELL_CLICK_TYPE_DOUBLE">
      </member>
      <member name="drag"
              value="5"
              c:identifier="CLUTTER_A11Y_DWELL_CLICK_TYPE_DRAG"
              glib:nick="drag"
              glib:name="CLUTTER_A11Y_DWELL_CLICK_TYPE_DRAG">
      </member>
    </enumeration>
    <enumeration name="PointerA11yDwellDirection"
                 glib:type-name="ClutterPointerA11yDwellDirection"
                 glib:get-type="clutter_pointer_a11y_dwell_direction_get_type"
                 c:type="ClutterPointerA11yDwellDirection">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="348">Dwell gesture directions.</doc>
      <member name="none"
              value="0"
              c:identifier="CLUTTER_A11Y_DWELL_DIRECTION_NONE"
              glib:nick="none"
              glib:name="CLUTTER_A11Y_DWELL_DIRECTION_NONE">
      </member>
      <member name="left"
              value="1"
              c:identifier="CLUTTER_A11Y_DWELL_DIRECTION_LEFT"
              glib:nick="left"
              glib:name="CLUTTER_A11Y_DWELL_DIRECTION_LEFT">
      </member>
      <member name="right"
              value="2"
              c:identifier="CLUTTER_A11Y_DWELL_DIRECTION_RIGHT"
              glib:nick="right"
              glib:name="CLUTTER_A11Y_DWELL_DIRECTION_RIGHT">
      </member>
      <member name="up"
              value="3"
              c:identifier="CLUTTER_A11Y_DWELL_DIRECTION_UP"
              glib:nick="up"
              glib:name="CLUTTER_A11Y_DWELL_DIRECTION_UP">
      </member>
      <member name="down"
              value="4"
              c:identifier="CLUTTER_A11Y_DWELL_DIRECTION_DOWN"
              glib:nick="down"
              glib:name="CLUTTER_A11Y_DWELL_DIRECTION_DOWN">
      </member>
    </enumeration>
    <enumeration name="PointerA11yDwellMode"
                 glib:type-name="ClutterPointerA11yDwellMode"
                 glib:get-type="clutter_pointer_a11y_dwell_mode_get_type"
                 c:type="ClutterPointerA11yDwellMode">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="367">Dwell mode.</doc>
      <member name="window"
              value="0"
              c:identifier="CLUTTER_A11Y_DWELL_MODE_WINDOW"
              glib:nick="window"
              glib:name="CLUTTER_A11Y_DWELL_MODE_WINDOW">
      </member>
      <member name="gesture"
              value="1"
              c:identifier="CLUTTER_A11Y_DWELL_MODE_GESTURE"
              glib:nick="gesture"
              glib:name="CLUTTER_A11Y_DWELL_MODE_GESTURE">
      </member>
    </enumeration>
    <bitfield name="PointerA11yFlags"
              glib:type-name="ClutterPointerA11yFlags"
              glib:get-type="clutter_pointer_a11y_flags_get_type"
              c:type="ClutterPointerA11yFlags">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="313">Pointer accessibility features applied to a ClutterInputDevice pointer.</doc>
      <member name="secondary_click_enabled"
              value="1"
              c:identifier="CLUTTER_A11Y_SECONDARY_CLICK_ENABLED"
              glib:nick="secondary-click-enabled"
              glib:name="CLUTTER_A11Y_SECONDARY_CLICK_ENABLED">
      </member>
      <member name="dwell_enabled"
              value="2"
              c:identifier="CLUTTER_A11Y_DWELL_ENABLED"
              glib:nick="dwell-enabled"
              glib:name="CLUTTER_A11Y_DWELL_ENABLED">
      </member>
    </bitfield>
    <record name="PointerA11ySettings" c:type="ClutterPointerA11ySettings">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-seat.h"
           line="39">The #ClutterPointerA11ySettings structure contains pointer accessibility
settings</doc>
      <source-position filename="clutter/clutter/clutter-seat.h" line="58"/>
      <field name="controls" writable="1">
        <type name="PointerA11yFlags" c:type="ClutterPointerA11yFlags"/>
      </field>
      <field name="dwell_click_type" writable="1">
        <type name="PointerA11yDwellClickType"
              c:type="ClutterPointerA11yDwellClickType"/>
      </field>
      <field name="dwell_mode" writable="1">
        <type name="PointerA11yDwellMode"
              c:type="ClutterPointerA11yDwellMode"/>
      </field>
      <field name="dwell_gesture_single" writable="1">
        <type name="PointerA11yDwellDirection"
              c:type="ClutterPointerA11yDwellDirection"/>
      </field>
      <field name="dwell_gesture_double" writable="1">
        <type name="PointerA11yDwellDirection"
              c:type="ClutterPointerA11yDwellDirection"/>
      </field>
      <field name="dwell_gesture_drag" writable="1">
        <type name="PointerA11yDwellDirection"
              c:type="ClutterPointerA11yDwellDirection"/>
      </field>
      <field name="dwell_gesture_secondary" writable="1">
        <type name="PointerA11yDwellDirection"
              c:type="ClutterPointerA11yDwellDirection"/>
      </field>
      <field name="secondary_click_delay" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="dwell_delay" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="dwell_threshold" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
    </record>
    <enumeration name="PointerA11yTimeoutType"
                 glib:type-name="ClutterPointerA11yTimeoutType"
                 glib:get-type="clutter_pointer_a11y_timeout_type_get_type"
                 c:type="ClutterPointerA11yTimeoutType">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="380">Pointer accessibility timeout type.</doc>
      <member name="secondary_click"
              value="0"
              c:identifier="CLUTTER_A11Y_TIMEOUT_TYPE_SECONDARY_CLICK"
              glib:nick="secondary-click"
              glib:name="CLUTTER_A11Y_TIMEOUT_TYPE_SECONDARY_CLICK">
      </member>
      <member name="dwell"
              value="1"
              c:identifier="CLUTTER_A11Y_TIMEOUT_TYPE_DWELL"
              glib:nick="dwell"
              glib:name="CLUTTER_A11Y_TIMEOUT_TYPE_DWELL">
      </member>
      <member name="gesture"
              value="2"
              c:identifier="CLUTTER_A11Y_TIMEOUT_TYPE_GESTURE"
              glib:nick="gesture"
              glib:name="CLUTTER_A11Y_TIMEOUT_TYPE_GESTURE">
      </member>
    </enumeration>
    <enumeration name="PreeditResetMode"
                 glib:type-name="ClutterPreeditResetMode"
                 glib:get-type="clutter_preedit_reset_mode_get_type"
                 c:type="ClutterPreeditResetMode">
      <member name="clear"
              value="0"
              c:identifier="CLUTTER_PREEDIT_RESET_CLEAR"
              glib:nick="clear"
              glib:name="CLUTTER_PREEDIT_RESET_CLEAR">
      </member>
      <member name="commit"
              value="1"
              c:identifier="CLUTTER_PREEDIT_RESET_COMMIT"
              glib:nick="commit"
              glib:name="CLUTTER_PREEDIT_RESET_COMMIT">
      </member>
    </enumeration>
    <class name="PressGesture"
           c:symbol-prefix="press_gesture"
           c:type="ClutterPressGesture"
           parent="Gesture"
           abstract="1"
           glib:type-name="ClutterPressGesture"
           glib:get-type="clutter_press_gesture_get_type"
           glib:type-struct="PressGestureClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-press-gesture.c"
           line="18">An abstract #ClutterGesture subclass building the base for recognizing press
gestures</doc>
      <source-position filename="clutter/clutter/clutter-press-gesture.h"
                       line="41"/>
      <virtual-method name="long_press">
        <source-position filename="clutter/clutter/clutter-press-gesture.h"
                         line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="PressGesture" c:type="ClutterPressGesture*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="press">
        <source-position filename="clutter/clutter/clutter-press-gesture.h"
                         line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="PressGesture" c:type="ClutterPressGesture*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="release">
        <source-position filename="clutter/clutter/clutter-press-gesture.h"
                         line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="PressGesture" c:type="ClutterPressGesture*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_button"
              c:identifier="clutter_press_gesture_get_button">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-press-gesture.c"
             line="625">Retrieves the button that was pressed.</doc>
        <source-position filename="clutter/clutter/clutter-press-gesture.h"
                         line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-press-gesture.c"
               line="631">the button value</doc>
          <type name="guint" c:type="unsigned int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-press-gesture.c"
                 line="627">a #ClutterPressGesture</doc>
            <type name="PressGesture" c:type="ClutterPressGesture*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_cancel_threshold"
              c:identifier="clutter_press_gesture_get_cancel_threshold"
              glib:get-property="cancel-threshold">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-press-gesture.c"
             line="530">Gets the movement threshold in pixels that cancels the press gesture.</doc>
        <source-position filename="clutter/clutter/clutter-press-gesture.h"
                         line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-press-gesture.c"
               line="536">The cancel threshold in pixels</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-press-gesture.c"
                 line="532">a #ClutterPressGesture</doc>
            <type name="PressGesture" c:type="ClutterPressGesture*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_coords"
              c:identifier="clutter_press_gesture_get_coords">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-press-gesture.c"
             line="665">Retrieves the coordinates of the press.</doc>
        <source-position filename="clutter/clutter/clutter-press-gesture.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-press-gesture.c"
                 line="667">a #ClutterPressGesture</doc>
            <type name="PressGesture" c:type="ClutterPressGesture*"/>
          </instance-parameter>
          <parameter name="coords_out"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-press-gesture.c"
                 line="668">a #graphene_point_t</doc>
            <type name="Graphene.Point" c:type="graphene_point_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_coords_abs"
              c:identifier="clutter_press_gesture_get_coords_abs">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-press-gesture.c"
             line="696">Retrieves the coordinates of the press in absolute coordinates.</doc>
        <source-position filename="clutter/clutter/clutter-press-gesture.h"
                         line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-press-gesture.c"
                 line="698">a #ClutterPressGesture</doc>
            <type name="PressGesture" c:type="ClutterPressGesture*"/>
          </instance-parameter>
          <parameter name="coords_out"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-press-gesture.c"
                 line="699">a #graphene_point_t</doc>
            <type name="Graphene.Point" c:type="graphene_point_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_long_press_duration_ms"
              c:identifier="clutter_press_gesture_get_long_press_duration_ms"
              glib:get-property="long-press-duration-ms">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-press-gesture.c"
             line="577">Gets the minimum duration is milliseconds that's necessary for a long press
to recognize. A value of -1 means the default from
#ClutterSettings:long-press-duration is used.</doc>
        <source-position filename="clutter/clutter/clutter-press-gesture.h"
                         line="54"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-press-gesture.c"
                 line="579">a #ClutterPressGesture</doc>
            <type name="PressGesture" c:type="ClutterPressGesture*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_n_presses"
              c:identifier="clutter_press_gesture_get_n_presses">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-press-gesture.c"
             line="718">Retrieves the number of presses that happened on the gesture.</doc>
        <source-position filename="clutter/clutter/clutter-press-gesture.h"
                         line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-press-gesture.c"
               line="724">The number of presses</doc>
          <type name="guint" c:type="unsigned int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-press-gesture.c"
                 line="720">a #ClutterPressGesture</doc>
            <type name="PressGesture" c:type="ClutterPressGesture*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pressed"
              c:identifier="clutter_press_gesture_get_pressed"
              glib:get-property="pressed">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-press-gesture.c"
             line="510">Gets whether the press gesture actor should be in the "pressed" state.</doc>
        <source-position filename="clutter/clutter/clutter-press-gesture.h"
                         line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-press-gesture.c"
               line="516">The "pressed" state</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-press-gesture.c"
                 line="512">a #ClutterPressGesture</doc>
            <type name="PressGesture" c:type="ClutterPressGesture*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_required_button"
              c:identifier="clutter_press_gesture_get_required_button"
              glib:get-property="required-button">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-press-gesture.c"
             line="738">Gets the mouse button required for the press gesture to recognize.</doc>
        <source-position filename="clutter/clutter/clutter-press-gesture.h"
                         line="78"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-press-gesture.c"
               line="744">The mouse button required to recognize</doc>
          <type name="guint" c:type="unsigned int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-press-gesture.c"
                 line="740">a #ClutterPressGesture</doc>
            <type name="PressGesture" c:type="ClutterPressGesture*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_state" c:identifier="clutter_press_gesture_get_state">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-press-gesture.c"
             line="645">Retrieves the modifier state of the press gesture.</doc>
        <source-position filename="clutter/clutter/clutter-press-gesture.h"
                         line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-press-gesture.c"
               line="651">the modifier state parameter, or 0</doc>
          <type name="ModifierType" c:type="ClutterModifierType"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-press-gesture.c"
                 line="647">a #ClutterPressGesture</doc>
            <type name="PressGesture" c:type="ClutterPressGesture*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_cancel_threshold"
              c:identifier="clutter_press_gesture_set_cancel_threshold"
              glib:set-property="cancel-threshold">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-press-gesture.c"
             line="550">Sets the movement threshold in pixels that cancels the press gesture.

See also #ClutterPressGesture:cancel-threshold.</doc>
        <source-position filename="clutter/clutter/clutter-press-gesture.h"
                         line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-press-gesture.c"
                 line="552">a #ClutterPressGesture</doc>
            <type name="PressGesture" c:type="ClutterPressGesture*"/>
          </instance-parameter>
          <parameter name="cancel_threshold" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-press-gesture.c"
                 line="553">the threshold in pixels, or -1 to disable the threshold</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_long_press_duration_ms"
              c:identifier="clutter_press_gesture_set_long_press_duration_ms"
              glib:set-property="long-press-duration-ms">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-press-gesture.c"
             line="597">Sets the minimum duration is milliseconds that's necessary for a long press
to recognize.

Pass -1 to use the default from #ClutterSettings:long-press-duration.</doc>
        <source-position filename="clutter/clutter/clutter-press-gesture.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-press-gesture.c"
                 line="599">a #ClutterPressGesture</doc>
            <type name="PressGesture" c:type="ClutterPressGesture*"/>
          </instance-parameter>
          <parameter name="long_press_duration_ms" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-press-gesture.c"
                 line="600">minimum duration for long press to recognize</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_required_button"
              c:identifier="clutter_press_gesture_set_required_button"
              glib:set-property="required-button">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-press-gesture.c"
             line="758">Sets the mouse button required for the press gesture to recognize.
Pass 0 to allow any button. Touch input is always handled as a press
of the primary button.</doc>
        <source-position filename="clutter/clutter/clutter-press-gesture.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-press-gesture.c"
                 line="760">a #ClutterPressGesture</doc>
            <type name="PressGesture" c:type="ClutterPressGesture*"/>
          </instance-parameter>
          <parameter name="required_button" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-press-gesture.c"
                 line="761">mouse button required for the gesture to recognize</doc>
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </method>
      <property name="cancel-threshold"
                writable="1"
                transfer-ownership="none"
                setter="set_cancel_threshold"
                getter="get_cancel_threshold"
                default-value="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-press-gesture.c"
             line="443">Threshold in pixels to cancel the gesture, use -1 to disable the threshold.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="long-press-duration-ms"
                writable="1"
                transfer-ownership="none"
                setter="set_long_press_duration_ms"
                getter="get_long_press_duration_ms"
                default-value="-1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-press-gesture.c"
             line="455">The minimum duration of a press in milliseconds for it to be recognized
as a long press gesture.

A value of -1 (default) will make the gesture use the value of the
#ClutterSettings:long-press-duration property.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="pressed"
                writable="1"
                transfer-ownership="none"
                getter="get_pressed"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-press-gesture.c"
             line="471">Whether the clickable actor should be in "pressed" state</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="required-button"
                writable="1"
                transfer-ownership="none"
                setter="set_required_button"
                getter="get_required_button"
                default-value="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-press-gesture.c"
             line="483">The mouse button required for the press gesture to recognize.
Pass 0 to allow any button. Touch input is always handled as a press
of the primary button.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <field name="parent_instance">
        <type name="Gesture" c:type="ClutterGesture"/>
      </field>
    </class>
    <record name="PressGestureClass"
            c:type="ClutterPressGestureClass"
            glib:is-gtype-struct-for="PressGesture">
      <source-position filename="clutter/clutter/clutter-press-gesture.h"
                       line="41"/>
      <field name="parent_class">
        <type name="GestureClass" c:type="ClutterGestureClass"/>
      </field>
      <field name="press">
        <callback name="press">
          <source-position filename="clutter/clutter/clutter-press-gesture.h"
                           line="38"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="PressGesture" c:type="ClutterPressGesture*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="release">
        <callback name="release">
          <source-position filename="clutter/clutter/clutter-press-gesture.h"
                           line="39"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="PressGesture" c:type="ClutterPressGesture*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="long_press">
        <callback name="long_press">
          <source-position filename="clutter/clutter/clutter-press-gesture.h"
                           line="40"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="PressGesture" c:type="ClutterPressGesture*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="Primaries" c:type="ClutterPrimaries">
      <source-position filename="clutter/clutter/clutter-color-state-params.h"
                       line="73"/>
      <field name="r_x" writable="1">
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="r_y" writable="1">
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="g_x" writable="1">
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="g_y" writable="1">
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="b_x" writable="1">
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="b_y" writable="1">
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="w_x" writable="1">
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="w_y" writable="1">
        <type name="gfloat" c:type="float"/>
      </field>
      <method name="ensure_normalized_range"
              c:identifier="clutter_primaries_ensure_normalized_range">
        <source-position filename="clutter/clutter/clutter-color-state-params.h"
                         line="185"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="primaries" transfer-ownership="none">
            <type name="Primaries" c:type="ClutterPrimaries*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <callback name="ProgressFunc" c:type="ClutterProgressFunc">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-types.h"
           line="339">Prototype of the progress function used to compute the value
between the two ends @a and @b of an interval depending on
the value of @progress.

The #GValue in @retval is already initialized with the same
type as @a and @b.

This function will be called by #ClutterInterval if the
type of the values of the interval was registered using
[func@Clutter.Interval.register_progress_func].</doc>
      <source-position filename="clutter/clutter/clutter-types.h" line="360"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-types.h"
             line="357">%TRUE if the function successfully computed
  the value and stored it inside @retval</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="a" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-types.h"
               line="341">the initial value of an interval</doc>
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="b" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-types.h"
               line="342">the final value of an interval</doc>
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="progress" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-types.h"
               line="343">the progress factor, between 0 and 1</doc>
          <type name="gdouble" c:type="gdouble"/>
        </parameter>
        <parameter name="retval" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-types.h"
               line="344">the value used to store the progress</doc>
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
      </parameters>
    </callback>
    <class name="PropertyTransition"
           c:symbol-prefix="property_transition"
           c:type="ClutterPropertyTransition"
           parent="Transition"
           glib:type-name="ClutterPropertyTransition"
           glib:get-type="clutter_property_transition_get_type"
           glib:type-struct="PropertyTransitionClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-property-transition.c"
           line="22">Property transitions

#ClutterPropertyTransition is a specialized [class@Transition] that
can be used to tween a property of a [iface@Animatable] instance.</doc>
      <source-position filename="clutter/clutter/clutter-property-transition.h"
                       line="54"/>
      <constructor name="new" c:identifier="clutter_property_transition_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-property-transition.c"
             line="300">Creates a new #ClutterPropertyTransition.</doc>
        <source-position filename="clutter/clutter/clutter-property-transition.h"
                         line="61"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-property-transition.c"
               line="306">the newly created #ClutterPropertyTransition.
  Use g_object_unref() when done</doc>
          <type name="Transition" c:type="ClutterTransition*"/>
        </return-value>
        <parameters>
          <parameter name="property_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-property-transition.c"
                 line="302">a property of @animatable, or %NULL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_for_actor"
                   c:identifier="clutter_property_transition_new_for_actor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-property-transition.c"
             line="280">Creates a new #ClutterPropertyTransition.</doc>
        <source-position filename="clutter/clutter/clutter-property-transition.h"
                         line="57"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-property-transition.c"
               line="287">the newly created #ClutterPropertyTransition.
  Use g_object_unref() when done</doc>
          <type name="Transition" c:type="ClutterTransition*"/>
        </return-value>
        <parameters>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-property-transition.c"
                 line="282">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="property_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-property-transition.c"
                 line="283">a property of @animatable, or %NULL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_property_name"
              c:identifier="clutter_property_transition_get_property_name"
              glib:get-property="property-name">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-property-transition.c"
             line="354">Retrieves the value of the [property@PropertyTransition:property-name]
property.</doc>
        <source-position filename="clutter/clutter/clutter-property-transition.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-property-transition.c"
               line="361">the name of the property being animated, or %NULL if
  none is set. The returned string is owned by the @transition and
  it should not be freed.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-property-transition.c"
                 line="356">a #ClutterPropertyTransition</doc>
            <type name="PropertyTransition"
                  c:type="ClutterPropertyTransition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_property_name"
              c:identifier="clutter_property_transition_set_property_name"
              glib:set-property="property-name">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-property-transition.c"
             line="317">Sets the [property@PropertyTransition:property-name] property of @transition.</doc>
        <source-position filename="clutter/clutter/clutter-property-transition.h"
                         line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-property-transition.c"
                 line="319">a #ClutterPropertyTransition</doc>
            <type name="PropertyTransition"
                  c:type="ClutterPropertyTransition*"/>
          </instance-parameter>
          <parameter name="property_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-property-transition.c"
                 line="320">a property name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="property-name"
                writable="1"
                transfer-ownership="none"
                setter="set_property_name"
                getter="get_property_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-property-transition.c"
             line="262">The name of the property of a [iface@Animatable] to animate.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="Transition" c:type="ClutterTransition"/>
      </field>
    </class>
    <record name="PropertyTransitionClass"
            c:type="ClutterPropertyTransitionClass"
            glib:is-gtype-struct-for="PropertyTransition">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-property-transition.h"
           line="44">The #ClutterPropertyTransitionClass structure
contains private data.</doc>
      <source-position filename="clutter/clutter/clutter-property-transition.h"
                       line="54"/>
      <field name="parent_class" readable="0" private="1">
        <type name="TransitionClass" c:type="ClutterTransitionClass"/>
      </field>
    </record>
    <record name="ProximityEvent"
            c:type="ClutterProximityEvent"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-event.h" line="105"/>
    </record>
    <function-macro name="ROOT_NODE"
                    c:identifier="CLUTTER_ROOT_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="106"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <bitfield name="RepaintFlags"
              glib:type-name="ClutterRepaintFlags"
              glib:get-type="clutter_repaint_flags_get_type"
              c:type="ClutterRepaintFlags">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="807">Flags to pass to [func@Clutter.threads_add_repaint_func].</doc>
      <member name="pre_paint"
              value="1"
              c:identifier="CLUTTER_REPAINT_FLAGS_PRE_PAINT"
              glib:nick="pre-paint"
              glib:name="CLUTTER_REPAINT_FLAGS_PRE_PAINT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="809">Run the repaint function prior to
  painting the stages</doc>
      </member>
      <member name="post_paint"
              value="2"
              c:identifier="CLUTTER_REPAINT_FLAGS_POST_PAINT"
              glib:nick="post-paint"
              glib:name="CLUTTER_REPAINT_FLAGS_POST_PAINT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="811">Run the repaint function after
  painting the stages</doc>
      </member>
    </bitfield>
    <enumeration name="RequestMode"
                 glib:type-name="ClutterRequestMode"
                 glib:get-type="clutter_request_mode_get_type"
                 c:type="ClutterRequestMode">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="47">Specifies the type of requests for a #ClutterActor.</doc>
      <member name="height_for_width"
              value="0"
              c:identifier="CLUTTER_REQUEST_HEIGHT_FOR_WIDTH"
              glib:nick="height-for-width"
              glib:name="CLUTTER_REQUEST_HEIGHT_FOR_WIDTH">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="49">Height for width requests</doc>
      </member>
      <member name="width_for_height"
              value="1"
              c:identifier="CLUTTER_REQUEST_WIDTH_FOR_HEIGHT"
              glib:nick="width-for-height"
              glib:name="CLUTTER_REQUEST_WIDTH_FOR_HEIGHT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="50">Width for height requests</doc>
      </member>
      <member name="content_size"
              value="2"
              c:identifier="CLUTTER_REQUEST_CONTENT_SIZE"
              glib:nick="content-size"
              glib:name="CLUTTER_REQUEST_CONTENT_SIZE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="51">Use the preferred size of the
  #ClutterContent, if it has any (available since 1.22)</doc>
      </member>
    </enumeration>
    <class name="RootNode"
           c:symbol-prefix="root_node"
           c:type="ClutterRootNode"
           parent="PaintNode"
           glib:type-name="ClutterRootNode"
           glib:get-type="clutter_root_node_get_type"
           glib:type-struct="RootNodeClass"
           glib:fundamental="1">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="110"/>
      <constructor name="new" c:identifier="clutter_root_node_new">
        <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                         line="116"/>
        <return-value transfer-ownership="full">
          <type name="PaintNode" c:type="ClutterPaintNode*"/>
        </return-value>
        <parameters>
          <parameter name="framebuffer" transfer-ownership="none">
            <type name="Cogl.Framebuffer" c:type="CoglFramebuffer*"/>
          </parameter>
          <parameter name="color_state" transfer-ownership="none">
            <type name="ColorState" c:type="ClutterColorState*"/>
          </parameter>
          <parameter name="clear_color" transfer-ownership="none">
            <type name="Cogl.Color" c:type="const CoglColor*"/>
          </parameter>
          <parameter name="clear_flags" transfer-ownership="none">
            <type name="Cogl.BufferBit" c:type="CoglBufferBit"/>
          </parameter>
        </parameters>
      </constructor>
    </class>
    <record name="RootNodeClass"
            c:type="ClutterRootNodeClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="RootNode">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="110"/>
    </record>
    <enumeration name="RotateAxis"
                 glib:type-name="ClutterRotateAxis"
                 glib:get-type="clutter_rotate_axis_get_type"
                 c:type="ClutterRotateAxis">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="32">Axis of a rotation.</doc>
      <member name="x_axis"
              value="0"
              c:identifier="CLUTTER_X_AXIS"
              glib:nick="x-axis"
              glib:name="CLUTTER_X_AXIS">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="34">Rotate around the X axis</doc>
      </member>
      <member name="y_axis"
              value="1"
              c:identifier="CLUTTER_Y_AXIS"
              glib:nick="y-axis"
              glib:name="CLUTTER_Y_AXIS">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="35">Rotate around the Y axis</doc>
      </member>
      <member name="z_axis"
              value="2"
              c:identifier="CLUTTER_Z_AXIS"
              glib:nick="z-axis"
              glib:name="CLUTTER_Z_AXIS">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="36">Rotate around the Z axis</doc>
      </member>
    </enumeration>
    <enumeration name="ScalingFilter"
                 glib:type-name="ClutterScalingFilter"
                 glib:get-type="clutter_scaling_filter_get_type"
                 c:type="ClutterScalingFilter">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="857">The scaling filters to be used with the [property@Actor:minification-filter]
and [property@Actor:magnification-filter] properties.</doc>
      <member name="linear"
              value="0"
              c:identifier="CLUTTER_SCALING_FILTER_LINEAR"
              glib:nick="linear"
              glib:name="CLUTTER_SCALING_FILTER_LINEAR">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="859">Linear interpolation filter</doc>
      </member>
      <member name="nearest"
              value="1"
              c:identifier="CLUTTER_SCALING_FILTER_NEAREST"
              glib:nick="nearest"
              glib:name="CLUTTER_SCALING_FILTER_NEAREST">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="860">Nearest neighbor interpolation filter</doc>
      </member>
      <member name="trilinear"
              value="2"
              c:identifier="CLUTTER_SCALING_FILTER_TRILINEAR"
              glib:nick="trilinear"
              glib:name="CLUTTER_SCALING_FILTER_TRILINEAR">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="861">Trilinear minification filter, with
  mipmap generation; this filter linearly interpolates on every axis,
  as well as between mipmap levels.</doc>
      </member>
    </enumeration>
    <record name="ScrollActor"
            c:type="ClutterScrollActor"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-types.h" line="58"/>
    </record>
    <enumeration name="ScrollDirection"
                 glib:type-name="ClutterScrollDirection"
                 glib:get-type="clutter_scroll_direction_get_type"
                 c:type="ClutterScrollDirection">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="570">Direction of a pointer scroll event.

The %CLUTTER_SCROLL_SMOOTH value implies that the #ClutterScrollEvent
has precise scrolling delta information.</doc>
      <member name="up"
              value="0"
              c:identifier="CLUTTER_SCROLL_UP"
              glib:nick="up"
              glib:name="CLUTTER_SCROLL_UP">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="572">Scroll up</doc>
      </member>
      <member name="down"
              value="1"
              c:identifier="CLUTTER_SCROLL_DOWN"
              glib:nick="down"
              glib:name="CLUTTER_SCROLL_DOWN">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="573">Scroll down</doc>
      </member>
      <member name="left"
              value="2"
              c:identifier="CLUTTER_SCROLL_LEFT"
              glib:nick="left"
              glib:name="CLUTTER_SCROLL_LEFT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="574">Scroll left</doc>
      </member>
      <member name="right"
              value="3"
              c:identifier="CLUTTER_SCROLL_RIGHT"
              glib:nick="right"
              glib:name="CLUTTER_SCROLL_RIGHT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="575">Scroll right</doc>
      </member>
      <member name="smooth"
              value="4"
              c:identifier="CLUTTER_SCROLL_SMOOTH"
              glib:nick="smooth"
              glib:name="CLUTTER_SCROLL_SMOOTH">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="576">Precise scrolling delta (available in 1.10)</doc>
      </member>
    </enumeration>
    <record name="ScrollEvent"
            c:type="ClutterScrollEvent"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-event.h" line="99"/>
    </record>
    <bitfield name="ScrollFinishFlags"
              glib:type-name="ClutterScrollFinishFlags"
              glib:get-type="clutter_scroll_finish_flags_get_type"
              c:type="ClutterScrollFinishFlags">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="1030">Flags used to notify the axes that were stopped in a #ClutterScrollEvent.

These can be used to trigger post-scroll effects like kinetic scrolling.</doc>
      <member name="none"
              value="0"
              c:identifier="CLUTTER_SCROLL_FINISHED_NONE"
              glib:nick="none"
              glib:name="CLUTTER_SCROLL_FINISHED_NONE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="1032">no axis was stopped.</doc>
      </member>
      <member name="horizontal"
              value="1"
              c:identifier="CLUTTER_SCROLL_FINISHED_HORIZONTAL"
              glib:nick="horizontal"
              glib:name="CLUTTER_SCROLL_FINISHED_HORIZONTAL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="1033">The horizontal axis stopped.</doc>
      </member>
      <member name="vertical"
              value="2"
              c:identifier="CLUTTER_SCROLL_FINISHED_VERTICAL"
              glib:nick="vertical"
              glib:name="CLUTTER_SCROLL_FINISHED_VERTICAL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="1034">The vertical axis stopped.</doc>
      </member>
    </bitfield>
    <bitfield name="ScrollFlags"
              glib:type-name="ClutterScrollFlags"
              glib:get-type="clutter_scroll_flags_get_type"
              c:type="ClutterScrollFlags">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="1016">Flags used to notify modification on scrolling behavior.</doc>
      <member name="none"
              value="0"
              c:identifier="CLUTTER_SCROLL_NONE"
              glib:nick="none"
              glib:name="CLUTTER_SCROLL_NONE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="1018">No additional information.</doc>
      </member>
      <member name="inverted"
              value="1"
              c:identifier="CLUTTER_SCROLL_INVERTED"
              glib:nick="inverted"
              glib:name="CLUTTER_SCROLL_INVERTED">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="1019">Scroll direction is inverted, relative to the
  physical motion on the device.</doc>
      </member>
    </bitfield>
    <enumeration name="ScrollSource"
                 glib:type-name="ClutterScrollSource"
                 glib:get-type="clutter_scroll_source_get_type"
                 c:type="ClutterScrollSource">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="994">The scroll source determines the source of the scroll event.

Keep in mind that the source device #ClutterInputDeviceType is not enough
to infer the scroll source.</doc>
      <member name="unknown"
              value="0"
              c:identifier="CLUTTER_SCROLL_SOURCE_UNKNOWN"
              glib:nick="unknown"
              glib:name="CLUTTER_SCROLL_SOURCE_UNKNOWN">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="996">Source of scroll events is unknown.</doc>
      </member>
      <member name="wheel"
              value="1"
              c:identifier="CLUTTER_SCROLL_SOURCE_WHEEL"
              glib:nick="wheel"
              glib:name="CLUTTER_SCROLL_SOURCE_WHEEL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="997">The scroll event is originated by a mouse wheel.</doc>
      </member>
      <member name="finger"
              value="2"
              c:identifier="CLUTTER_SCROLL_SOURCE_FINGER"
              glib:nick="finger"
              glib:name="CLUTTER_SCROLL_SOURCE_FINGER">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="998">The scroll event is originated by one or more
  fingers on the device (eg. touchpads).</doc>
      </member>
      <member name="continuous"
              value="3"
              c:identifier="CLUTTER_SCROLL_SOURCE_CONTINUOUS"
              glib:nick="continuous"
              glib:name="CLUTTER_SCROLL_SOURCE_CONTINUOUS">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="1000">The scroll event is originated by the
  motion of some device (eg. a scroll button is set).</doc>
      </member>
    </enumeration>
    <class name="Seat"
           c:symbol-prefix="seat"
           c:type="ClutterSeat"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="ClutterSeat"
           glib:get-type="clutter_seat_get_type"
           glib:type-struct="SeatClass">
      <source-position filename="clutter/clutter/clutter-seat.h" line="111"/>
      <virtual-method name="bell_notify" invoker="bell_notify">
        <source-position filename="clutter/clutter/clutter-seat.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="create_virtual_device"
                      invoker="create_virtual_device">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="580">Creates a virtual input device.</doc>
        <source-position filename="clutter/clutter/clutter-seat.h" line="108"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-seat.c"
               line="587">a newly created virtual device</doc>
          <type name="VirtualInputDevice" c:type="ClutterVirtualInputDevice*"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="582">a #ClutterSeat</doc>
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
          <parameter name="device_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="583">the type of the virtual device</doc>
            <type name="InputDeviceType" c:type="ClutterInputDeviceType"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_keyboard" introspectable="0">
        <source-position filename="clutter/clutter/clutter-seat.h" line="78"/>
        <return-value>
          <type name="InputDevice" c:type="ClutterInputDevice*"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_keymap" invoker="get_keymap">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="399">Returns the seat keymap</doc>
        <source-position filename="clutter/clutter/clutter-seat.h" line="84"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-seat.c"
               line="405">the seat keymap</doc>
          <type name="Keymap" c:type="ClutterKeymap*"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="401">a #ClutterSeat</doc>
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_pointer" introspectable="0">
        <source-position filename="clutter/clutter/clutter-seat.h" line="77"/>
        <return-value>
          <type name="InputDevice" c:type="ClutterInputDevice*"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_supported_virtual_device_types"
                      invoker="get_supported_virtual_device_types"
                      introspectable="0">
        <source-position filename="clutter/clutter/clutter-seat.h" line="110"/>
        <return-value transfer-ownership="none">
          <type name="VirtualDeviceType" c:type="ClutterVirtualDeviceType"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="grab">
        <source-position filename="clutter/clutter/clutter-seat.h" line="102"/>
        <return-value transfer-ownership="none">
          <type name="GrabState" c:type="ClutterGrabState"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
          <parameter name="time" transfer-ownership="none">
            <type name="guint32" c:type="uint32_t"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="handle_event_post">
        <source-position filename="clutter/clutter/clutter-seat.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Event" c:type="const ClutterEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="init_pointer_position">
        <source-position filename="clutter/clutter/clutter-seat.h" line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="peek_devices"
                      invoker="peek_devices"
                      introspectable="0">
        <source-position filename="clutter/clutter/clutter-seat.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="GLib.List" c:type="const GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="query_state">
        <source-position filename="clutter/clutter/clutter-seat.h" line="97"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
          <parameter name="sprite" transfer-ownership="none">
            <type name="Sprite" c:type="ClutterSprite*"/>
          </parameter>
          <parameter name="coords" transfer-ownership="none">
            <type name="Graphene.Point" c:type="graphene_point_t*"/>
          </parameter>
          <parameter name="modifiers" transfer-ownership="none">
            <type name="ModifierType" c:type="ClutterModifierType*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="ungrab">
        <source-position filename="clutter/clutter/clutter-seat.h" line="104"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
          <parameter name="time" transfer-ownership="none">
            <type name="guint32" c:type="uint32_t"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="warp_pointer" invoker="warp_pointer">
        <source-position filename="clutter/clutter/clutter-seat.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="bell_notify" c:identifier="clutter_seat_bell_notify">
        <source-position filename="clutter/clutter/clutter-seat.h" line="119"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="create_virtual_device"
              c:identifier="clutter_seat_create_virtual_device">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="580">Creates a virtual input device.</doc>
        <source-position filename="clutter/clutter/clutter-seat.h" line="149"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-seat.c"
               line="587">a newly created virtual device</doc>
          <type name="VirtualInputDevice" c:type="ClutterVirtualInputDevice*"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="582">a #ClutterSeat</doc>
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
          <parameter name="device_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="583">the type of the virtual device</doc>
            <type name="InputDeviceType" c:type="ClutterInputDeviceType"/>
          </parameter>
        </parameters>
      </method>
      <method name="ensure_a11y_state"
              c:identifier="clutter_seat_ensure_a11y_state">
        <source-position filename="clutter/clutter/clutter-seat.h" line="125"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_context"
              c:identifier="clutter_seat_get_context"
              glib:get-property="context">
        <source-position filename="clutter/clutter/clutter-seat.h" line="114"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-seat.c"
               line="782">The %ClutterContext</doc>
          <type name="Context" c:type="ClutterContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_keymap" c:identifier="clutter_seat_get_keymap">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="399">Returns the seat keymap</doc>
        <source-position filename="clutter/clutter/clutter-seat.h" line="122"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-seat.c"
               line="405">the seat keymap</doc>
          <type name="Keymap" c:type="ClutterKeymap*"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="401">a #ClutterSeat</doc>
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="clutter_seat_get_name"
              glib:get-property="name">
        <source-position filename="clutter/clutter/clutter-seat.h" line="166"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pointer_a11y_settings"
              c:identifier="clutter_seat_get_pointer_a11y_settings">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="465">Gets the current pointer accessibility settings</doc>
        <source-position filename="clutter/clutter/clutter-seat.h" line="132"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="467">a #ClutterSeat</doc>
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
          <parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="468">a pointer to a #ClutterPointerA11ySettings</doc>
            <type name="PointerA11ySettings"
                  c:type="ClutterPointerA11ySettings*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_supported_virtual_device_types"
              c:identifier="clutter_seat_get_supported_virtual_device_types"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-seat.h" line="153"/>
        <return-value transfer-ownership="none">
          <type name="VirtualDeviceType" c:type="ClutterVirtualDeviceType"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_touch_mode"
              c:identifier="clutter_seat_get_touch_mode"
              glib:get-property="touch-mode">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="669">Gets the current touch-mode state of the #ClutterSeat @seat.
The [property@Seat:touch-mode] property is set to %TRUE if the following
requirements are fulfilled:

 - A touchscreen is available
 - A tablet mode switch, if present, is enabled</doc>
        <source-position filename="clutter/clutter/clutter-seat.h" line="160"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-seat.c"
               line="680">%TRUE if the device is a tablet that doesn't have an external
  keyboard attached, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="671">a #ClutterSeat</doc>
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_touchscreen"
              c:identifier="clutter_seat_has_touchscreen"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-seat.h" line="163"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="inhibit_unfocus"
              c:identifier="clutter_seat_inhibit_unfocus">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="501">Inhibits unsetting of the pointer focus-surface for the #ClutterSeat @seat,
this allows to keep using the pointer even when it's hidden.

This property is refcounted, so [method@Seat.uninhibit_unfocus] must be
called the exact same number of times as [method@Seat.inhibit_unfocus]
was called before.</doc>
        <source-position filename="clutter/clutter/clutter-seat.h" line="140"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="503">a #ClutterSeat</doc>
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_unfocus_inhibited"
              c:identifier="clutter_seat_is_unfocus_inhibited">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="559">Gets whether unsetting of the pointer focus-surface is inhibited
for the #ClutterSeat @seat.</doc>
        <source-position filename="clutter/clutter/clutter-seat.h" line="146"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-seat.c"
               line="566">%TRUE if unsetting is inhibited, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="561">a #ClutterSeat</doc>
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="list_devices" c:identifier="clutter_seat_list_devices">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="374">Returns the list of HW devices</doc>
        <source-position filename="clutter/clutter/clutter-seat.h" line="116"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-seat.c"
               line="380">A list
  of #ClutterInputDevice. The elements of the returned list are owned by
  Clutter and may not be freed, the returned list should be freed using
  g_list_free() when done.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="InputDevice"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="376">a #ClutterSeat</doc>
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="peek_devices"
              c:identifier="clutter_seat_peek_devices"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-seat.h" line="117"/>
        <return-value transfer-ownership="none">
          <type name="GLib.List" c:type="const GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_pointer_a11y_dwell_click_type"
              c:identifier="clutter_seat_set_pointer_a11y_dwell_click_type">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="483">Sets the dwell click type</doc>
        <source-position filename="clutter/clutter/clutter-seat.h" line="136"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="485">a #ClutterSeat</doc>
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
          <parameter name="click_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="486">type of click as #ClutterPointerA11yDwellClickType</doc>
            <type name="PointerA11yDwellClickType"
                  c:type="ClutterPointerA11yDwellClickType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pointer_a11y_settings"
              c:identifier="clutter_seat_set_pointer_a11y_settings">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="439">Sets the pointer accessibility settings</doc>
        <source-position filename="clutter/clutter/clutter-seat.h" line="128"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="441">a #ClutterSeat</doc>
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
          <parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="442">a pointer to a #ClutterPointerA11ySettings</doc>
            <type name="PointerA11ySettings"
                  c:type="ClutterPointerA11ySettings*"/>
          </parameter>
        </parameters>
      </method>
      <method name="uninhibit_unfocus"
              c:identifier="clutter_seat_uninhibit_unfocus">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="527">Disables the inhibiting of unsetting of the pointer focus-surface
previously enabled by calling [method@Seat.inhibit_unfocus].

This property is refcounted, so [method@Seat.uninhibit_unfocus] must be
called the exact same number of times as [method@Seat.inhibit_unfocus]
was called before.</doc>
        <source-position filename="clutter/clutter/clutter-seat.h" line="143"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="529">a #ClutterSeat</doc>
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="warp_pointer" c:identifier="clutter_seat_warp_pointer">
        <source-position filename="clutter/clutter/clutter-seat.h" line="156"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="seat" transfer-ownership="none">
            <type name="Seat" c:type="ClutterSeat*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <property name="context"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_context">
        <type name="Context"/>
      </property>
      <property name="name"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_name"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="touch-mode"
                transfer-ownership="none"
                getter="get_touch_mode"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="302">The current touch-mode of the #ClutterSeat, it is set to %TRUE if the
requirements documented in [method@Seat.get_touch_mode] are fulfilled.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="device-added" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="InputDevice"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="device-removed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="InputDevice"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="is-unfocus-inhibited-changed" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="286">The signal is emitted when the property to inhibit the unsetting
of the focus-surface of the #ClutterSeat changed.

To get the current state of this property, use [method@Seat.is_unfocus_inhibited].</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="kbd-a11y-flags-changed" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="200">The signal is emitted each time the ClutterKeyboardA11yFlags
configuration is changed as the result of keyboard accessibility operations.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="settings_flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="203">the new ClutterKeyboardA11yFlags configuration</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="changed_mask" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="204">the ClutterKeyboardA11yFlags changed</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="kbd-a11y-mods-state-changed" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="177">The signal is emitted each time either the
latched modifiers mask or locked modifiers mask are changed as the
result of keyboard accessibility's sticky keys operations.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="latched_mask" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="180">the latched modifier mask from stickykeys</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="locked_mask" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="181">the locked modifier mask from stickykeys</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="ptr-a11y-dwell-click-type-changed" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="222">The signal is emitted each time the ClutterPointerA11yDwellClickType
mode is changed as the result of pointer accessibility operations.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="click_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="225">the new #ClutterPointerA11yDwellClickType mode</doc>
            <type name="PointerA11yDwellClickType"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="ptr-a11y-timeout-started" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="238">The signal is emitted when a pointer accessibility timeout delay is started,
so that upper layers can notify the user with some visual feedback.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="241">the core pointer #ClutterInputDevice</doc>
            <type name="PointerA11yTimeoutType"/>
          </parameter>
          <parameter name="timeout_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="242">the type of timeout #ClutterPointerA11yTimeoutType</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="ptr-a11y-timeout-stopped" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-seat.c"
             line="261">The signal is emitted when a running pointer accessibility timeout
delay is stopped, either because it's triggered at the end of
the delay or cancelled, so that upper layers can notify the user
with some visual feedback.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="264">the core pointer #ClutterInputDevice</doc>
            <type name="PointerA11yTimeoutType"/>
          </parameter>
          <parameter name="timeout_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="265">the type of timeout #ClutterPointerA11yTimeoutType</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="SeatClass"
            c:type="ClutterSeatClass"
            glib:is-gtype-struct-for="Seat">
      <source-position filename="clutter/clutter/clutter-seat.h" line="111"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="get_pointer" introspectable="0">
        <callback name="get_pointer" introspectable="0">
          <source-position filename="clutter/clutter/clutter-seat.h"
                           line="77"/>
          <return-value>
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </return-value>
          <parameters>
            <parameter name="seat" transfer-ownership="none">
              <type name="Seat" c:type="ClutterSeat*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_keyboard" introspectable="0">
        <callback name="get_keyboard" introspectable="0">
          <source-position filename="clutter/clutter/clutter-seat.h"
                           line="78"/>
          <return-value>
            <type name="InputDevice" c:type="ClutterInputDevice*"/>
          </return-value>
          <parameters>
            <parameter name="seat" transfer-ownership="none">
              <type name="Seat" c:type="ClutterSeat*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="peek_devices" introspectable="0">
        <callback name="peek_devices" introspectable="0">
          <source-position filename="clutter/clutter/clutter-seat.h"
                           line="80"/>
          <return-value transfer-ownership="none">
            <type name="GLib.List" c:type="const GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="seat" transfer-ownership="none">
              <type name="Seat" c:type="ClutterSeat*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="bell_notify">
        <callback name="bell_notify">
          <source-position filename="clutter/clutter/clutter-seat.h"
                           line="82"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="seat" transfer-ownership="none">
              <type name="Seat" c:type="ClutterSeat*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_keymap">
        <callback name="get_keymap">
          <source-position filename="clutter/clutter/clutter-seat.h"
                           line="84"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="405">the seat keymap</doc>
            <type name="Keymap" c:type="ClutterKeymap*"/>
          </return-value>
          <parameters>
            <parameter name="seat" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-seat.c"
                   line="401">a #ClutterSeat</doc>
              <type name="Seat" c:type="ClutterSeat*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="handle_event_post">
        <callback name="handle_event_post">
          <source-position filename="clutter/clutter/clutter-seat.h"
                           line="86"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="seat" transfer-ownership="none">
              <type name="Seat" c:type="ClutterSeat*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Event" c:type="const ClutterEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="warp_pointer">
        <callback name="warp_pointer">
          <source-position filename="clutter/clutter/clutter-seat.h"
                           line="89"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="seat" transfer-ownership="none">
              <type name="Seat" c:type="ClutterSeat*"/>
            </parameter>
            <parameter name="x" transfer-ownership="none">
              <type name="gint" c:type="int"/>
            </parameter>
            <parameter name="y" transfer-ownership="none">
              <type name="gint" c:type="int"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="init_pointer_position">
        <callback name="init_pointer_position">
          <source-position filename="clutter/clutter/clutter-seat.h"
                           line="93"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="seat" transfer-ownership="none">
              <type name="Seat" c:type="ClutterSeat*"/>
            </parameter>
            <parameter name="x" transfer-ownership="none">
              <type name="gfloat" c:type="float"/>
            </parameter>
            <parameter name="y" transfer-ownership="none">
              <type name="gfloat" c:type="float"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="query_state">
        <callback name="query_state">
          <source-position filename="clutter/clutter/clutter-seat.h"
                           line="97"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="seat" transfer-ownership="none">
              <type name="Seat" c:type="ClutterSeat*"/>
            </parameter>
            <parameter name="sprite" transfer-ownership="none">
              <type name="Sprite" c:type="ClutterSprite*"/>
            </parameter>
            <parameter name="coords" transfer-ownership="none">
              <type name="Graphene.Point" c:type="graphene_point_t*"/>
            </parameter>
            <parameter name="modifiers" transfer-ownership="none">
              <type name="ModifierType" c:type="ClutterModifierType*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="grab">
        <callback name="grab">
          <source-position filename="clutter/clutter/clutter-seat.h"
                           line="102"/>
          <return-value transfer-ownership="none">
            <type name="GrabState" c:type="ClutterGrabState"/>
          </return-value>
          <parameters>
            <parameter name="seat" transfer-ownership="none">
              <type name="Seat" c:type="ClutterSeat*"/>
            </parameter>
            <parameter name="time" transfer-ownership="none">
              <type name="guint32" c:type="uint32_t"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="ungrab">
        <callback name="ungrab">
          <source-position filename="clutter/clutter/clutter-seat.h"
                           line="104"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="seat" transfer-ownership="none">
              <type name="Seat" c:type="ClutterSeat*"/>
            </parameter>
            <parameter name="time" transfer-ownership="none">
              <type name="guint32" c:type="uint32_t"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="create_virtual_device">
        <callback name="create_virtual_device">
          <source-position filename="clutter/clutter/clutter-seat.h"
                           line="108"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-seat.c"
                 line="587">a newly created virtual device</doc>
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </return-value>
          <parameters>
            <parameter name="seat" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-seat.c"
                   line="582">a #ClutterSeat</doc>
              <type name="Seat" c:type="ClutterSeat*"/>
            </parameter>
            <parameter name="device_type" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/clutter-seat.c"
                   line="583">the type of the virtual device</doc>
              <type name="InputDeviceType" c:type="ClutterInputDeviceType"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_supported_virtual_device_types">
        <callback name="get_supported_virtual_device_types">
          <source-position filename="clutter/clutter/clutter-seat.h"
                           line="110"/>
          <return-value transfer-ownership="none">
            <type name="VirtualDeviceType" c:type="ClutterVirtualDeviceType"/>
          </return-value>
          <parameters>
            <parameter name="seat" transfer-ownership="none">
              <type name="Seat" c:type="ClutterSeat*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="Settings"
           c:symbol-prefix="settings"
           c:type="ClutterSettings"
           parent="GObject.Object"
           final="1"
           glib:type-name="ClutterSettings"
           glib:get-type="clutter_settings_get_type"
           glib:type-struct="SettingsClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-settings.c"
           line="1">Settings configuration

Clutter depends on some settings to perform operations like detecting
multiple button press events, or font options to render text.

Usually, Clutter will strive to use the platform's settings in order
to be as much integrated as possible. It is, however, possible to
change these settings on a per-application basis, by using the
#ClutterSettings singleton object and setting its properties. It is
also possible, for toolkit developers, to retrieve the settings from
the #ClutterSettings properties when implementing new UI elements,
for instance the default font name.</doc>
      <source-position filename="clutter/clutter/clutter-settings.h"
                       line="14"/>
      <function name="get_default"
                c:identifier="clutter_settings_get_default"
                deprecated="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-settings.c"
             line="672">Retrieves the singleton instance of #ClutterSettings</doc>
        <doc-deprecated xml:space="preserve">Use [method@Clutter.Context.get_settings] instead</doc-deprecated>
        <source-position filename="clutter/clutter/clutter-settings.h"
                         line="19"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-settings.c"
               line="677">the instance of #ClutterSettings. The
  returned object is owned by Clutter and it should not be unreferenced
  directly</doc>
          <type name="Settings" c:type="ClutterSettings*"/>
        </return-value>
      </function>
      <property name="dnd-drag-threshold"
                writable="1"
                transfer-ownership="none"
                default-value="8">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-settings.c"
             line="577">The default distance that the cursor of a pointer device
should travel before a drag operation should start.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="double-click-distance"
                writable="1"
                transfer-ownership="none"
                default-value="5">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-settings.c"
             line="564">The maximum distance, in pixels, between button-press events that
determines whether or not to increase the click count by 1.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="double-click-time"
                writable="1"
                transfer-ownership="none"
                default-value="250">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-settings.c"
             line="551">The time, in milliseconds, that should elapse between button-press
events in order to increase the click count by 1.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="font-dpi"
                writable="1"
                transfer-ownership="none"
                default-value="-1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-settings.c"
             line="602">The DPI used when rendering text, as a value of 1024 * dots/inch.

If set to -1, the system's default will be used instead</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="font-name"
                writable="1"
                transfer-ownership="none"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-settings.c"
             line="590">The default font name that should be used by text actors, as
a string that can be passed to [func@Pango.FontDescription.from_string].</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="long-press-duration"
                writable="1"
                transfer-ownership="none"
                default-value="500">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-settings.c"
             line="616">Sets the minimum duration for a press to be recognized as a long press
gesture. The duration is expressed in milliseconds.

See also [property@PressGesture:long-press-duration-ms].</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="password-hint-time"
                writable="1"
                transfer-ownership="none"
                default-value="0">
        <type name="guint" c:type="guint"/>
      </property>
    </class>
    <record name="SettingsClass"
            c:type="ClutterSettingsClass"
            glib:is-gtype-struct-for="Settings">
      <source-position filename="clutter/clutter/clutter-settings.h"
                       line="14"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="ShaderEffect"
           c:symbol-prefix="shader_effect"
           c:type="ClutterShaderEffect"
           parent="OffscreenEffect"
           glib:type-name="ClutterShaderEffect"
           glib:get-type="clutter_shader_effect_get_type"
           glib:type-struct="ShaderEffectClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-shader-effect.c"
           line="25">Base class for shader effects

#ClutterShaderEffect is a class that implements all the plumbing for
creating [class@Effect]s using GLSL shaders.

#ClutterShaderEffect creates an offscreen buffer and then applies the
GLSL shader (after checking whether the compilation and linking were
successful) to the buffer before painting it on screen.


## Implementing a ClutterShaderEffect

Creating a sub-class of #ClutterShaderEffect requires the
overriding of the [vfunc@OffscreenEffect.paint_target] virtual
function from the [class@OffscreenEffect] class. It is also convenient
to implement the [vfunc@ShaderEffect.get_static_shader_source]
virtual function in case you are planning to create more than one
instance of the effect.

The [vfunc@ShaderEffect.get_static_shader_source]
function should return a copy of the shader source to use. This
function is only called once per subclass of #ClutterShaderEffect
regardless of how many instances of the effect are created. The
source for the shader is typically stored in a static const
string which is returned from this function via
g_strdup().

The [vfunc@OffscreenEffect.paint_target] should set the
shader's uniforms if any. This is done by calling
[method@ShaderEffect.set_uniform_value] or
[method@ShaderEffect.set_uniform]. The sub-class should then
chain up to the #ClutterShaderEffect implementation.

## Setting uniforms on a ClutterShaderEffect

The example below shows a typical implementation of the
[vfunc@ShaderEffect.get_static_shader_source] and
[vfunc@OffscreenEffect.paint_target] virtual functions
for a #ClutterShaderEffect subclass.

```c
 static gchar *
 my_effect_get_static_shader_source (ClutterShaderEffect *effect)
 {
   // shader_source is set elsewhere
   return g_strdup (shader_source);
 }

 static gboolean
 my_effect_paint_target (ClutterOffscreenEffect *effect)
 {
   MyEffect *self = MY_EFFECT (effect);
   ClutterShaderEffect *shader = CLUTTER_SHADER_EFFECT (effect);
   ClutterEffectClass *parent_class;
   gfloat component_r, component_g, component_b;

   // the "tex" uniform is declared in the shader as:
   //
   //   uniform int tex;
   //
   // and it is passed a constant value of 0
   clutter_shader_effect_set_uniform (shader, "tex", G_TYPE_INT, 1, 0);

   // the "component" uniform is declared in the shader as:
   //
   //   uniform vec3 component;
   //
   // and it's defined to contain the normalized components
   // of a #CoglColor
   component_r = self-&gt;color.red   / 255.0f;
   component_g = self-&gt;color.green / 255.0f;
   component_b = self-&gt;color.blue  / 255.0f;
   clutter_shader_effect_set_uniform (shader, "component",
                                      G_TYPE_FLOAT, 3,
                                      component_r,
                                      component_g,
                                      component_b);

   // chain up to the parent's implementation
   parent_class = CLUTTER_OFFSCREEN_EFFECT_CLASS (my_effect_parent_class);
   return parent_class-&gt;paint_target (effect);
 }
```</doc>
      <source-position filename="clutter/clutter/clutter-shader-effect.h"
                       line="62"/>
      <constructor name="new" c:identifier="clutter_shader_effect_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-shader-effect.c"
             line="467">Creates a new #ClutterShaderEffect, to be applied to an actor using
[method@Actor.add_effect].

The effect will be empty until [method@ShaderEffect.set_shader_source]
is called.</doc>
        <source-position filename="clutter/clutter/clutter-shader-effect.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-effect.c"
               line="477">the newly created #ClutterShaderEffect.
  Use g_object_unref() when done.</doc>
          <type name="Effect" c:type="ClutterEffect*"/>
        </return-value>
        <parameters>
          <parameter name="shader_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-shader-effect.c"
                 line="469">the type of the shader</doc>
            <type name="Cogl.ShaderType" c:type="CoglShaderType"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="get_static_shader_source">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-shader-effect.h"
             line="46">Returns the GLSL source code to use for
 instances of this shader effect. Note that this function is only
 called once per subclass of #ClutterShaderEffect regardless of how
 many instances are used. It is expected that subclasses will return
 a copy of a static string from this function.</doc>
        <source-position filename="clutter/clutter/clutter-shader-effect.h"
                         line="61"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <type name="ShaderEffect" c:type="ClutterShaderEffect*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_program"
              c:identifier="clutter_shader_effect_get_program">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-shader-effect.c"
             line="509">Retrieves a pointer to the program's handle</doc>
        <source-position filename="clutter/clutter/clutter-shader-effect.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-effect.c"
               line="515">a pointer to the program's handle,
  or %NULL</doc>
          <type name="Cogl.Program" c:type="CoglProgram*"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-shader-effect.c"
                 line="511">a #ClutterShaderEffect</doc>
            <type name="ShaderEffect" c:type="ClutterShaderEffect*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_shader"
              c:identifier="clutter_shader_effect_get_shader">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-shader-effect.c"
             line="488">Retrieves a pointer to the shader's handle</doc>
        <source-position filename="clutter/clutter/clutter-shader-effect.h"
                         line="83"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-effect.c"
               line="494">a pointer to the shader's handle,
  or %NULL</doc>
          <type name="Cogl.Shader" c:type="CoglShader*"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-shader-effect.c"
                 line="490">a #ClutterShaderEffect</doc>
            <type name="ShaderEffect" c:type="ClutterShaderEffect*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_shader_source"
              c:identifier="clutter_shader_effect_set_shader_source">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-shader-effect.c"
             line="827">Sets the source of the GLSL shader used by @effect

This function should only be called by implementations of
the #ClutterShaderEffect class, and not by application code.

This function can only be called once; subsequent calls will
yield no result.</doc>
        <source-position filename="clutter/clutter/clutter-shader-effect.h"
                         line="68"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-effect.c"
               line="840">%TRUE if the source was set</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-shader-effect.c"
                 line="829">a #ClutterShaderEffect</doc>
            <type name="ShaderEffect" c:type="ClutterShaderEffect*"/>
          </instance-parameter>
          <parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-shader-effect.c"
                 line="830">the source of a GLSL shader</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uniform"
              c:identifier="clutter_shader_effect_set_uniform"
              introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-shader-effect.c"
             line="743">Sets a list of values as the payload for the uniform @name inside
the shader effect

The @gtype must be one of: %G_TYPE_INT, for 1 or more integer values;
%G_TYPE_FLOAT, for 1 or more floating point values;
%CLUTTER_TYPE_SHADER_INT, for a pointer to an array of integer values;
%CLUTTER_TYPE_SHADER_FLOAT, for a pointer to an array of floating point
values; and %CLUTTER_TYPE_SHADER_MATRIX, for a pointer to an array of
floating point values mapping a matrix

The number of values interpreted is defined by the @n_value
argument, and by the @gtype argument. For instance, a uniform named
"sampler0" and containing a single integer value is set using:

```c
  clutter_shader_effect_set_uniform (effect, "sampler0",
                                     G_TYPE_INT, 1,
                                     0);
```

While a uniform named "components" and containing a 3-elements vector
of floating point values (a "vec3") can be set using:

```c
  gfloat component_r, component_g, component_b;

  clutter_shader_effect_set_uniform (effect, "components",
                                     G_TYPE_FLOAT, 3,
                                     component_r,
                                     component_g,
                                     component_b);
```

or can be set using:

```c
  gfloat component_vec[3];

  clutter_shader_effect_set_uniform (effect, "components",
                                     CLUTTER_TYPE_SHADER_FLOAT, 3,
                                     component_vec);
```

Finally, a uniform named "map" and containing a matrix can be set using:

```c
  float v[16];

  cogl_matrix_to_float (&amp;matrix, v);
  clutter_shader_effect_set_uniform (effect, "map",
                                     CLUTTER_TYPE_SHADER_MATRIX,
                                     1, v);
```</doc>
        <source-position filename="clutter/clutter/clutter-shader-effect.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-shader-effect.c"
                 line="745">a #ClutterShaderEffect</doc>
            <type name="ShaderEffect" c:type="ClutterShaderEffect*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-shader-effect.c"
                 line="746">the name of the uniform to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="gtype" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-shader-effect.c"
                 line="747">the type of the uniform to set</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="n_values" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-shader-effect.c"
                 line="748">the number of values</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-shader-effect.c"
                 line="749">a list of values</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uniform_value"
              c:identifier="clutter_shader_effect_set_uniform_value">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-shader-effect.c"
             line="600">Sets @value as the payload for the uniform @name inside the shader
effect

The #GType of the @value must be one of: %G_TYPE_INT, for a single
integer value; %G_TYPE_FLOAT, for a single floating point value;
%CLUTTER_TYPE_SHADER_INT, for an array of integer values;
%CLUTTER_TYPE_SHADER_FLOAT, for an array of floating point values;
and %CLUTTER_TYPE_SHADER_MATRIX, for a matrix of floating point
values. It also accepts %G_TYPE_DOUBLE for compatibility with other
languages than C.</doc>
        <source-position filename="clutter/clutter/clutter-shader-effect.h"
                         line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="effect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-shader-effect.c"
                 line="602">a #ClutterShaderEffect</doc>
            <type name="ShaderEffect" c:type="ClutterShaderEffect*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-shader-effect.c"
                 line="603">the name of the uniform to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-shader-effect.c"
                 line="604">a #GValue with the value of the uniform to set</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
        </parameters>
      </method>
      <property name="shader-type"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="COGL_SHADER_TYPE_FRAGMENT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-shader-effect.c"
             line="432">The type of shader that is used by the effect. This property
should be set by the constructor of #ClutterShaderEffect
sub-classes.</doc>
        <type name="Cogl.ShaderType"/>
      </property>
      <field name="parent_instance">
        <type name="OffscreenEffect" c:type="ClutterOffscreenEffect"/>
      </field>
    </class>
    <record name="ShaderEffectClass"
            c:type="ClutterShaderEffectClass"
            glib:is-gtype-struct-for="ShaderEffect">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-shader-effect.h"
           line="44">The #ClutterShaderEffectClass structure contains
only private data</doc>
      <source-position filename="clutter/clutter/clutter-shader-effect.h"
                       line="62"/>
      <field name="parent_class" readable="0" private="1">
        <type name="OffscreenEffectClass"
              c:type="ClutterOffscreenEffectClass"/>
      </field>
      <field name="get_static_shader_source">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-shader-effect.h"
             line="46">Returns the GLSL source code to use for
 instances of this shader effect. Note that this function is only
 called once per subclass of #ClutterShaderEffect regardless of how
 many instances are used. It is expected that subclasses will return
 a copy of a static string from this function.</doc>
        <callback name="get_static_shader_source">
          <source-position filename="clutter/clutter/clutter-shader-effect.h"
                           line="61"/>
          <return-value transfer-ownership="full">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="effect" transfer-ownership="none">
              <type name="ShaderEffect" c:type="ClutterShaderEffect*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="ShaderFloat"
           c:symbol-prefix="shader_float"
           c:type="ClutterShaderFloat"
           glib:type-name="ClutterShaderFloat"
           glib:get-type="clutter_shader_float_get_type"
           glib:fundamental="1">
    </class>
    <class name="ShaderInt"
           c:symbol-prefix="shader_int"
           c:type="ClutterShaderInt"
           glib:type-name="ClutterShaderInt"
           glib:get-type="clutter_shader_int_get_type"
           glib:fundamental="1">
    </class>
    <class name="ShaderMatrix"
           c:symbol-prefix="shader_matrix"
           c:type="ClutterShaderMatrix"
           glib:type-name="ClutterShaderMatrix"
           glib:get-type="clutter_shader_matrix_get_type"
           glib:fundamental="1">
    </class>
    <class name="SnapConstraint"
           c:symbol-prefix="snap_constraint"
           c:type="ClutterSnapConstraint"
           parent="Constraint"
           final="1"
           glib:type-name="ClutterSnapConstraint"
           glib:get-type="clutter_snap_constraint_get_type"
           glib:type-struct="SnapConstraintClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-snap-constraint.c"
           line="25">A constraint snapping two actors together

#ClutterSnapConstraint is a constraint the snaps the edges of two
actors together, expanding the actor's allocation if necessary.

An offset can be applied to the constraint, to provide spacing.</doc>
      <source-position filename="clutter/clutter/clutter-snap-constraint.h"
                       line="38"/>
      <constructor name="new" c:identifier="clutter_snap_constraint_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-snap-constraint.c"
             line="370">Creates a new #ClutterSnapConstraint that will snap a [class@Actor]
to the @edge of @source, with the given @offset.</doc>
        <source-position filename="clutter/clutter/clutter-snap-constraint.h"
                         line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-snap-constraint.c"
               line="381">the newly created #ClutterSnapConstraint</doc>
          <type name="Constraint" c:type="ClutterConstraint*"/>
        </return-value>
        <parameters>
          <parameter name="source"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-snap-constraint.c"
                 line="372">the #ClutterActor to use as the source of
  the constraint, or %NULL</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="from_edge" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-snap-constraint.c"
                 line="374">the edge of the actor to use in the constraint</doc>
            <type name="SnapEdge" c:type="ClutterSnapEdge"/>
          </parameter>
          <parameter name="to_edge" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-snap-constraint.c"
                 line="375">the edge of @source to use in the constraint</doc>
            <type name="SnapEdge" c:type="ClutterSnapEdge"/>
          </parameter>
          <parameter name="offset" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-snap-constraint.c"
                 line="376">the offset to apply to the constraint, in pixels</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_edges"
              c:identifier="clutter_snap_constraint_get_edges">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-snap-constraint.c"
             line="510">Retrieves the edges used by the @constraint</doc>
        <source-position filename="clutter/clutter/clutter-snap-constraint.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="constraint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-snap-constraint.c"
                 line="512">a #ClutterSnapConstraint</doc>
            <type name="SnapConstraint" c:type="ClutterSnapConstraint*"/>
          </instance-parameter>
          <parameter name="from_edge"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-snap-constraint.c"
                 line="513">return location for the actor's edge, or %NULL</doc>
            <type name="SnapEdge" c:type="ClutterSnapEdge*"/>
          </parameter>
          <parameter name="to_edge"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-snap-constraint.c"
                 line="514">return location for the source's edge, or %NULL</doc>
            <type name="SnapEdge" c:type="ClutterSnapEdge*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_offset"
              c:identifier="clutter_snap_constraint_get_offset"
              glib:get-property="offset">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-snap-constraint.c"
             line="556">Retrieves the offset set using [method@SnapConstraint.set_offset]</doc>
        <source-position filename="clutter/clutter/clutter-snap-constraint.h"
                         line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-snap-constraint.c"
               line="562">the offset, in pixels</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="constraint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-snap-constraint.c"
                 line="558">a #ClutterSnapConstraint</doc>
            <type name="SnapConstraint" c:type="ClutterSnapConstraint*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_source"
              c:identifier="clutter_snap_constraint_get_source"
              glib:get-property="source">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-snap-constraint.c"
             line="446">Retrieves the [class@Actor] set using [method@SnapConstraint.set_source]</doc>
        <source-position filename="clutter/clutter/clutter-snap-constraint.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-snap-constraint.c"
               line="452">a pointer to the source actor</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="constraint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-snap-constraint.c"
                 line="448">a #ClutterSnapConstraint</doc>
            <type name="SnapConstraint" c:type="ClutterSnapConstraint*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_edges"
              c:identifier="clutter_snap_constraint_set_edges">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-snap-constraint.c"
             line="462">Sets the edges to be used by the @constraint

The @from_edge is the edge on the [class@Actor] to which @constraint
has been added. The @to_edge is the edge of the [class@Actor] inside
the [property@SnapConstraint:source] property.</doc>
        <source-position filename="clutter/clutter/clutter-snap-constraint.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="constraint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-snap-constraint.c"
                 line="464">a #ClutterSnapConstraint</doc>
            <type name="SnapConstraint" c:type="ClutterSnapConstraint*"/>
          </instance-parameter>
          <parameter name="from_edge" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-snap-constraint.c"
                 line="465">the edge on the actor</doc>
            <type name="SnapEdge" c:type="ClutterSnapEdge"/>
          </parameter>
          <parameter name="to_edge" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-snap-constraint.c"
                 line="466">the edge on the source</doc>
            <type name="SnapEdge" c:type="ClutterSnapEdge"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_offset"
              c:identifier="clutter_snap_constraint_set_offset"
              glib:set-property="offset">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-snap-constraint.c"
             line="532">Sets the offset to be applied to the constraint</doc>
        <source-position filename="clutter/clutter/clutter-snap-constraint.h"
                         line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="constraint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-snap-constraint.c"
                 line="534">a #ClutterSnapConstraint</doc>
            <type name="SnapConstraint" c:type="ClutterSnapConstraint*"/>
          </instance-parameter>
          <parameter name="offset" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-snap-constraint.c"
                 line="535">the offset to apply, in pixels</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_source"
              c:identifier="clutter_snap_constraint_set_source"
              glib:set-property="source">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-snap-constraint.c"
             line="399">Sets the source [class@Actor] for the constraint</doc>
        <source-position filename="clutter/clutter/clutter-snap-constraint.h"
                         line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="constraint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-snap-constraint.c"
                 line="401">a #ClutterSnapConstraint</doc>
            <type name="SnapConstraint" c:type="ClutterSnapConstraint*"/>
          </instance-parameter>
          <parameter name="source"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-snap-constraint.c"
                 line="402">a #ClutterActor, or %NULL to unset the source</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <property name="from-edge"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="CLUTTER_SNAP_EDGE_RIGHT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-snap-constraint.c"
             line="312">The edge of the [class@Actor] that should be snapped</doc>
        <type name="SnapEdge"/>
      </property>
      <property name="offset"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_offset"
                getter="get_offset"
                default-value="0.000000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-snap-constraint.c"
             line="338">The offset, in pixels, between [property@SnapConstraint:from-edge]
and [property@SnapConstraint:to-edge]</doc>
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="source"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_source"
                getter="get_source">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-snap-constraint.c"
             line="300">The [class@Actor] used as the source for the constraint</doc>
        <type name="Actor"/>
      </property>
      <property name="to-edge"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="CLUTTER_SNAP_EDGE_RIGHT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-snap-constraint.c"
             line="325">The edge of the [property@SnapConstraint:source] that should be snapped</doc>
        <type name="SnapEdge"/>
      </property>
    </class>
    <record name="SnapConstraintClass"
            c:type="ClutterSnapConstraintClass"
            glib:is-gtype-struct-for="SnapConstraint">
      <source-position filename="clutter/clutter/clutter-snap-constraint.h"
                       line="38"/>
      <field name="parent_class">
        <type name="ConstraintClass" c:type="ClutterConstraintClass"/>
      </field>
    </record>
    <enumeration name="SnapEdge"
                 glib:type-name="ClutterSnapEdge"
                 glib:get-type="clutter_snap_edge_get_type"
                 c:type="ClutterSnapEdge">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="719">The edge to snap</doc>
      <member name="top"
              value="0"
              c:identifier="CLUTTER_SNAP_EDGE_TOP"
              glib:nick="top"
              glib:name="CLUTTER_SNAP_EDGE_TOP">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="721">the top edge</doc>
      </member>
      <member name="right"
              value="1"
              c:identifier="CLUTTER_SNAP_EDGE_RIGHT"
              glib:nick="right"
              glib:name="CLUTTER_SNAP_EDGE_RIGHT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="722">the right edge</doc>
      </member>
      <member name="bottom"
              value="2"
              c:identifier="CLUTTER_SNAP_EDGE_BOTTOM"
              glib:nick="bottom"
              glib:name="CLUTTER_SNAP_EDGE_BOTTOM">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="723">the bottom edge</doc>
      </member>
      <member name="left"
              value="3"
              c:identifier="CLUTTER_SNAP_EDGE_LEFT"
              glib:nick="left"
              glib:name="CLUTTER_SNAP_EDGE_LEFT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="724">the left edge</doc>
      </member>
    </enumeration>
    <class name="Sprite"
           c:symbol-prefix="sprite"
           c:type="ClutterSprite"
           parent="Focus"
           glib:type-name="ClutterSprite"
           glib:get-type="clutter_sprite_get_type"
           glib:type-struct="SpriteClass">
      <source-position filename="clutter/clutter/clutter-sprite.h" line="44"/>
      <method name="get_coords" c:identifier="clutter_sprite_get_coords">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-sprite.c"
             line="939">Returns the current position that @sprite points to, in stage-global
coordinate system.</doc>
        <source-position filename="clutter/clutter/clutter-sprite.h"
                         line="47"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="sprite" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-sprite.c"
                 line="941">a #ClutterSprite</doc>
            <type name="Sprite" c:type="ClutterSprite*"/>
          </instance-parameter>
          <parameter name="coords"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-sprite.c"
                 line="942">return location for the sprite coordinates</doc>
            <type name="Graphene.Point" c:type="graphene_point_t*"/>
          </parameter>
        </parameters>
      </method>
      <property name="device"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="InputDevice"/>
      </property>
      <property name="sequence"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="EventSequence"/>
      </property>
      <field name="parent_instance">
        <type name="Focus" c:type="ClutterFocus"/>
      </field>
    </class>
    <record name="SpriteClass"
            c:type="ClutterSpriteClass"
            glib:is-gtype-struct-for="Sprite">
      <source-position filename="clutter/clutter/clutter-sprite.h" line="44"/>
      <field name="parent_class">
        <type name="FocusClass" c:type="ClutterFocusClass"/>
      </field>
    </record>
    <class name="Stage"
           c:symbol-prefix="stage"
           c:type="ClutterStage"
           parent="Actor"
           glib:type-name="ClutterStage"
           glib:get-type="clutter_stage_get_type"
           glib:type-struct="StageClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-stage.c"
           line="24">Top level visual element to which actors are placed.

#ClutterStage is a top level 'window' on which child actors are placed
and manipulated.

#ClutterStage is a proxy actor, wrapping the backend-specific implementation
(a #StageWindow) of the windowing system. It is possible to subclass
#ClutterStage, as long as every overridden virtual function chains up to the
parent class corresponding function.</doc>
      <source-position filename="clutter/clutter/clutter-stage.h" line="73"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Animatable"/>
      <virtual-method name="before_paint">
        <source-position filename="clutter/clutter/clutter-stage.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </parameter>
          <parameter name="frame" transfer-ownership="none">
            <type name="Frame" c:type="ClutterFrame*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="paint_view">
        <source-position filename="clutter/clutter/clutter-stage.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </parameter>
          <parameter name="redraw_clip" transfer-ownership="none">
            <type name="Mtk.Region" c:type="const MtkRegion*"/>
          </parameter>
          <parameter name="frame" transfer-ownership="none">
            <type name="Frame" c:type="ClutterFrame*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="skipped_paint">
        <source-position filename="clutter/clutter/clutter-stage.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </parameter>
          <parameter name="frame" transfer-ownership="none">
            <type name="Frame" c:type="ClutterFrame*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="ensure_viewport"
              c:identifier="clutter_stage_ensure_viewport">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="2120">Ensures that the GL viewport is updated with the current
stage window size.

This function will queue a redraw of @stage.

This function should not be called by applications; it is used
when embedding a #ClutterStage into a toolkit with another
windowing system, like GTK+.</doc>
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="168"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2122">a #ClutterStage</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="foreach_sprite"
              c:identifier="clutter_stage_foreach_sprite">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="3486">Iterates over active input.</doc>
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="244"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-stage.c"
               line="3494">%TRUE if the foreach function did not stop.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="3488">The stage</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="3489">Iterator function</doc>
            <type name="StageInputForeachFunc"
                  c:type="ClutterStageInputForeachFunc"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="3490">user data</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_actor_at_pos"
              c:identifier="clutter_stage_get_actor_at_pos">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="2005">Checks the scene at the coordinates @x and @y and returns a pointer
to the [class@Clutter.Actor] at those coordinates. The result is the actor which
would be at the specified location on the next redraw, and is not
necessarily that which was there on the previous redraw. This allows the
function to perform chronologically correctly after any queued changes to
the scene, and even if nothing has been drawn.

By using @pick_mode it is possible to control which actors will be
painted and thus available.</doc>
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="156"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-stage.c"
               line="2022">the actor at the specified coordinates,
  if any</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2007">a #ClutterStage</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="pick_mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2008">how the scene graph should be painted</doc>
            <type name="PickMode" c:type="ClutterPickMode"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2009">X coordinate to check</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2010">Y coordinate to check</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_capture_final_size"
              c:identifier="clutter_stage_get_capture_final_size">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="2540">Get the size of the framebuffer one must pass to
[method@Stage.paint_to_buffer] or [method@Stage.paint_to_framebuffer]
would be used with the same @rect.</doc>
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="177"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-stage.c"
               line="2552">%TRUE if the size has been retrieved, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2542">a #ClutterStage actor</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="rect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2543">a rectangle</doc>
            <type name="Mtk.Rectangle" c:type="MtkRectangle*"/>
          </parameter>
          <parameter name="out_width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2544">the final width</doc>
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="out_height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2545">the final height</doc>
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="out_scale"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2546">the final scale factor</doc>
            <type name="gfloat" c:type="float*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_event_actor"
              c:identifier="clutter_stage_get_event_actor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="3308">Retrieves the current focus actor for an event. This is
the key focus for key events and other events directed
to the key focus, or the actor directly under the
coordinates of a device or touch sequence.

The actor is looked up at the time of calling this function,
and may differ from the actor that the stage originally
delivered the event to.</doc>
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="213"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-stage.c"
               line="3322">a pointer to the #ClutterActor or %NULL</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="3310">a #ClutterStage</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="3311">an event received on the stage</doc>
            <type name="Event" c:type="const ClutterEvent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_grab_actor"
              c:identifier="clutter_stage_get_grab_actor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="3288">Gets the actor that currently holds a grab.</doc>
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="225"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-stage.c"
               line="3294">The grabbing actor</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="3290">a #ClutterStage</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_key_focus"
              c:identifier="clutter_stage_get_key_focus"
              glib:get-property="key-focus">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="2074">Retrieves the actor that is currently under key focus.</doc>
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="153"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-stage.c"
               line="2080">the actor with key focus</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2076">the #ClutterStage</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_perspective"
              c:identifier="clutter_stage_get_perspective"
              glib:get-property="perspective">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="1724">Retrieves the stage perspective.</doc>
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="142"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1726">A #ClutterStage</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="perspective"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1727">return location for a
  #ClutterPerspective</doc>
            <type name="Perspective" c:type="ClutterPerspective*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_view_at"
              c:identifier="clutter_stage_get_view_at"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="208"/>
        <return-value>
          <type name="StageView" c:type="ClutterStageView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <type name="gfloat" c:type="float"/>
          </parameter>
        </parameters>
      </method>
      <method name="grab" c:identifier="clutter_stage_grab">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="3123">Grabs input onto a certain actor. Events will be propagated as
usual inside its hierarchy.</doc>
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="217"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-stage.c"
               line="3131">an opaque #ClutterGrab handle, drop
  with [method@Grab.dismiss]</doc>
          <type name="Grab" c:type="ClutterGrab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="3125">The #ClutterStage</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="3126">The actor grabbing input</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="grab_inactive" c:identifier="clutter_stage_grab_inactive">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="3146">Creates an inactive grab. The grab will become effective
after [method@Grab.activate].</doc>
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="221"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-stage.c"
               line="3154">an opaque #ClutterGrab handle</doc>
          <type name="Grab" c:type="ClutterGrab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="3148">The #ClutterStage</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="3149">The actor that will grab input</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="handle_event" c:identifier="clutter_stage_handle_event">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-main.c"
             line="146">Processes an event.

The @event must be a valid #ClutterEvent and have a #ClutterStage
associated to it.

This function is only useful when embedding Clutter inside another
toolkit, and it should never be called by applications.</doc>
        <source-position filename="clutter/clutter/clutter-main.h" line="104"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-main.c"
                 line="148">a #ClutterStage.</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-main.c"
                 line="149">a #ClutterEvent.</doc>
            <type name="Event" c:type="ClutterEvent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_active" c:identifier="clutter_stage_is_active">
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="249"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_redraw_queued_on_view"
              c:identifier="clutter_stage_is_redraw_queued_on_view"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="171"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </parameter>
        </parameters>
      </method>
      <method name="paint_to_buffer"
              c:identifier="clutter_stage_paint_to_buffer"
              throws="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="2659">Take a snapshot of the stage to a provided buffer.</doc>
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="191"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-stage.c"
               line="2672">%TRUE is the buffer has been paint successfully, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2661">a #ClutterStage actor</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="rect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2662">a rectangle</doc>
            <type name="Mtk.Rectangle" c:type="const MtkRectangle*"/>
          </parameter>
          <parameter name="scale" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2663">the scale</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2664">a pointer to the data</doc>
            <array zero-terminated="0" c:type="uint8_t*">
              <type name="guint8"/>
            </array>
          </parameter>
          <parameter name="stride" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2665">stride of the image surface</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2666">the pixel format</doc>
            <type name="Cogl.PixelFormat" c:type="CoglPixelFormat"/>
          </parameter>
          <parameter name="paint_flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2667">the #ClutterPaintFlag</doc>
            <type name="PaintFlag" c:type="ClutterPaintFlag"/>
          </parameter>
        </parameters>
      </method>
      <method name="paint_to_content"
              c:identifier="clutter_stage_paint_to_content"
              throws="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="2736">Take a snapshot of the stage to a #ClutterContent.</doc>
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="201"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-stage.c"
               line="2746">the #ClutterContent or %NULL on error.</doc>
          <type name="Content" c:type="ClutterContent*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2738">a #ClutterStage actor</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="rect" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2739">a rectangle</doc>
            <type name="Mtk.Rectangle" c:type="const MtkRectangle*"/>
          </parameter>
          <parameter name="scale" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2740">the scale</doc>
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="paint_flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2741">the #ClutterPaintFlag</doc>
            <type name="PaintFlag" c:type="ClutterPaintFlag"/>
          </parameter>
        </parameters>
      </method>
      <method name="paint_to_framebuffer"
              c:identifier="clutter_stage_paint_to_framebuffer">
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="184"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="framebuffer" transfer-ownership="none">
            <type name="Cogl.Framebuffer" c:type="CoglFramebuffer*"/>
          </parameter>
          <parameter name="rect" transfer-ownership="none">
            <type name="Mtk.Rectangle" c:type="const MtkRectangle*"/>
          </parameter>
          <parameter name="scale" transfer-ownership="none">
            <type name="gfloat" c:type="float"/>
          </parameter>
          <parameter name="paint_flags" transfer-ownership="none">
            <type name="PaintFlag" c:type="ClutterPaintFlag"/>
          </parameter>
        </parameters>
      </method>
      <method name="read_pixels" c:identifier="clutter_stage_read_pixels">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="1915">Makes a screenshot of the stage in RGBA 8bit data, returns a
linear buffer with @width * 4 as rowstride.

The alpha data contained in the returned buffer is driver-dependent,
and not guaranteed to hold any sensible value.</doc>
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="161"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-stage.c"
               line="1931">a pointer to newly allocated memory with the buffer
  or %NULL if the read failed. Use g_free() on the returned data
  to release the resources it has allocated.</doc>
          <array zero-terminated="0" c:type="guchar*">
            <type name="guint8" c:type="guchar"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1917">A #ClutterStage</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1918">x coordinate of the first pixel that is read from stage</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1919">y coordinate of the first pixel that is read from stage</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1920">Width dimension of pixels to be read, or -1 for the
  entire stage width</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1922">Height dimension of pixels to be read, or -1 for the
  entire stage height</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="schedule_update"
              c:identifier="clutter_stage_schedule_update">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="2432">Schedules a redraw of the #ClutterStage at the next optimal timestamp.</doc>
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="174"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2434">a #ClutterStage actor</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_active" c:identifier="clutter_stage_set_active">
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="252"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="is_active" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_key_focus"
              c:identifier="clutter_stage_set_key_focus"
              glib:set-property="key-focus">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="2036">Sets the key focus on @actor. An actor with key focus will receive
all the key events. If @actor is %NULL, the stage will receive
focus.</doc>
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="150"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2038">the #ClutterStage</doc>
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="actor"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="2039">the actor to set key focus to, or %NULL</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_minimum_size"
              c:identifier="clutter_stage_set_minimum_size">
        <source-position filename="clutter/clutter/clutter-stage.h"
                         line="146"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="stage" transfer-ownership="none">
            <type name="Stage" c:type="ClutterStage*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <property name="is-grabbed"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="1480">%TRUE if there is currently an active grab on the stage.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="key-focus"
                writable="1"
                transfer-ownership="none"
                setter="set_key_focus"
                getter="get_key_focus">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="1465">The [class@Clutter.Actor] that will receive key events from the underlying
windowing system.

If %NULL, the #ClutterStage will receive the events.</doc>
        <type name="Actor"/>
      </property>
      <property name="perspective"
                transfer-ownership="none"
                getter="get_perspective">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="1452">The parameters used for the perspective projection from 3D
coordinates to 2D</doc>
        <type name="Perspective"/>
      </property>
      <field name="parent_instance">
        <type name="Actor" c:type="ClutterActor"/>
      </field>
      <glib:signal name="after-paint" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="1559">The signal is emitted after the stage is painted,
but before the results are displayed on the screen.0</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1562">a #ClutterStageView</doc>
            <type name="StageView"/>
          </parameter>
          <parameter name="frame" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1563">a #ClutterFrame</doc>
            <type name="Frame"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="after-update" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1608">a #ClutterStageView</doc>
            <type name="StageView"/>
          </parameter>
          <parameter name="frame" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1609">a #ClutterFrame</doc>
            <type name="Frame"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="before-paint" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="1537">The signal is emitted before the stage is painted.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1540">a #ClutterStageView</doc>
            <type name="StageView"/>
          </parameter>
          <parameter name="frame" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1541">a #ClutterFrame</doc>
            <type name="Frame"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="before-update" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1497">a #ClutterStageView</doc>
            <type name="StageView"/>
          </parameter>
          <parameter name="frame" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1498">a #ClutterFrame</doc>
            <type name="Frame"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="gl-video-memory-purged"
                   when="last"
                   introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="1676">Signals that the underlying GL driver has had its texture memory purged
so anything presently held in texture memory is now invalidated, and
likely corrupt. It needs redrawing.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="paint-view" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="1625">The signal is emitted before a [class@Clutter.StageView] is being
painted.

The view is painted in the default handler. Hence, if you want to perform
some action after the view is painted, like reading the contents of the
framebuffer, use [func@GObject.signal_connect_after] or pass %G_CONNECT_AFTER.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1628">a #ClutterStageView</doc>
            <type name="StageView"/>
          </parameter>
          <parameter name="redraw_clip" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1629">a #MtkRegion with the redraw clip</doc>
            <type name="Mtk.Region"/>
          </parameter>
          <parameter name="frame" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1630">a #ClutterFrame</doc>
            <type name="Frame"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="prepare-frame" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="1514">The signal is emitted after the stage is updated,
before the stage is painted, even if it will not be painted.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1517">a #ClutterStageView</doc>
            <type name="StageView"/>
          </parameter>
          <parameter name="frame" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1518">a #ClutterFrame</doc>
            <type name="Frame"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="presented" when="last" introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="1654">Signals that the #ClutterStage was presented on the screen to the user.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1657">the #ClutterStageView presented</doc>
            <type name="StageView"/>
          </parameter>
          <parameter name="frame_info"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1658">a #ClutterFrameInfo</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="skipped-paint" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.c"
             line="1582">The ::skipped-paint signal is emitted after relayout, if no damage
was posted and the paint was skipped.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1585">a #ClutterStageView</doc>
            <type name="StageView"/>
          </parameter>
          <parameter name="frame" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage.c"
                 line="1586">a #ClutterFrame</doc>
            <type name="Frame"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="StageClass"
            c:type="ClutterStageClass"
            glib:is-gtype-struct-for="Stage">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-stage.h"
           line="46">The #ClutterStageClass structure contains only private data</doc>
      <source-position filename="clutter/clutter/clutter-stage.h" line="73"/>
      <field name="parent_class" readable="0" private="1">
        <type name="ActorClass" c:type="ClutterActorClass"/>
      </field>
      <field name="before_paint">
        <callback name="before_paint">
          <source-position filename="clutter/clutter/clutter-stage.h"
                           line="61"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="stage" transfer-ownership="none">
              <type name="Stage" c:type="ClutterStage*"/>
            </parameter>
            <parameter name="view" transfer-ownership="none">
              <type name="StageView" c:type="ClutterStageView*"/>
            </parameter>
            <parameter name="frame" transfer-ownership="none">
              <type name="Frame" c:type="ClutterFrame*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="paint_view">
        <callback name="paint_view">
          <source-position filename="clutter/clutter/clutter-stage.h"
                           line="65"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="stage" transfer-ownership="none">
              <type name="Stage" c:type="ClutterStage*"/>
            </parameter>
            <parameter name="view" transfer-ownership="none">
              <type name="StageView" c:type="ClutterStageView*"/>
            </parameter>
            <parameter name="redraw_clip" transfer-ownership="none">
              <type name="Mtk.Region" c:type="const MtkRegion*"/>
            </parameter>
            <parameter name="frame" transfer-ownership="none">
              <type name="Frame" c:type="ClutterFrame*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="skipped_paint">
        <callback name="skipped_paint">
          <source-position filename="clutter/clutter/clutter-stage.h"
                           line="70"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="stage" transfer-ownership="none">
              <type name="Stage" c:type="ClutterStage*"/>
            </parameter>
            <parameter name="view" transfer-ownership="none">
              <type name="StageView" c:type="ClutterStageView*"/>
            </parameter>
            <parameter name="frame" transfer-ownership="none">
              <type name="Frame" c:type="ClutterFrame*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <callback name="StageInputForeachFunc"
              c:type="ClutterStageInputForeachFunc">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-stage.h"
           line="227">Iterator function for active input. Active input counts as any pointing
pointing focus having some form of activity on the stage: Pointers
leaning on a widget, tablet styli in proximity, active touchpoints...</doc>
      <source-position filename="clutter/clutter/clutter-stage.h" line="239"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage.h"
             line="237">%TRUE to keep iterating. %FALSE to stop.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="stage" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-stage.h"
               line="229">the stage</doc>
          <type name="Stage" c:type="ClutterStage*"/>
        </parameter>
        <parameter name="sprite" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-stage.h"
               line="230">Active pointing focus</doc>
          <type name="Sprite" c:type="ClutterSprite*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-stage.h"
               line="231">Data passed to clutter_stage_active_input_foreach()</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <class name="StageView"
           c:symbol-prefix="stage_view"
           c:type="ClutterStageView"
           parent="GObject.Object"
           glib:type-name="ClutterStageView"
           glib:get-type="clutter_stage_view_get_type"
           glib:type-struct="StageViewClass">
      <source-position filename="clutter/clutter/clutter-stage-view.h"
                       line="47"/>
      <virtual-method name="get_default_paint_flags"
                      invoker="get_default_paint_flags">
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="44"/>
        <return-value transfer-ownership="none">
          <type name="PaintFlag" c:type="ClutterPaintFlag"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="new_frame">
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="42"/>
        <return-value transfer-ownership="full">
          <type name="Frame" c:type="ClutterFrame*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="schedule_update">
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="destroy" c:identifier="clutter_stage_view_destroy">
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_color_state"
              c:identifier="clutter_stage_view_get_color_state"
              glib:get-property="color-state"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="87"/>
        <return-value>
          <type name="ColorState" c:type="ClutterColorState*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_default_paint_flags"
              c:identifier="clutter_stage_view_get_default_paint_flags">
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="84"/>
        <return-value transfer-ownership="none">
          <type name="PaintFlag" c:type="ClutterPaintFlag"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_frame_clock"
              c:identifier="clutter_stage_view_get_frame_clock"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="69"/>
        <return-value>
          <type name="FrameClock" c:type="ClutterFrameClock*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_framebuffer"
              c:identifier="clutter_stage_view_get_framebuffer"
              glib:get-property="framebuffer">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage-view.c"
             line="129">Retrieves the framebuffer of @view to draw to.</doc>
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-stage-view.c"
               line="135">a #CoglFramebuffer</doc>
          <type name="Cogl.Framebuffer" c:type="CoglFramebuffer*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage-view.c"
                 line="131">a #ClutterStageView</doc>
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_layout"
              c:identifier="clutter_stage_view_get_layout"
              glib:get-property="layout">
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
          <parameter name="rect" transfer-ownership="none">
            <type name="Mtk.Rectangle" c:type="MtkRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_offscreen_transformation_matrix"
              c:identifier="clutter_stage_view_get_offscreen_transformation_matrix">
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
          <parameter name="matrix" transfer-ownership="none">
            <type name="Graphene.Matrix" c:type="graphene_matrix_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_onscreen"
              c:identifier="clutter_stage_view_get_onscreen">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-stage-view.c"
             line="153">Retrieves the onscreen framebuffer of @view if available.</doc>
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-stage-view.c"
               line="159">a #CoglFramebuffer</doc>
          <type name="Cogl.Framebuffer" c:type="CoglFramebuffer*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-stage-view.c"
                 line="155">a #ClutterStageView</doc>
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_output_color_state"
              c:identifier="clutter_stage_view_get_output_color_state"
              glib:get-property="output-color-state"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="90"/>
        <return-value>
          <type name="ColorState" c:type="ClutterColorState*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_priority"
              c:identifier="clutter_stage_view_get_priority"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="96"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_refresh_rate"
              c:identifier="clutter_stage_view_get_refresh_rate"
              glib:get-property="refresh-rate">
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="75"/>
        <return-value transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_scale"
              c:identifier="clutter_stage_view_get_scale"
              glib:get-property="scale">
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <type name="gfloat" c:type="float"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_transform"
              c:identifier="clutter_stage_view_get_transform"
              glib:get-property="transform">
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="93"/>
        <return-value transfer-ownership="none">
          <type name="Mtk.MonitorTransform" c:type="MtkMonitorTransform"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_shadowfb"
              c:identifier="clutter_stage_view_has_shadowfb">
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="78"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="peek_scanout"
              c:identifier="clutter_stage_view_peek_scanout"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="72"/>
        <return-value>
          <type name="Cogl.Scanout" c:type="CoglScanout*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="schedule_update_now"
              c:identifier="clutter_stage_view_schedule_update_now">
        <source-position filename="clutter/clutter/clutter-stage-view.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="StageView" c:type="ClutterStageView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="color-state"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_color_state">
        <type name="ColorState"/>
      </property>
      <property name="framebuffer"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_framebuffer">
        <type name="Cogl.Framebuffer"/>
      </property>
      <property name="layout"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_layout">
        <type name="Mtk.Rectangle"/>
      </property>
      <property name="name"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="output-color-state"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_output_color_state">
        <type name="ColorState"/>
      </property>
      <property name="refresh-rate"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_refresh_rate"
                default-value="60.000000">
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="scale"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_scale"
                default-value="1.000000">
        <type name="gfloat" c:type="gfloat"/>
      </property>
      <property name="stage"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Stage"/>
      </property>
      <property name="transform"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_transform"
                default-value="0">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="use-shadowfb"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="vblank-duration-us"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="0">
        <type name="gint64" c:type="gint64"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="destroy" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="StageViewClass"
            c:type="ClutterStageViewClass"
            glib:is-gtype-struct-for="StageView">
      <source-position filename="clutter/clutter/clutter-stage-view.h"
                       line="47"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="new_frame">
        <callback name="new_frame">
          <source-position filename="clutter/clutter/clutter-stage-view.h"
                           line="42"/>
          <return-value transfer-ownership="full">
            <type name="Frame" c:type="ClutterFrame*"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="StageView" c:type="ClutterStageView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_default_paint_flags">
        <callback name="get_default_paint_flags">
          <source-position filename="clutter/clutter/clutter-stage-view.h"
                           line="44"/>
          <return-value transfer-ownership="none">
            <type name="PaintFlag" c:type="ClutterPaintFlag"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="StageView" c:type="ClutterStageView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="schedule_update">
        <callback name="schedule_update">
          <source-position filename="clutter/clutter/clutter-stage-view.h"
                           line="46"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="StageView" c:type="ClutterStageView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="StepMode"
                 glib:type-name="ClutterStepMode"
                 glib:get-type="clutter_step_mode_get_type"
                 c:type="ClutterStepMode">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="937">Change the value transition of a step function.

See clutter_timeline_set_step_progress().</doc>
      <member name="start"
              value="0"
              c:identifier="CLUTTER_STEP_MODE_START"
              glib:nick="start"
              glib:name="CLUTTER_STEP_MODE_START">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="939">The change in the value of a
  %CLUTTER_STEP progress mode should occur at the start of
  the transition</doc>
      </member>
      <member name="end"
              value="1"
              c:identifier="CLUTTER_STEP_MODE_END"
              glib:nick="end"
              glib:name="CLUTTER_STEP_MODE_END">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="942">The change in the value of a
  %CLUTTER_STEP progress mode should occur at the end of
  the transition</doc>
      </member>
    </enumeration>
    <function-macro name="TEXTURE_NODE"
                    c:identifier="CLUTTER_TEXTURE_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="50"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="TEXT_NODE"
                    c:identifier="CLUTTER_TEXT_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/pango/clutter-text-node.h"
                       line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="TRANSFORM_NODE"
                    c:identifier="CLUTTER_TRANSFORM_NODE"
                    introspectable="0">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="137"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Text"
           c:symbol-prefix="text"
           c:type="ClutterText"
           parent="Actor"
           glib:type-name="ClutterText"
           glib:get-type="clutter_text_get_type"
           glib:type-struct="TextClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/pango/clutter-text.c"
           line="25">An actor for displaying and editing text

#ClutterText is an actor that displays custom text using Pango
as the text rendering engine.

#ClutterText also allows inline editing of the text if the
actor is set editable using [method@Text.set_editable].

Selection using keyboard or pointers can be enabled using
[method@Text.set_selectable].</doc>
      <source-position filename="clutter/clutter/pango/clutter-text.h"
                       line="57"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Animatable"/>
      <constructor name="new" c:identifier="clutter_text_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4566">Creates a new #ClutterText actor. This actor can be used to
display and edit text.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="4572">the newly created #ClutterText actor</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
      </constructor>
      <constructor name="new_full" c:identifier="clutter_text_new_full">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4580">Creates a new #ClutterText actor, using @font_name as the font
description; @text will be used to set the contents of the actor;
and @color will be used as the color to render @text.

This function is equivalent to calling [ctor@Text.new],
[method@Text.set_font_name], [method@Text.set_text] and
[method@Text.set_color].</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="68"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="4594">the newly created #ClutterText actor</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <parameter name="font_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4582">a string with a font description</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="text" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4583">the contents of the actor</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="color" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4584">the color to be used to render @text</doc>
            <type name="Cogl.Color" c:type="const CoglColor*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_buffer"
                   c:identifier="clutter_text_new_with_buffer">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4773">Creates a new entry with the specified text buffer.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="4779">a new #ClutterText</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4775">The buffer to use for the new #ClutterText.</doc>
            <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_text"
                   c:identifier="clutter_text_new_with_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4608">Creates a new #ClutterText actor, using @font_name as the font
description; @text will be used to set the contents of the actor.

This function is equivalent to calling [ctor@Text.new],
[method@Text.set_font_name], and [method@Text.set_text].</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="4619">the newly created #ClutterText actor</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <parameter name="font_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4610">a string with a font description</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="text" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4611">the contents of the actor</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="activate">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.h"
             line="42">class handler for the #ClutterText::activate signal</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="cursor_changed">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.h"
             line="43">class handler for the #ClutterText::cursor-changed signal</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="text_changed">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.h"
             line="41">class handler for the #ClutterText::text-changed signal</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="activate" c:identifier="clutter_text_activate">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5025">Emits the [signal@Text::activate] signal, if @self has been set
as activatable using [method@Text.set_activatable].

This function can be used to emit the [signal@Text::activate] signal inside
a [signal@Actor::captured-event] or [signal@Actor::key-press-event]
signal handlers before the default signal handler for the
#ClutterText is invoked.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="245"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="5037">%TRUE if the [signal@Text::activate] signal has been emitted,
  and %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5027">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="coords_to_position"
              c:identifier="clutter_text_coords_to_position">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="1148">Retrieves the position of the character at the given coordinates.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="247"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="1156">the position of the character</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="1150">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="1151">the X coordinate, relative to the actor</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="1152">the Y coordinate, relative to the actor</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="delete_chars" c:identifier="clutter_text_delete_chars">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6417">Deletes @n_chars inside a #ClutterText actor, starting from the
current cursor position.

Somewhat awkwardly, the cursor position is decremented by the same
number of characters you've deleted.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="148"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6419">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="n_chars" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6420">the number of characters to delete</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="delete_selection"
              c:identifier="clutter_text_delete_selection">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="1377">Deletes the currently selected text

This function is only useful in subclasses of #ClutterText</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="220"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="1385">%TRUE if text was deleted or if the text actor
  is empty, and %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="1379">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="delete_text" c:identifier="clutter_text_delete_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6395">Deletes the text inside a #ClutterText actor between @start_pos
and @end_pos.

The starting and ending positions are expressed in characters,
not in bytes.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="155"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6397">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="start_pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6398">starting position</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
          <parameter name="end_pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6399">ending position</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_activatable"
              c:identifier="clutter_text_get_activatable"
              glib:get-property="activatable">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5006">Retrieves whether a #ClutterText is activatable or not.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="171"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="5012">%TRUE if the actor is activatable</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5008">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_attributes"
              c:identifier="clutter_text_get_attributes"
              glib:get-property="attributes">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5916">Gets the attribute list that was set on the #ClutterText actor
[method@Text.set_attributes], if any.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="127"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="5923">the attribute list, or %NULL if none was set. The
 returned value is owned by the #ClutterText and should not be unreferenced.</doc>
          <type name="Pango.AttrList" c:type="PangoAttrList*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5918">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_buffer"
              c:identifier="clutter_text_get_buffer"
              glib:get-property="buffer">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4788">Get the #ClutterTextBuffer object which holds the text for
this widget.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="4795">A #GtkEntryBuffer object.</doc>
          <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4790">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_chars" c:identifier="clutter_text_get_chars">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6444">Retrieves the contents of the #ClutterText actor between
@start_pos and @end_pos, but not including @end_pos.

The positions are specified in characters, not in bytes.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="159"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="6455">a newly allocated string with the contents of
  the text actor between the specified positions. Use [func@GLib.free]
  to free the resources when done</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6446">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="start_pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6447">start of text, in characters</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
          <parameter name="end_pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6448">end of text, in characters</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_color"
              c:identifier="clutter_text_get_color"
              glib:get-property="color">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5695">Retrieves the text color as set by [method@Text.set_color].</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5697">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="color"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5698">return location for a [struct@Cogl.Color]</doc>
            <type name="Cogl.Color" c:type="CoglColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_cursor_color"
              c:identifier="clutter_text_get_cursor_color"
              glib:get-property="cursor-color">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5134">Retrieves the color of the cursor of a #ClutterText actor.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="187"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5136">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="color"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5137">return location for a #CoglColor</doc>
            <type name="Cogl.Color" c:type="CoglColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_cursor_position"
              c:identifier="clutter_text_get_cursor_position"
              glib:get-property="cursor-position">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6089">Retrieves the cursor position.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="174"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="6095">the cursor position, in characters</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6091">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_cursor_rect"
              c:identifier="clutter_text_get_cursor_rect">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6647">Retrieves the rectangle that contains the cursor.

The coordinates of the rectangle's origin are in actor-relative
coordinates.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="195"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6649">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="rect"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6650">return location of a #ClutterRect</doc>
            <type name="Graphene.Rect" c:type="graphene_rect_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_cursor_size"
              c:identifier="clutter_text_get_cursor_size"
              glib:get-property="cursor-size">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6181">Retrieves the size of the cursor of a #ClutterText actor.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="193"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="6187">the size of the cursor, in pixels</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6183">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_cursor_visible"
              c:identifier="clutter_text_get_cursor_visible"
              glib:get-property="cursor-visible">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5096">Retrieves whether the cursor of a #ClutterText actor is visible.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="182"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="5102">%TRUE if the cursor is visible</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5098">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_editable"
              c:identifier="clutter_text_get_editable"
              glib:get-property="editable">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4898">Retrieves whether a #ClutterText is editable or not.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="166"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="4904">%TRUE if the actor is editable</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4900">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_ellipsize"
              c:identifier="clutter_text_get_ellipsize"
              glib:get-property="ellipsize">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5749">Returns the ellipsizing position of a #ClutterText actor, as
set by [method@Text.set_ellipsize].</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="110"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="5756">#PangoEllipsizeMode</doc>
          <type name="Pango.EllipsizeMode" c:type="PangoEllipsizeMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5751">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_font_description"
              c:identifier="clutter_text_get_font_description"
              glib:get-property="font-description">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5393">Retrieves the [struct@Pango.FontDescription] used by @self</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="104"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="5399">a #PangoFontDescription. The returned value is owned
  by the #ClutterText actor and it should not be modified or freed</doc>
          <type name="Pango.FontDescription" c:type="PangoFontDescription*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5395">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_font_name"
              c:identifier="clutter_text_get_font_name"
              glib:get-property="font-name">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5413">Retrieves the font name as set by [method@Text.set_font_name].</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="99"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="5419">a string containing the font name. The returned
  string is owned by the #ClutterText actor and should not be
  modified or freed</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5415">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_input_hints"
              c:identifier="clutter_text_get_input_hints"
              glib:get-property="input-hints">
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="275"/>
        <return-value transfer-ownership="none">
          <type name="InputContentHintFlags"
                c:type="ClutterInputContentHintFlags"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_input_purpose"
              c:identifier="clutter_text_get_input_purpose"
              glib:get-property="input-purpose">
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="277"/>
        <return-value transfer-ownership="none">
          <type name="InputContentPurpose"
                c:type="ClutterInputContentPurpose"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_justify"
              c:identifier="clutter_text_get_justify"
              glib:get-property="justify">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6069">Retrieves whether the #ClutterText actor should justify its contents
on both margins.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="142"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="6076">%TRUE if the text should be justified</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6071">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_layout" c:identifier="clutter_text_get_layout">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5642">Retrieves the current #PangoLayout used by a #ClutterText actor.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="122"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="5648">a #PangoLayout. The returned object is owned by
  the #ClutterText actor and should not be modified or freed</doc>
          <type name="Pango.Layout" c:type="PangoLayout*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5644">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_layout_offsets"
              c:identifier="clutter_text_get_layout_offsets">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6620">Obtains the coordinates where the #ClutterText will draw the [class@Pango.Layout]
representing the text.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="264"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6622">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6623">location to store X offset of layout, or %NULL</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6624">location to store Y offset of layout, or %NULL</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_line_alignment"
              c:identifier="clutter_text_get_line_alignment"
              glib:get-property="line-alignment">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5969">Retrieves the alignment of a #ClutterText, as set by
[method@Text.set_line_alignment].</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="137"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="5976">a [enum@Pango.Alignment]</doc>
          <type name="Pango.Alignment" c:type="PangoAlignment"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5971">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_line_wrap"
              c:identifier="clutter_text_get_line_wrap"
              glib:get-property="line-wrap">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5769">Retrieves the value set using [method@Text.set_line_wrap].</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="115"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="5775">%TRUE if the #ClutterText actor should wrap
  its contents</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5771">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_line_wrap_mode"
              c:identifier="clutter_text_get_line_wrap_mode"
              glib:get-property="line-wrap-mode">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5850">Retrieves the line wrap mode used by the #ClutterText actor.

See [method@Text.set_line_wrap_mode].</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="120"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="5858">the wrap mode used by the #ClutterText</doc>
          <type name="Pango.WrapMode" c:type="PangoWrapMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5852">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_max_length"
              c:identifier="clutter_text_get_max_length"
              glib:get-property="max-length">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6277">Gets the maximum length of text that can be set into a text actor.

See [method@Text.set_max_length].</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="230"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="6285">the maximum number of characters.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6279">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_password_char"
              c:identifier="clutter_text_get_password_char"
              glib:get-property="password-char">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6238">Retrieves the character to use in place of the actual text
as set by [method@Text.set_password_char].</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="225"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="6245">a Unicode character or 0 if the password
  character is not set</doc>
          <type name="gunichar" c:type="gunichar"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6240">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_selectable"
              c:identifier="clutter_text_get_selectable"
              glib:get-property="selectable">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4953">Retrieves whether a #ClutterText is selectable or not.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="201"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="4959">%TRUE if the actor is selectable</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4955">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_selected_text_color"
              c:identifier="clutter_text_get_selected_text_color"
              glib:get-property="selected-text-color">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5351">Retrieves the color of selected text of a #ClutterText actor.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="241"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5353">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="color"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5354">return location for a [struct@Cogl.Color]</doc>
            <type name="Cogl.Color" c:type="CoglColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_selection" c:identifier="clutter_text_get_selection">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5185">Retrieves the currently selected text.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="212"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="5191">a newly allocated string containing the currently
  selected text, or %NULL. Use [func@GLib.free] to free the returned
  string.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5187">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_selection_bound"
              c:identifier="clutter_text_get_selection_bound"
              glib:get-property="selection-bound">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5269">Retrieves the other end of the selection of a #ClutterText actor,
in characters from the current cursor position.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="206"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="5276">the position of the other end of the selection</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5271">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_selection_color"
              c:identifier="clutter_text_get_selection_color"
              glib:get-property="selection-color">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5310">Retrieves the color of the selection of a #ClutterText actor.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="217"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5312">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="color"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5313">return location for a #CoglColor</doc>
            <type name="Cogl.Color" c:type="CoglColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_single_line_mode"
              c:identifier="clutter_text_get_single_line_mode"
              glib:get-property="single-line-mode">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6536">Retrieves whether the #ClutterText actor is in single line mode.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="235"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="6542">%TRUE if the #ClutterText actor is in single line mode</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6538">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_text"
              c:identifier="clutter_text_get_text"
              glib:get-property="text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5516">Retrieves a pointer to the current contents of a #ClutterText
actor.

If you need a copy of the contents for manipulating, either
use [func@GLib.strdup] on the returned string, or use:

```c
   copy = clutter_text_get_chars (text, 0, -1);
```

Which will return a newly allocated string.

If the #ClutterText actor is empty, this function will return
an empty string, and not %NULL.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="5535">the contents of the actor. The returned
  string is owned by the #ClutterText actor and should never be modified
  or freed</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5518">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_use_markup"
              c:identifier="clutter_text_get_use_markup"
              glib:get-property="use-markup">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6020">Retrieves whether the contents of the #ClutterText actor should be
parsed for the Pango text markup.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="132"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="6027">%TRUE if the contents will be parsed for markup</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6022">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_preedit" c:identifier="clutter_text_has_preedit">
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="280"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="insert_text" c:identifier="clutter_text_insert_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6348">Inserts @text into a [class@Actor] at the given position.

If @position is a negative number, the text will be appended
at the end of the current contents of the #ClutterText.

The position is expressed in characters, not in bytes.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="151"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6350">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="text" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6351">the text to be inserted</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6352">the position of the insertion, or -1</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_unichar" c:identifier="clutter_text_insert_unichar">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6322">Inserts @wc at the current cursor position of a
#ClutterText actor.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="145"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6324">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="wc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6325">a Unicode character</doc>
            <type name="gunichar" c:type="gunichar"/>
          </parameter>
        </parameters>
      </method>
      <method name="position_to_coords"
              c:identifier="clutter_text_position_to_coords">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="1274">Retrieves the coordinates of the given @position.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="251"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text.c"
               line="1284">%TRUE if the conversion was successful</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="1276">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="1277">position in characters</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="1278">return location for the X coordinate, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="1279">return location for the Y coordinate, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="line_height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="1280">return location for the line height, or %NULL</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_activatable"
              c:identifier="clutter_text_set_activatable"
              glib:set-property="activatable">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4972">Sets whether a #ClutterText actor should be activatable.

An activatable #ClutterText actor will emit the [signal@Text::activate]
signal whenever the 'Enter' (or 'Return') key is pressed; if it is not
activatable, a new line will be appended to the current content.

An activatable #ClutterText must also be set as editable using
[method@Text.set_editable].</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="168"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4974">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4975">whether the #ClutterText actor should be activatable</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_attributes"
              c:identifier="clutter_text_set_attributes"
              glib:set-property="attributes">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5871">Sets the attributes list that are going to be applied to the
#ClutterText contents.

The #ClutterText actor will take a reference on the [struct@Pango.AttrList]
passed to this function.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="124"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5873">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="attrs"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5874">a #PangoAttrList or %NULL to unset the attributes</doc>
            <type name="Pango.AttrList" c:type="PangoAttrList*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_buffer"
              c:identifier="clutter_text_set_buffer"
              glib:set-property="buffer">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4805">Set the [class@TextBuffer] object which holds the text for
this widget.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4807">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4808">a #ClutterTextBuffer</doc>
            <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_color"
              c:identifier="clutter_text_set_color"
              glib:set-property="color">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5673">Sets the color of the contents of a #ClutterText actor.

The overall opacity of the #ClutterText actor will be the
result of the alpha value of @color and the composited
opacity of the actor itself on the scenegraph, as returned
by [method@Actor.get_paint_opacity].</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5675">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="color" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5676">a #CoglColor</doc>
            <type name="Cogl.Color" c:type="const CoglColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_cursor_color"
              c:identifier="clutter_text_set_cursor_color"
              glib:set-property="cursor-color">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5115">Sets the color of the cursor of a #ClutterText actor.

If @color is %NULL, the cursor color will be the same as the
text color.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="184"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5117">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="color"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5118">the color of the cursor, or %NULL to unset it</doc>
            <type name="Cogl.Color" c:type="const CoglColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_cursor_position"
              c:identifier="clutter_text_set_cursor_position"
              glib:set-property="cursor-position">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6108">Sets the cursor of a #ClutterText actor at @position.

The position is expressed in characters, not in bytes.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="176"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6110">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6111">the new cursor position, in characters</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_cursor_size"
              c:identifier="clutter_text_set_cursor_size"
              glib:set-property="cursor-size">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6148">Sets the size of the cursor of a #ClutterText. The cursor
will only be visible if the [property@Text:cursor-visible] property
is set to %TRUE.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="190"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6150">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6151">the size of the cursor, in pixels, or -1 to use the
  default value</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_cursor_visible"
              c:identifier="clutter_text_set_cursor_visible"
              glib:set-property="cursor-visible">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5058">Sets whether the cursor of a #ClutterText actor should be
visible or not.

The color of the cursor will be the same as the text color
unless [method@Text.set_cursor_color] has been called.

The size of the cursor can be set using [method@Text.set_cursor_size].

The position of the cursor can be changed programmatically using
[method@Text.set_cursor_position].</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="179"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5060">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="cursor_visible" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5061">whether the cursor should be visible</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_editable"
              c:identifier="clutter_text_set_editable"
              glib:set-property="editable">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4849">Sets whether the #ClutterText actor should be editable.

An editable #ClutterText with key focus set using
[method@Actor.grab_key_focus] or [method@Stage.set_key_focus]
will receive key events and will update its contents accordingly.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="163"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4851">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="editable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4852">whether the #ClutterText should be editable</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_ellipsize"
              c:identifier="clutter_text_set_ellipsize"
              glib:set-property="ellipsize">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5716">Sets the mode used to ellipsize (add an ellipsis: "...") to the
text if there is not enough space to render the entire contents
of a #ClutterText actor</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="107"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5718">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5719">a #PangoEllipsizeMode</doc>
            <type name="Pango.EllipsizeMode" c:type="PangoEllipsizeMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_font_description"
              c:identifier="clutter_text_set_font_description"
              glib:set-property="font-description">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5372">Sets @font_desc as the font description for a #ClutterText

The #PangoFontDescription is copied by the #ClutterText actor
so you can safely call [method@Pango.FontDescription.free] on it after
calling this function.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5374">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="font_desc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5375">a #PangoFontDescription</doc>
            <type name="Pango.FontDescription" c:type="PangoFontDescription*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_font_name"
              c:identifier="clutter_text_set_font_name"
              glib:set-property="font-name">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5434">Sets the font used by a #ClutterText. The @font_name string
must either be %NULL, which means that the font name from the
default [class@Backend] will be used; or be something that can
be parsed by the [func@Pango.FontDescription.from_string] function,
like:

```c
  // Set the font to the system's Sans, 10 points
  clutter_text_set_font_name (text, "Sans 10");

  // Set the font to the system's Serif, 16 pixels
  clutter_text_set_font_name (text, "Serif 16px");

  // Set the font to Helvetica, 10 points
  clutter_text_set_font_name (text, "Helvetica 10");
```</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5436">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="font_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5437">a font name, or %NULL to set the default font name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_input_hints"
              c:identifier="clutter_text_set_input_hints"
              glib:set-property="input-hints">
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="269"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="hints" transfer-ownership="none">
            <type name="InputContentHintFlags"
                  c:type="ClutterInputContentHintFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_input_purpose"
              c:identifier="clutter_text_set_input_purpose"
              glib:set-property="input-purpose">
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="272"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="purpose" transfer-ownership="none">
            <type name="InputContentPurpose"
                  c:type="ClutterInputContentPurpose"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_justify"
              c:identifier="clutter_text_set_justify"
              glib:set-property="justify">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6040">Sets whether the text of the #ClutterText actor should be justified
on both margins. This setting is ignored if Clutter is compiled
against Pango &amp;lt; 1.18.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="139"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6042">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="justify" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6043">whether the text should be justified</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_line_alignment"
              c:identifier="clutter_text_set_line_alignment"
              glib:set-property="line-alignment">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5937">Sets the way that the lines of a wrapped label are aligned with
respect to each other. This does not affect the overall alignment
of the label within its allocated or specified width.

To align a #ClutterText actor you should add it to a container
that supports alignment, or use the anchor point.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="134"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5939">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="alignment" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5940">A #PangoAlignment</doc>
            <type name="Pango.Alignment" c:type="PangoAlignment"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_line_wrap"
              c:identifier="clutter_text_set_line_wrap"
              glib:set-property="line-wrap">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5789">Sets whether the contents of a #ClutterText actor should wrap,
if they don't fit the size assigned to the actor.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="112"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5791">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="line_wrap" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5792">whether the contents should wrap</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_line_wrap_mode"
              c:identifier="clutter_text_set_line_wrap_mode"
              glib:set-property="line-wrap-mode">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5819">If line wrapping is enabled (see [method@Text.set_line_wrap]) this
function controls how the line wrapping is performed. The default is
%PANGO_WRAP_WORD which means wrap on word boundaries.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="117"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5821">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="wrap_mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5822">the line wrapping mode</doc>
            <type name="Pango.WrapMode" c:type="PangoWrapMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_markup" c:identifier="clutter_text_set_markup">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5612">Sets @markup as the contents of a #ClutterText.

This is a convenience function for setting a string containing
Pango markup, and it is logically equivalent to:

```c
  /&amp;ast; the order is important &amp;ast;/
  clutter_text_set_text (CLUTTER_TEXT (actor), markup);
  clutter_text_set_use_markup (CLUTTER_TEXT (actor), TRUE);
```</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5614">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="markup"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5615">a string containing Pango markup.
  Passing %NULL is the same as passing "" (the empty string)</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_max_length"
              c:identifier="clutter_text_set_max_length"
              glib:set-property="max-length">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6259">Sets the maximum allowed length of the contents of the actor. If the
current contents are longer than the given length, then they will be
truncated to fit.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="227"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6261">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="max" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6262">the maximum number of characters allowed in the text actor; 0
  to disable or -1 to set the length of the current string</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_password_char"
              c:identifier="clutter_text_set_password_char"
              glib:set-property="password-char">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6200">Sets the character to use in place of the actual text in a
password text actor.

If @wc is 0 the text will be displayed as it is entered in the
#ClutterText actor.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="222"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6202">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="wc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6203">a Unicode character, or 0 to unset the password character</doc>
            <type name="gunichar" c:type="gunichar"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_preedit_string"
              c:identifier="clutter_text_set_preedit_string">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6555">Sets, or unsets, the pre-edit string. This function is useful
for input methods to display a string (with eventual specific
Pango attributes) before it is entered inside the #ClutterText
buffer.

The preedit string and attributes are ignored if the #ClutterText
actor is not editable.

This function should not be used by applications</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="258"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6557">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="preedit_str"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6558">the pre-edit string, or %NULL to unset it</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="preedit_attrs"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6559">the pre-edit string attributes</doc>
            <type name="Pango.AttrList" c:type="PangoAttrList*"/>
          </parameter>
          <parameter name="cursor_pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6560">the cursor position for the pre-edit string</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_selectable"
              c:identifier="clutter_text_set_selectable"
              glib:set-property="selectable">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4917">Sets whether a #ClutterText actor should be selectable.

A selectable #ClutterText will allow selecting its contents using
the pointer or the keyboard.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="198"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4919">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="selectable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4920">whether the #ClutterText actor should be selectable</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_selected_text_color"
              c:identifier="clutter_text_set_selected_text_color"
              glib:set-property="selected-text-color">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5331">Sets the selected text color of a #ClutterText actor.

If @color is %NULL, the selected text color will be the same as the
selection color, which then falls back to cursor, and then text color.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="238"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5333">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="color"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5334">the selected text color, or %NULL to unset it</doc>
            <type name="Cogl.Color" c:type="const CoglColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_selection" c:identifier="clutter_text_set_selection">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5155">Selects the region of text between @start_pos and @end_pos.

This function changes the position of the cursor to match
@start_pos and the selection bound to match @end_pos.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="208"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5157">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="start_pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5158">start of the selection, in characters</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
          <parameter name="end_pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5159">end of the selection, in characters</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_selection_bound"
              c:identifier="clutter_text_set_selection_bound"
              glib:set-property="selection-bound">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5234">Sets the other end of the selection, starting from the current
cursor position.

If @selection_bound is -1, the selection unset.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="203"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5236">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="selection_bound" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5237">the position of the end of the selection, in characters</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_selection_color"
              c:identifier="clutter_text_set_selection_color"
              glib:set-property="selection-color">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5289">Sets the color of the selection of a #ClutterText actor.

If @color is %NULL, the selection color will be the same as the
cursor color, or if no cursor color is set either then it will be
the same as the text color.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="214"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5291">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="color"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5292">the color of the selection, or %NULL to unset it</doc>
            <type name="Cogl.Color" c:type="const CoglColor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_single_line_mode"
              c:identifier="clutter_text_set_single_line_mode"
              glib:set-property="single-line-mode">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="6485">Sets whether a #ClutterText actor should be in single line mode
or not. Only editable `ClutterText`s can be in single line
mode.

A text actor in single line mode will not wrap text and will clip
the visible area to the predefined size. The contents of the
text actor will scroll to display the end of the text if its length
is bigger than the allocated width.

When setting the single line mode the [property@Text:activatable]
property is also set as a side effect. Instead of entering a new
line character, the text actor will emit the [signal@Text::activate]
signal.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="232"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6487">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="single_line" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="6488">whether to enable single line mode</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_text"
              c:identifier="clutter_text_set_text"
              glib:set-property="text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5576">Sets the contents of a #ClutterText actor.

If the [property@Text:use-markup] property was set to %TRUE it
will be reset to %FALSE as a side effect. If you want to
maintain the [property@Text:use-markup] you should use the
[method@Text.set_markup] function instead</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5578">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="text"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5579">the text to set. Passing %NULL is the same
  as passing "" (the empty string)</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_markup"
              c:identifier="clutter_text_set_use_markup"
              glib:set-property="use-markup">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="5989">Sets whether the contents of the #ClutterText actor contains markup
in [Pango's text markup language](https://docs.gtk.org/Pango/pango_markup.html#pango-markup).

Setting [property@Text:use-markup] on an editable #ClutterText will
not have any effect except hiding the markup.

See also [property@Text:use-markup].</doc>
        <source-position filename="clutter/clutter/pango/clutter-text.h"
                         line="129"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5991">a #ClutterText</doc>
            <type name="Text" c:type="ClutterText*"/>
          </instance-parameter>
          <parameter name="setting" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="5992">%TRUE if the text should be parsed for markup.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="activatable"
                writable="1"
                transfer-ownership="none"
                setter="set_activatable"
                getter="get_activatable"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4017">Toggles whether return invokes the activate signal or not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="attributes"
                writable="1"
                transfer-ownership="none"
                setter="set_attributes"
                getter="get_attributes">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4133">A list of `PangoStyleAttribute`s to be applied to the
contents of the #ClutterText actor.</doc>
        <type name="Pango.AttrList"/>
      </property>
      <property name="buffer"
                writable="1"
                transfer-ownership="none"
                setter="set_buffer"
                getter="get_buffer">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="3920">The buffer which stores the text for this #ClutterText.

If set to %NULL, a default buffer will be created.</doc>
        <type name="TextBuffer"/>
      </property>
      <property name="color"
                writable="1"
                transfer-ownership="none"
                setter="set_color"
                getter="get_color"
                default-value="#000000ff">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="3978">The color used to render the text.</doc>
        <type name="Cogl.Color"/>
      </property>
      <property name="cursor-color"
                writable="1"
                transfer-ownership="none"
                setter="set_cursor_color"
                getter="get_cursor_color"
                default-value="#000000ff">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4044">The color of the cursor.</doc>
        <type name="Cogl.Color"/>
      </property>
      <property name="cursor-color-set"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4057">Will be set to %TRUE if [property@Text:cursor-color] has been set.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="cursor-position"
                writable="1"
                transfer-ownership="none"
                setter="set_cursor_position"
                getter="get_cursor_position"
                default-value="-1">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4082">The current input cursor position. -1 is taken to be the end of the text</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="cursor-size"
                writable="1"
                transfer-ownership="none"
                setter="set_cursor_size"
                getter="get_cursor_size"
                default-value="2">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4069">The size of the cursor, in pixels. If set to -1 the size used will
be the default cursor size of 2 pixels.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="cursor-visible"
                writable="1"
                transfer-ownership="none"
                setter="set_cursor_visible"
                getter="get_cursor_visible"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4028">Whether the input cursor is visible or not.

The cursor will only be visible if this property and either
the [property@Text:editable] or the [property@Text:selectable] properties
are set to %TRUE.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="editable"
                writable="1"
                transfer-ownership="none"
                setter="set_editable"
                getter="get_editable"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="3991">Whether key events delivered to the actor causes editing.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="ellipsize"
                writable="1"
                transfer-ownership="none"
                setter="set_ellipsize"
                getter="get_ellipsize"
                default-value="PANGO_ELLIPSIZE_NONE">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4194">The preferred place to ellipsize the contents of the #ClutterText actor</doc>
        <type name="Pango.EllipsizeMode"/>
      </property>
      <property name="font-description"
                writable="1"
                transfer-ownership="none"
                setter="set_font_description"
                getter="get_font_description">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="3949">The [struct@Pango.FontDescription] that should be used by the #ClutterText

If you have a string describing the font then you should look at
[property@Text:font-name] instead</doc>
        <type name="Pango.FontDescription"/>
      </property>
      <property name="font-name"
                writable="1"
                transfer-ownership="none"
                setter="set_font_name"
                getter="get_font_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="3934">The font to be used by the #ClutterText, as a string
that can be parsed by [func@Pango.FontDescription.from_string].

If set to %NULL, the default system font will be used instead.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="input-hints"
                writable="1"
                transfer-ownership="none"
                setter="set_input_hints"
                getter="get_input_hints"
                default-value="0">
        <type name="InputContentHintFlags"/>
      </property>
      <property name="input-purpose"
                writable="1"
                transfer-ownership="none"
                setter="set_input_purpose"
                getter="get_input_purpose"
                default-value="CLUTTER_INPUT_CONTENT_PURPOSE_NORMAL">
        <type name="InputContentPurpose"/>
      </property>
      <property name="justify"
                writable="1"
                transfer-ownership="none"
                setter="set_justify"
                getter="get_justify"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4221">Whether the contents of the #ClutterText should be justified
on both margins.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="line-alignment"
                writable="1"
                transfer-ownership="none"
                setter="set_line_alignment"
                getter="get_line_alignment"
                default-value="PANGO_ALIGN_LEFT">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4207">The preferred alignment for the text. This property controls
the alignment of multi-line paragraphs.</doc>
        <type name="Pango.Alignment"/>
      </property>
      <property name="line-wrap"
                writable="1"
                transfer-ownership="none"
                setter="set_line_wrap"
                getter="get_line_wrap"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4166">Whether to wrap the lines of [property@Text:text] if the contents
exceed the available allocation. The wrapping strategy is
controlled by the [property@Text:line-wrap-mode] property.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="line-wrap-mode"
                writable="1"
                transfer-ownership="none"
                setter="set_line_wrap_mode"
                getter="get_line_wrap_mode"
                default-value="PANGO_WRAP_WORD">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4180">If [property@Text:line-wrap] is set to %TRUE, this property will
control how the text is wrapped.</doc>
        <type name="Pango.WrapMode"/>
      </property>
      <property name="max-length"
                writable="1"
                transfer-ownership="none"
                setter="set_max_length"
                getter="get_max_length"
                default-value="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4247">The maximum length of the contents of the #ClutterText actor.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="password-char"
                writable="1"
                transfer-ownership="none"
                setter="set_password_char"
                getter="get_password_char"
                default-value="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4234">If non-zero, the character that should be used in place of
the actual text in a password text actor.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="selectable"
                writable="1"
                transfer-ownership="none"
                setter="set_selectable"
                getter="get_selectable"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4002">Whether it is possible to select text, either using the pointer
or the keyboard.

This property depends on the [property@Actor:reactive] property being
set to %TRUE.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="selected-text-color"
                writable="1"
                transfer-ownership="none"
                setter="set_selected_text_color"
                getter="get_selected_text_color"
                default-value="#000000ff">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4280">The color of selected text.</doc>
        <type name="Cogl.Color"/>
      </property>
      <property name="selected-text-color-set"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4293">Will be set to %TRUE if [property@Text:selected-text-color] has been set.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="selection-bound"
                writable="1"
                transfer-ownership="none"
                setter="set_selection_bound"
                getter="get_selection_bound"
                default-value="-1">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4095">The current input cursor position. -1 is taken to be the end of the text</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="selection-color"
                writable="1"
                transfer-ownership="none"
                setter="set_selection_color"
                getter="get_selection_color"
                default-value="#000000ff">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4108">The color of the selection.</doc>
        <type name="Cogl.Color"/>
      </property>
      <property name="selection-color-set"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4121">Will be set to %TRUE if [property@Text:selection-color] has been set.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="single-line-mode"
                writable="1"
                transfer-ownership="none"
                setter="set_single_line_mode"
                getter="get_single_line_mode"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4259">Whether the #ClutterText actor should be in single line mode
or not. A single line #ClutterText actor will only contain a
single line of text, scrolling it in case its length is bigger
than the allocated size.

Setting this property will also set the [property@Text:activatable]
property as a side-effect.

The [property@Text:single-line-mode] property is used only if the
[property@Text:editable] property is set to %TRUE.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="text"
                writable="1"
                transfer-ownership="none"
                setter="set_text"
                getter="get_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="3966">The text to render inside the actor.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="use-markup"
                writable="1"
                transfer-ownership="none"
                setter="set_use_markup"
                getter="get_use_markup"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4146">Whether the text includes Pango markup.

For more information about the Pango markup format, see
[method@Pango.Layout.set_markup] in the Pango documentation.

It is not possible to round-trip this property between
%TRUE and %FALSE. Once a string with markup has been set on
a #ClutterText actor with [property@Text:use-markup] set to %TRUE, the markup
is stripped from the string.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent_instance">
        <type name="Actor" c:type="ClutterActor"/>
      </field>
      <glib:signal name="activate" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4396">The signal is emitted each time the actor is 'activated'
by the user, normally by pressing the 'Enter' key. The signal is
emitted only if [property@Text:activatable] is set to %TRUE.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="cursor-changed" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4381">The signal is emitted whenever the cursor
position or size changes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="delete-text" when="last" action="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4361">This signal is emitted when text is deleted from the actor by
the user. It is emitted before @self text changes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="start_pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4364">the starting position</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="end_pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4365">the end position</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="insert-text" when="last" action="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4335">This signal is emitted when text is inserted into the actor by
the user. It is emitted before @self text changes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="new_text" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4338">the new text to insert</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="new_text_length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4339">the length of the new text, in bytes, or -1 if
    new_text is nul-terminated</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="position"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text.c"
                 line="4341">the position, in characters, at which to insert the
    new text. this is an in-out parameter.  After the signal
    emission is finished, it should point after the newly
    inserted text.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="text-changed" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.c"
             line="4321">The signal is emitted after @actor's text changes</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <class name="TextBuffer"
           c:symbol-prefix="text_buffer"
           c:type="ClutterTextBuffer"
           parent="GObject.Object"
           glib:type-name="ClutterTextBuffer"
           glib:get-type="clutter_text_buffer_get_type"
           glib:type-struct="TextBufferClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/pango/clutter-text-buffer.c"
           line="28">Text buffer for [class@Text]

The #ClutterTextBuffer class contains the actual text displayed in a
[class@Text] widget.

A single #ClutterTextBuffer object can be shared by multiple [class@Text]
widgets which will then share the same text content, but not the cursor
position, visibility attributes, icon etc.

#ClutterTextBuffer may be derived from. Such a derived class might allow
text to be stored in an alternate location, such as non-pageable memory,
useful in the case of important passwords. Or a derived class could
integrate with an application's concept of undo/redo.</doc>
      <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                       line="88"/>
      <constructor name="new" c:identifier="clutter_text_buffer_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="419">Create a new ClutterTextBuffer object.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                         line="91"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text-buffer.c"
               line="424">A new ClutterTextBuffer object.</doc>
          <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_text"
                   c:identifier="clutter_text_buffer_new_with_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="433">Create a new ClutterTextBuffer object with some text.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                         line="93"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text-buffer.c"
               line="440">A new ClutterTextBuffer object.</doc>
          <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
        </return-value>
        <parameters>
          <parameter name="text"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="435">initial buffer text</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="text_len" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="436">initial buffer text length, or -1 for null-terminated.</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="delete_text" invoker="delete_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="659">Deletes a sequence of characters from the buffer. @n_chars characters are
deleted starting at @position. If @n_chars is negative, then all characters
until the end of the text are deleted.

If @position or @n_chars are out of bounds, then they are coerced to sane
values.

Note that the positions are specified in characters, not bytes.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text-buffer.c"
               line="674">The number of characters deleted.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="661">a #ClutterTextBuffer</doc>
            <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="662">position at which to delete text</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="n_chars" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="663">number of characters to delete</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="deleted_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.h"
             line="49">default handler for the #ClutterTextBuffer::deleted-text signal</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="n_chars" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_length" invoker="get_length">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="453">Retrieves the length in characters of the buffer.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                         line="78"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text-buffer.c"
               line="459">The number of characters in the buffer.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="455">a #ClutterTextBuffer</doc>
            <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.h"
             line="50">virtual function</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                         line="75"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
          </instance-parameter>
          <parameter name="n_bytes" transfer-ownership="none">
            <type name="gsize" c:type="gsize*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="insert_text" invoker="insert_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="603">Inserts @n_chars characters of @chars into the contents of the
buffer, at position @position.

If @n_chars is negative, then characters from chars will be inserted
until a null-terminator is found. If @position or @n_chars are out of
bounds, or the maximum buffer text length is exceeded, then they are
coerced to sane values.

Note that the position and length are in characters, not in bytes.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                         line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text-buffer.c"
               line="620">The number of characters actually inserted.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="605">a #ClutterTextBuffer</doc>
            <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="606">the position at which to insert text.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="chars" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="607">the text to insert into the buffer.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="n_chars" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="608">the length of the text in characters, or -1</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="inserted_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.h"
             line="48">default handler for the #ClutterTextBuffer::inserted-text signal</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="chars" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="n_chars" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="delete_text"
              c:identifier="clutter_text_buffer_delete_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="659">Deletes a sequence of characters from the buffer. @n_chars characters are
deleted starting at @position. If @n_chars is negative, then all characters
until the end of the text are deleted.

If @position or @n_chars are out of bounds, then they are coerced to sane
values.

Note that the positions are specified in characters, not bytes.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                         line="118"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text-buffer.c"
               line="674">The number of characters deleted.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="661">a #ClutterTextBuffer</doc>
            <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="662">position at which to delete text</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="n_chars" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="663">number of characters to delete</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="emit_deleted_text"
              c:identifier="clutter_text_buffer_emit_deleted_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="721">Emits the [signal@TextBuffer::deleted-text] signal on @buffer.

Used when subclassing #ClutterTextBuffer</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                         line="127"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="723">a #ClutterTextBuffer</doc>
            <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="724">position at which text was deleted</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="n_chars" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="725">number of characters deleted</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="emit_inserted_text"
              c:identifier="clutter_text_buffer_emit_inserted_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="700">Emits the [signal@TextBuffer::inserted-text] signal on @buffer.

Used when subclassing #ClutterTextBuffer</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                         line="122"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="702">a #ClutterTextBuffer</doc>
            <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="703">position at which text was inserted</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="chars" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="704">text that was inserted</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="n_chars" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="705">number of characters inserted</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_bytes" c:identifier="clutter_text_buffer_get_bytes">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="474">Retrieves the length in bytes of the buffer.
See [method@TextBuffer.get_length].</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                         line="97"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text-buffer.c"
               line="481">The byte length of the buffer.</doc>
          <type name="gsize" c:type="gsize"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="476">a #ClutterTextBuffer</doc>
            <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_length"
              c:identifier="clutter_text_buffer_get_length"
              glib:get-property="length">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="453">Retrieves the length in characters of the buffer.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                         line="99"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text-buffer.c"
               line="459">The number of characters in the buffer.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="455">a #ClutterTextBuffer</doc>
            <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_max_length"
              c:identifier="clutter_text_buffer_get_max_length"
              glib:get-property="max-length">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="582">Retrieves the maximum allowed length of the text in
@buffer. See [method@TextBuffer.set_max_length].</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                         line="110"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text-buffer.c"
               line="589">the maximum allowed number of characters
              in #ClutterTextBuffer, or 0 if there is no maximum.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="584">a #ClutterTextBuffer</doc>
            <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_text"
              c:identifier="clutter_text_buffer_get_text"
              glib:get-property="text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="498">Retrieves the contents of the buffer.

The memory pointer returned by this call will not change
unless this object emits a signal, or is finalized.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                         line="101"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text-buffer.c"
               line="507">a pointer to the contents of the widget as a
     string. This string points to internally allocated
     storage in the buffer and must not be freed, modified or
     stored.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="500">a #ClutterTextBuffer</doc>
            <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="insert_text"
              c:identifier="clutter_text_buffer_insert_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="603">Inserts @n_chars characters of @chars into the contents of the
buffer, at position @position.

If @n_chars is negative, then characters from chars will be inserted
until a null-terminator is found. If @position or @n_chars are out of
bounds, or the maximum buffer text length is exceeded, then they are
coerced to sane values.

Note that the position and length are in characters, not in bytes.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                         line="113"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text-buffer.c"
               line="620">The number of characters actually inserted.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="605">a #ClutterTextBuffer</doc>
            <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="606">the position at which to insert text.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="chars" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="607">the text to insert into the buffer.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="n_chars" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="608">the length of the text in characters, or -1</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_max_length"
              c:identifier="clutter_text_buffer_set_max_length"
              glib:set-property="max-length">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="552">Sets the maximum allowed length of the contents of the buffer.

If the current contents are longer than the given length,
then they will be truncated to fit.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                         line="107"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="554">a #ClutterTextBuffer</doc>
            <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
          </instance-parameter>
          <parameter name="max_length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="555">the maximum length of the entry buffer, or 0 for no maximum.
  (other than the maximum length of entries.) The value passed in will
  be clamped to the range [ 0, %CLUTTER_TEXT_BUFFER_MAX_SIZE ].</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_text" c:identifier="clutter_text_buffer_set_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="525">Sets the text in the buffer.

This is roughly equivalent to calling [method@TextBuffer.delete_text]
and [method@TextBuffer.insert_text].

Note that @n_chars is in characters, not in bytes.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                         line="103"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="527">a #ClutterTextBuffer</doc>
            <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
          </instance-parameter>
          <parameter name="chars" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="528">the new text</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="n_chars" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="529">the number of characters in @text, or -1</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <property name="length"
                transfer-ownership="none"
                getter="get_length"
                default-value="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="352">The length (in characters) of the text in buffer.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="max-length"
                writable="1"
                transfer-ownership="none"
                setter="set_max_length"
                getter="get_max_length"
                default-value="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="362">The maximum length (in characters) of the text in the buffer.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="text" transfer-ownership="none" getter="get_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="342">The contents of the buffer.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="deleted-text" when="first">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="395">This signal is emitted after text is deleted from the buffer.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="398">the position the text was deleted at.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="n_chars" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="399">The number of characters that were deleted.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="inserted-text" when="first">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.c"
             line="374">This signal is emitted after text is inserted into the buffer.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="377">the position the text was inserted at.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="chars" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="378">The text that was inserted.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="n_chars" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="379">The number of characters that were inserted.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="TextBufferClass"
            c:type="ClutterTextBufferClass"
            glib:is-gtype-struct-for="TextBuffer">
      <doc xml:space="preserve"
           filename="clutter/clutter/pango/clutter-text-buffer.h"
           line="46">The #ClutterTextBufferClass structure contains
only private data.</doc>
      <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                       line="88"/>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="inserted_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.h"
             line="48">default handler for the #ClutterTextBuffer::inserted-text signal</doc>
        <callback name="inserted_text">
          <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                           line="65"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="buffer" transfer-ownership="none">
              <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
            </parameter>
            <parameter name="position" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="chars" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="n_chars" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deleted_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.h"
             line="49">default handler for the #ClutterTextBuffer::deleted-text signal</doc>
        <callback name="deleted_text">
          <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                           line="70"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="buffer" transfer-ownership="none">
              <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
            </parameter>
            <parameter name="position" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="n_chars" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.h"
             line="50">virtual function</doc>
        <callback name="get_text">
          <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                           line="75"/>
          <return-value transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </return-value>
          <parameters>
            <parameter name="buffer" transfer-ownership="none">
              <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
            </parameter>
            <parameter name="n_bytes" transfer-ownership="none">
              <type name="gsize" c:type="gsize*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_length">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.h"
             line="51">virtual function</doc>
        <callback name="get_length">
          <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                           line="78"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="459">The number of characters in the buffer.</doc>
            <type name="guint" c:type="guint"/>
          </return-value>
          <parameters>
            <parameter name="buffer" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/pango/clutter-text-buffer.c"
                   line="455">a #ClutterTextBuffer</doc>
              <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="insert_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.h"
             line="52">virtual function</doc>
        <callback name="insert_text">
          <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                           line="80"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="620">The number of characters actually inserted.</doc>
            <type name="guint" c:type="guint"/>
          </return-value>
          <parameters>
            <parameter name="buffer" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/pango/clutter-text-buffer.c"
                   line="605">a #ClutterTextBuffer</doc>
              <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
            </parameter>
            <parameter name="position" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/pango/clutter-text-buffer.c"
                   line="606">the position at which to insert text.</doc>
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="chars" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/pango/clutter-text-buffer.c"
                   line="607">the text to insert into the buffer.</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="n_chars" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/pango/clutter-text-buffer.c"
                   line="608">the length of the text in characters, or -1</doc>
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="delete_text">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-buffer.h"
             line="53">virtual function</doc>
        <callback name="delete_text">
          <source-position filename="clutter/clutter/pango/clutter-text-buffer.h"
                           line="85"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-buffer.c"
                 line="674">The number of characters deleted.</doc>
            <type name="guint" c:type="guint"/>
          </return-value>
          <parameters>
            <parameter name="buffer" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/pango/clutter-text-buffer.c"
                   line="661">a #ClutterTextBuffer</doc>
              <type name="TextBuffer" c:type="ClutterTextBuffer*"/>
            </parameter>
            <parameter name="position" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/pango/clutter-text-buffer.c"
                   line="662">position at which to delete text</doc>
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="n_chars" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="clutter/clutter/pango/clutter-text-buffer.c"
                   line="663">number of characters to delete</doc>
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="TextClass"
            c:type="ClutterTextClass"
            glib:is-gtype-struct-for="Text">
      <doc xml:space="preserve"
           filename="clutter/clutter/pango/clutter-text.h"
           line="39">The #ClutterTextClass struct contains only private data.</doc>
      <source-position filename="clutter/clutter/pango/clutter-text.h"
                       line="57"/>
      <field name="parent_class" readable="0" private="1">
        <type name="ActorClass" c:type="ClutterActorClass"/>
      </field>
      <field name="text_changed">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.h"
             line="41">class handler for the #ClutterText::text-changed signal</doc>
        <callback name="text_changed">
          <source-position filename="clutter/clutter/pango/clutter-text.h"
                           line="54"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Text" c:type="ClutterText*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="activate">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.h"
             line="42">class handler for the #ClutterText::activate signal</doc>
        <callback name="activate">
          <source-position filename="clutter/clutter/pango/clutter-text.h"
                           line="55"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Text" c:type="ClutterText*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="cursor_changed">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text.h"
             line="43">class handler for the #ClutterText::cursor-changed signal</doc>
        <callback name="cursor_changed">
          <source-position filename="clutter/clutter/pango/clutter-text.h"
                           line="56"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Text" c:type="ClutterText*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="TextDirection"
                 glib:type-name="ClutterTextDirection"
                 glib:get-type="clutter_text_direction_get_type"
                 c:type="ClutterTextDirection">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="222">The text direction to be used by [class@Actor]s</doc>
      <member name="default"
              value="0"
              c:identifier="CLUTTER_TEXT_DIRECTION_DEFAULT"
              glib:nick="default"
              glib:name="CLUTTER_TEXT_DIRECTION_DEFAULT">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="224">Use the default setting, as returned
  by clutter_get_default_text_direction()</doc>
      </member>
      <member name="ltr"
              value="1"
              c:identifier="CLUTTER_TEXT_DIRECTION_LTR"
              glib:nick="ltr"
              glib:name="CLUTTER_TEXT_DIRECTION_LTR">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="226">Use left-to-right text direction</doc>
      </member>
      <member name="rtl"
              value="2"
              c:identifier="CLUTTER_TEXT_DIRECTION_RTL"
              glib:nick="rtl"
              glib:name="CLUTTER_TEXT_DIRECTION_RTL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="227">Use right-to-left text direction</doc>
      </member>
    </enumeration>
    <class name="TextNode"
           c:symbol-prefix="text_node"
           c:type="ClutterTextNode"
           parent="PaintNode"
           glib:type-name="ClutterTextNode"
           glib:get-type="clutter_text_node_get_type"
           glib:type-struct="TextNodeClass"
           glib:fundamental="1">
      <source-position filename="clutter/clutter/pango/clutter-text-node.h"
                       line="42"/>
      <constructor name="new" c:identifier="clutter_text_node_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/pango/clutter-text-node.c"
             line="175">Creates a new #ClutterPaintNode that will paint a #PangoLayout
with the given color.

This function takes a reference on the passed @layout, so it
is safe to call g_object_unref() after it returns.</doc>
        <source-position filename="clutter/clutter/pango/clutter-text-node.h"
                         line="48"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/pango/clutter-text-node.c"
               line="187">the newly created #ClutterPaintNode.
  Use clutter_paint_node_unref() when done</doc>
          <type name="PaintNode" c:type="ClutterPaintNode*"/>
        </return-value>
        <parameters>
          <parameter name="layout"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-node.c"
                 line="177">a #PangoLayout, or %NULL</doc>
            <type name="Pango.Layout" c:type="PangoLayout*"/>
          </parameter>
          <parameter name="color"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/pango/clutter-text-node.c"
                 line="178">the color used to paint the layout,
  or %NULL</doc>
            <type name="Cogl.Color" c:type="const CoglColor*"/>
          </parameter>
        </parameters>
      </constructor>
    </class>
    <record name="TextNodeClass"
            c:type="ClutterTextNodeClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="TextNode">
      <doc xml:space="preserve"
           filename="clutter/clutter/pango/clutter-text-node.c"
           line="42">The `ClutterTextNodeClass` structure is an opaque
type whose contents cannot be directly accessed.</doc>
      <source-position filename="clutter/clutter/pango/clutter-text-node.h"
                       line="42"/>
    </record>
    <class name="TextureContent"
           c:symbol-prefix="texture_content"
           c:type="ClutterTextureContent"
           parent="GObject.Object"
           glib:type-name="ClutterTextureContent"
           glib:get-type="clutter_texture_content_get_type"
           glib:type-struct="TextureContentClass">
      <source-position filename="clutter/clutter/clutter-texture-content.h"
                       line="41"/>
      <implements name="Content"/>
      <function name="new_from_texture"
                c:identifier="clutter_texture_content_new_from_texture">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-texture-content.c"
             line="109">Creates a new [class@TextureContent] instance for @texture, taking an
internal reference to @texture.

If you change the contents of the [class@Cogl.Texture] you will need
to manually invalidate the @texture_content with [method@Content.invalidate]
in order to update the actors using @texture_content as their content.</doc>
        <source-position filename="clutter/clutter/clutter-texture-content.h"
                         line="45"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-texture-content.c"
               line="121">the newly created #ClutterTextureContent instance.
  Use [method@GObject.Object.unref] when done.</doc>
          <type name="Content" c:type="ClutterContent*"/>
        </return-value>
        <parameters>
          <parameter name="texture" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-texture-content.c"
                 line="111">a #CoglTexture</doc>
            <type name="Cogl.Texture" c:type="CoglTexture*"/>
          </parameter>
          <parameter name="clip"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-texture-content.c"
                 line="112">A clipping rectangle</doc>
            <type name="Mtk.Rectangle" c:type="MtkRectangle*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_texture"
              c:identifier="clutter_texture_content_get_texture">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-texture-content.c"
             line="152">Retrieves a pointer to the [class@Cogl.Texture] used by @texture_content.

If you change the contents of the returned [class@Cogl.Texture] you will need
to manually invalidate the @texture_content with [method@Content.invalidate]
in order to update the actors using @texture_content as their content.</doc>
        <source-position filename="clutter/clutter/clutter-texture-content.h"
                         line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-texture-content.c"
               line="162">a pointer to the [class@Cogl.Texture]</doc>
          <type name="Cogl.Texture" c:type="CoglTexture*"/>
        </return-value>
        <parameters>
          <instance-parameter name="texture_content" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-texture-content.c"
                 line="154">a #ClutterTextureContent</doc>
            <type name="TextureContent" c:type="ClutterTextureContent*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="TextureContentClass"
            c:type="ClutterTextureContentClass"
            glib:is-gtype-struct-for="TextureContent">
      <source-position filename="clutter/clutter/clutter-texture-content.h"
                       line="41"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="TextureNode"
           c:symbol-prefix="texture_node"
           c:type="ClutterTextureNode"
           parent="PipelineNode"
           glib:type-name="ClutterTextureNode"
           glib:get-type="clutter_texture_node_get_type"
           glib:type-struct="TextureNodeClass"
           glib:fundamental="1">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="54"/>
      <constructor name="new" c:identifier="clutter_texture_node_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-nodes.c"
             line="650">Creates a new #ClutterPaintNode that will paint the passed @texture.

This function will take a reference on @texture, so it is safe to
call g_object_unref() on @texture when it returns.

The @color must not be pre-multiplied with its #CoglColor.alpha
channel value; if @color is %NULL, a fully opaque white color will
be used for blending.</doc>
        <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                         line="60"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-nodes.c"
               line="666">the newly created #ClutterPaintNode.
  Use clutter_paint_node_unref() when done</doc>
          <type name="PaintNode" c:type="ClutterPaintNode*"/>
        </return-value>
        <parameters>
          <parameter name="texture" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-nodes.c"
                 line="652">a #CoglTexture</doc>
            <type name="Cogl.Texture" c:type="CoglTexture*"/>
          </parameter>
          <parameter name="color"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-nodes.c"
                 line="653">a #CoglColor used for blending, or %NULL</doc>
            <type name="Cogl.Color" c:type="const CoglColor*"/>
          </parameter>
          <parameter name="min_filter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-nodes.c"
                 line="654">the minification filter for the texture</doc>
            <type name="ScalingFilter" c:type="ClutterScalingFilter"/>
          </parameter>
          <parameter name="mag_filter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-paint-nodes.c"
                 line="655">the magnification filter for the texture</doc>
            <type name="ScalingFilter" c:type="ClutterScalingFilter"/>
          </parameter>
        </parameters>
      </constructor>
    </class>
    <record name="TextureNodeClass"
            c:type="ClutterTextureNodeClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="TextureNode">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-paint-nodes.c"
           line="605">The `ClutterTextureNodeClass` structure is an
opaque type whose members cannot be directly accessed.</doc>
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="54"/>
    </record>
    <record name="TextureVertex" c:type="ClutterTextureVertex">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-deform-effect.h"
           line="39">Used to specify vertex information when calling cogl_polygon()</doc>
      <source-position filename="clutter/clutter/clutter-deform-effect.h"
                       line="57"/>
      <field name="x" writable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-deform-effect.h"
             line="41">Model x-coordinate</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="y" writable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-deform-effect.h"
             line="42">Model y-coordinate</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="z" writable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-deform-effect.h"
             line="43">Model z-coordinate</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="tx" writable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-deform-effect.h"
             line="44">Texture x-coordinate</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="ty" writable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-deform-effect.h"
             line="45">Texture y-coordinate</doc>
        <type name="gfloat" c:type="float"/>
      </field>
      <field name="color" writable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-deform-effect.h"
             line="46">The color to use at this vertex. This is ignored if
  use_color is %FALSE when calling cogl_polygon()</doc>
        <type name="Cogl.Color" c:type="CoglColor"/>
      </field>
    </record>
    <class name="Timeline"
           c:symbol-prefix="timeline"
           c:type="ClutterTimeline"
           parent="GObject.Object"
           glib:type-name="ClutterTimeline"
           glib:get-type="clutter_timeline_get_type"
           glib:type-struct="TimelineClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-timeline.c"
           line="24">A class for time-based events

#ClutterTimeline is a base class for managing time-based event that cause
Clutter to redraw a stage, such as animations.

Each #ClutterTimeline instance has a duration: once a timeline has been
started, using [method@Timeline.start], it will emit a signal that can
be used to update the state of the actors.

It is important to note that #ClutterTimeline is not a generic API for
calling closures after an interval; each Timeline is tied into a frame
clock used to drive the frame cycle.

Users of #ClutterTimeline should connect to the [signal@Timeline::new-frame]
signal, which is emitted each time a timeline is advanced during the maste
clock iteration. The [signal@Timeline::new-frame] signal provides the time
elapsed since the beginning of the timeline, in milliseconds. A normalized
progress value can be obtained by calling [method@Timeline.get_progress].
By using [method@Timeline.get_delta] it is possible to obtain the wallclock
time elapsed since the last emission of the [signal@Timeline::new-frame]
signal.

Initial state can be set up by using the [signal@Timeline::started] signal,
while final state can be set up by using the [signal@Timeline::stopped]
signal. The #ClutterTimeline guarantees the emission of at least a single
[signal@Timeline::new-frame] signal, as well as the emission of the
[signal@Timeline::completed] signal every time the #ClutterTimeline reaches
its [property@Timeline:duration].

It is possible to connect to specific points in the timeline progress by
adding markers using [method@Timeline.add_marker_at_time] and connecting
to the [signal@Timeline::marker-reached] signal.

Timelines can be made to loop once they reach the end of their duration, by
using clutter_timeline_set_repeat_count(); a looping timeline will still
emit the [signal@Timeline::completed] signal once it reaches the end of its
duration at each repeat. If you want to be notified of the end of the last
repeat, use the [signal@Timeline::stopped] signal.

Timelines have a [property@Timeline:direction]: the default direction is
%CLUTTER_TIMELINE_FORWARD, and goes from 0 to the duration; it is possible
to change the direction to %CLUTTER_TIMELINE_BACKWARD, and have the timeline
go from the duration to 0. The direction can be automatically reversed
when reaching completion by using the [property@Timeline:auto-reverse] property.

Timelines are used in the Clutter animation framework by classes like
[class@Transition].</doc>
      <source-position filename="clutter/clutter/clutter-timeline.h"
                       line="89"/>
      <constructor name="new_for_actor"
                   c:identifier="clutter_timeline_new_for_actor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1454">Creates a new #ClutterTimeline with a duration of @duration milli seconds.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="92"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="1461">the newly created #ClutterTimeline instance. Use
  [method@GObject.Object.unref] when done using it</doc>
          <type name="Timeline" c:type="ClutterTimeline*"/>
        </return-value>
        <parameters>
          <parameter name="actor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1456">The #ClutterActor the timeline is associated with</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
          <parameter name="duration_ms" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1457">Duration of the timeline in milliseconds</doc>
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_for_frame_clock"
                   c:identifier="clutter_timeline_new_for_frame_clock">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1474">Creates a new #ClutterTimeline with a duration of @duration_ms milli seconds.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="96"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="1481">the newly created #ClutterTimeline instance. Use
  [method@GObject.Object.unref] when done using it</doc>
          <type name="Timeline" c:type="ClutterTimeline*"/>
        </return-value>
        <parameters>
          <parameter name="frame_clock" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1476">The #ClutterFrameClock the timeline is driven by</doc>
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </parameter>
          <parameter name="duration_ms" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1477">Duration of the timeline in milliseconds</doc>
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="completed">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.h"
             line="63">class handler for the #ClutterTimeline::completed signal</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="marker_reached">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.h"
             line="66">class handler for the #ClutterTimeline::marker-reached signal</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="marker_name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="msecs" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="new_frame">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.h"
             line="65">class handler for the #ClutterTimeline::new-frame signal</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="msecs" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="paused">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.h"
             line="64">class handler for the #ClutterTimeline::paused signal</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="started">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.h"
             line="62">class handler for the #ClutterTimeline::started signal</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="stopped">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.h"
             line="67">class handler for the #ClutterTimeline::stopped signal</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="is_finished" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_marker" c:identifier="clutter_timeline_add_marker">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1796">Adds a named marker that will be hit when the timeline has reached
the specified @progress.

Markers are unique string identifiers for a given position on the
timeline. Once @timeline reaches the given @progress of its duration,
if will emit a [signal@Timeline::marker-reached] signal for each marker
attached to that particular point.

A marker can be removed with [method@Timeline.remove_marker]. The
timeline can be advanced to a marker using
[method@Timeline.advance_to_marker].

See also: [method@Timeline.add_marker_at_time]</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="154"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1798">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="marker_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1799">the unique name for this marker</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="progress" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1800">the normalized value of the position of the martke</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_marker_at_time"
              c:identifier="clutter_timeline_add_marker_at_time">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1830">Adds a named marker that will be hit when the timeline has been
running for @msecs milliseconds.

Markers are unique string identifiers for a given position on the
timeline. Once @timeline reaches the given @msecs, it will emit
a [signal@Timeline::marker-reached] signal for each marker attached to that position.

A marker can be removed with [method@Timeline.remove_marker]. The
timeline can be advanced to a marker using
[method@Timeline.advance_to_marker].

See also: [method@Timeline.add_marker]</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="158"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1832">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="marker_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1833">the unique name for this marker</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="msecs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1834">position of the marker in milliseconds</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="advance" c:identifier="clutter_timeline_advance">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1389">Advance timeline to the requested point. The point is given as a
time in milliseconds since the timeline started.

The @timeline will not emit the [signal@Timeline::new-frame]
signal for the given time. The first [signal@Timeline::new-frame] signal
after the call to [method@Timeline.advance] will be emit the skipped markers.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="138"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1391">A #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="msecs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1392">Time to advance to</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="advance_to_marker"
              c:identifier="clutter_timeline_advance_to_marker">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1959">Advances @timeline to the time of the given @marker_name.

Like [method@Timeline.advance], this function will not
emit the [signal@Timeline::new-frame] for the time where @marker_name
is set, nor it will emit [signal@Timeline::marker-reached] for
@marker_name.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="172"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1961">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="marker_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1962">the name of the marker</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_actor"
              c:identifier="clutter_timeline_get_actor"
              glib:get-property="actor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="297">Get the actor the timeline is associated with.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="303">the associated #ClutterActor</doc>
          <type name="Actor" c:type="ClutterActor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="299">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_auto_reverse"
              c:identifier="clutter_timeline_get_auto_reverse"
              glib:get-property="auto-reverse">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="2130">Retrieves the value set by [method@Timeline.set_auto_reverse].</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="126"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="2136">%TRUE if the timeline should automatically reverse, and
  %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2132">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_cubic_bezier_progress"
              c:identifier="clutter_timeline_get_cubic_bezier_progress">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="2526">Retrieves the control points for the cubic bezier progress mode.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="197"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="2536">%TRUE if the @timeline is using a cubic bezier progress
  more, and %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2528">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="c_1"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2529">return location for the first control
  point of the cubic bezier, or %NULL</doc>
            <type name="Graphene.Point" c:type="graphene_point_t*"/>
          </parameter>
          <parameter name="c_2"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2531">return location for the second control
  point of the cubic bezier, or %NULL</doc>
            <type name="Graphene.Point" c:type="graphene_point_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_current_repeat"
              c:identifier="clutter_timeline_get_current_repeat">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="2399">Retrieves the current repeat for a timeline.

Repeats start at 0.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="204"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="2407">the current repeat</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2401">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_delay"
              c:identifier="clutter_timeline_get_delay"
              glib:get-property="delay">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1494">Retrieves the delay set using [method@Timeline.set_delay].</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="150"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="1500">the delay in milliseconds.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1496">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_delta" c:identifier="clutter_timeline_get_delta">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1668">Retrieves the amount of time elapsed since the last
[signal@Timeline::new-frame] signal.

This function is only useful inside handlers for the ::new-frame
signal, and its behaviour is undefined if the timeline is not
playing.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="152"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="1679">the amount of time in milliseconds elapsed since the
last frame</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1670">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_direction"
              c:identifier="clutter_timeline_get_direction"
              glib:get-property="direction">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1617">Retrieves the direction of the timeline set with
[method@Timeline.set_direction].</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="112"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="1624">the direction of the timeline</doc>
          <type name="TimelineDirection" c:type="ClutterTimelineDirection"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1619">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_duration"
              c:identifier="clutter_timeline_get_duration"
              glib:get-property="duration">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1538">Retrieves the duration of a #ClutterTimeline in milliseconds.
See [method@Timeline.set_duration].</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="107"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="1545">the duration of the timeline, in milliseconds.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1540">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_duration_hint"
              c:identifier="clutter_timeline_get_duration_hint">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="2367">Retrieves the full duration of the @timeline, taking into account the
current value of the [property@Timeline:repeat-count] property.

If the [property@Timeline:repeat-count] property is set to -1, this function
will return %G_MAXINT64.

The returned value is to be considered a hint, and it's only valid
as long as the @timeline hasn't been changed.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="202"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="2380">the full duration of the #ClutterTimeline</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2369">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_elapsed_time"
              c:identifier="clutter_timeline_get_elapsed_time">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1414">Request the current time position of the timeline.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="141"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="1420">current elapsed time in milliseconds.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1416">A #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_frame_clock"
              c:identifier="clutter_timeline_get_frame_clock"
              glib:get-property="frame-clock"
              introspectable="0">
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="207"/>
        <return-value>
          <type name="FrameClock" c:type="ClutterFrameClock*"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_progress" c:identifier="clutter_timeline_get_progress">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1586">The position of the timeline in a normalized [-1, 2] interval.

The return value of this function is determined by the progress
mode set using [method@Timeline.set_progress_mode], or by the
progress function set using [method@Timeline.set_progress_func].</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="143"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="1596">the normalized current position in the timeline.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1588">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_progress_mode"
              c:identifier="clutter_timeline_get_progress_mode"
              glib:get-property="progress-mode">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="2346">Retrieves the progress mode set using [method@Timeline.set_progress_mode]
or [method@Timeline.set_progress_func].</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="183"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="2353">a #ClutterAnimationMode</doc>
          <type name="AnimationMode" c:type="ClutterAnimationMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2348">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_repeat_count"
              c:identifier="clutter_timeline_get_repeat_count"
              glib:get-property="repeat-count">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="2183">Retrieves the number set using [method@Timeline.set_repeat_count].</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="131"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="2189">the number of repeats</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2185">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_step_progress"
              c:identifier="clutter_timeline_get_step_progress">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="2453">Retrieves the parameters of the step progress mode used by @timeline.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="189"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="2462">%TRUE if the @timeline is using a step progress
  mode, and %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2455">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="n_steps"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2456">return location for the number of steps, or %NULL</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="step_mode"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2457">return location for the value change policy,
  or %NULL</doc>
            <type name="StepMode" c:type="ClutterStepMode*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_marker" c:identifier="clutter_timeline_has_marker">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="2041">Checks whether @timeline has a marker set with the given name.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="169"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="2048">%TRUE if the marker was found</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2043">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="marker_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2044">the name of the marker</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_playing" c:identifier="clutter_timeline_is_playing">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1434">Queries state of a #ClutterTimeline.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="145"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="1440">%TRUE if timeline is currently playing</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1436">A #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="list_markers" c:identifier="clutter_timeline_list_markers">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1890">Retrieves the list of markers at time @msecs. If @msecs is a
negative integer, all the markers attached to @timeline will be
returned.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="165"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.c"
               line="1900">
  a newly allocated, %NULL terminated string array containing the names
  of the markers. Use [func@GLib.strfreev] when done.</doc>
          <array length="1" zero-terminated="1" c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1892">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="msecs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1893">the time to check, or -1</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="n_markers"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1894">the number of markers returned</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="pause" c:identifier="clutter_timeline_pause">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1275">Pauses the #ClutterTimeline on current frame</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="119"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1277">A #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_marker"
              c:identifier="clutter_timeline_remove_marker">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="2005">Removes @marker_name, if found, from @timeline.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="162"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2007">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="marker_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2008">the name of the marker to remove</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="rewind" c:identifier="clutter_timeline_rewind">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1331">Rewinds #ClutterTimeline to the first frame if its direction is
%CLUTTER_TIMELINE_FORWARD and the last frame if it is
%CLUTTER_TIMELINE_BACKWARD.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="133"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1333">A #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_actor"
              c:identifier="clutter_timeline_set_actor"
              glib:set-property="actor">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="443">Set the actor the timeline is associated with.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="103"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="445">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="actor"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="446">a #ClutterActor</doc>
            <type name="Actor" c:type="ClutterActor*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_auto_reverse"
              c:identifier="clutter_timeline_set_auto_reverse"
              glib:set-property="auto-reverse">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="2067">Sets whether @timeline should reverse the direction after the
emission of the [signal@Timeline::completed] signal.

Setting the [property@Timeline:auto-reverse] property to %TRUE is the
equivalent of connecting a callback to the [signal@Timeline::completed]
signal and changing the direction of the timeline from that callback;
for instance, this code:

```c
static void
reverse_timeline (ClutterTimeline *timeline)
{
  ClutterTimelineDirection dir = clutter_timeline_get_direction (timeline);

  if (dir == CLUTTER_TIMELINE_FORWARD)
    dir = CLUTTER_TIMELINE_BACKWARD;
  else
    dir = CLUTTER_TIMELINE_FORWARD;

  clutter_timeline_set_direction (timeline, dir);
}
...
  timeline = clutter_timeline_new_for_actor (some_actor, 1000);
  clutter_timeline_set_repeat_count (timeline, -1);
  g_signal_connect (timeline, "completed",
                    G_CALLBACK (reverse_timeline),
                    NULL);
```

can be effectively replaced by:

```c
  timeline = clutter_timeline_new_for_actor (some_actor, 1000);
  clutter_timeline_set_repeat_count (timeline, -1);
  clutter_timeline_set_auto_reverse (timeline);
```</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="123"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2069">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="reverse" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2070">%TRUE if the @timeline should reverse the direction</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_cubic_bezier_progress"
              c:identifier="clutter_timeline_set_cubic_bezier_progress">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="2490">Sets the [property@Timeline:progress-mode] of @timeline
to %CLUTTER_CUBIC_BEZIER, and sets the two control
points for the cubic bezier.

The cubic bezier curve is between (0, 0) and (1, 1). The X coordinate
of the two control points must be in the [ 0, 1 ] range, while the
Y coordinate of the two control points can exceed this range.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="193"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2492">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="c_1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2493">the first control point for the cubic bezier</doc>
            <type name="Graphene.Point" c:type="const graphene_point_t*"/>
          </parameter>
          <parameter name="c_2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2494">the second control point for the cubic bezier</doc>
            <type name="Graphene.Point" c:type="const graphene_point_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_delay"
              c:identifier="clutter_timeline_set_delay"
              glib:set-property="delay">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1514">Sets the delay, in milliseconds, before @timeline should start.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="147"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1516">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="msecs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1517">delay in milliseconds</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_direction"
              c:identifier="clutter_timeline_set_direction"
              glib:set-property="direction">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1639">Sets the direction of @timeline, either %CLUTTER_TIMELINE_FORWARD or
%CLUTTER_TIMELINE_BACKWARD.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="114"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1641">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="direction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1642">the direction of the timeline</doc>
            <type name="TimelineDirection" c:type="ClutterTimelineDirection"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_duration"
              c:identifier="clutter_timeline_set_duration"
              glib:set-property="duration">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1559">Sets the duration of the timeline, in milliseconds. The speed
of the timeline depends on the [property@Timeline:frame-clock] setting.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="109"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1561">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="msecs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1562">duration of the timeline in milliseconds</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_frame_clock"
              c:identifier="clutter_timeline_set_frame_clock"
              glib:set-property="frame-clock">
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="210"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="frame_clock" transfer-ownership="none">
            <type name="FrameClock" c:type="ClutterFrameClock*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_progress_func"
              c:identifier="clutter_timeline_set_progress_func">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="2203">Sets a custom progress function for @timeline. The progress function will
be called by [method@Timeline.get_progress] and will be used to compute
the progress value based on the elapsed time and the total duration of the
timeline.

If @func is not %NULL, the [property@Timeline:progress-mode] property will
be set to %CLUTTER_CUSTOM_MODE.

If @func is %NULL, any previously set progress function will be unset, and
the [property@Timeline:progress-mode] property will be set to %CLUTTER_LINEAR.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="175"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2205">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="notified"
                     closure="1"
                     destroy="2">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2206">a progress function,
       or %NULL</doc>
            <type name="TimelineProgressFunc"
                  c:type="ClutterTimelineProgressFunc"/>
          </parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2208">data to pass to @func</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="notify" transfer-ownership="none" scope="async">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2209">a function to be called when the progress function is removed
   or the timeline is disposed</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_progress_mode"
              c:identifier="clutter_timeline_set_progress_mode"
              glib:set-property="progress-mode">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="2305">Sets the progress function using a value from the [enum@AnimationMode]
enumeration. The @mode cannot be %CLUTTER_CUSTOM_MODE or bigger than
%CLUTTER_ANIMATION_LAST.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="180"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2307">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2308">the progress mode, as a #ClutterAnimationMode</doc>
            <type name="AnimationMode" c:type="ClutterAnimationMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_repeat_count"
              c:identifier="clutter_timeline_set_repeat_count"
              glib:set-property="repeat-count">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="2151">Sets the number of times the @timeline should repeat.

If @count is 0, the timeline never repeats.

If @count is -1, the timeline will always repeat until
it's stopped.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="128"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2153">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="count" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2154">the number of times the timeline should repeat</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_step_progress"
              c:identifier="clutter_timeline_set_step_progress">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="2421">Sets the [property@Timeline:progress-mode] of the @timeline to %CLUTTER_STEPS
and provides the parameters of the step function.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="185"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2423">a #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="n_steps" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2424">the number of steps</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="step_mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="2425">whether the change should happen at the start
  or at the end of the step</doc>
            <type name="StepMode" c:type="ClutterStepMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="skip" c:identifier="clutter_timeline_skip">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1354">Advance timeline by the requested time in milliseconds</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="135"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1356">A #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
          <parameter name="msecs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1357">Amount of time to skip</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="start" c:identifier="clutter_timeline_start">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1236">Starts the #ClutterTimeline playing.</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="117"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1238">A #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="stop" c:identifier="clutter_timeline_stop">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="1301">Stops the #ClutterTimeline and moves to frame 0</doc>
        <source-position filename="clutter/clutter/clutter-timeline.h"
                         line="121"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timeline" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="1303">A #ClutterTimeline</doc>
            <type name="Timeline" c:type="ClutterTimeline*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="actor"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_actor"
                getter="get_actor">
        <type name="Actor"/>
      </property>
      <property name="auto-reverse"
                writable="1"
                transfer-ownership="none"
                setter="set_auto_reverse"
                getter="get_auto_reverse"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="703">If the direction of the timeline should be automatically reversed
when reaching the end.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="delay"
                writable="1"
                transfer-ownership="none"
                setter="set_delay"
                getter="get_delay"
                default-value="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="664">A delay, in milliseconds, that should be observed by the
timeline before actually starting.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="direction"
                writable="1"
                transfer-ownership="none"
                setter="set_direction"
                getter="get_direction"
                default-value="CLUTTER_TIMELINE_FORWARD">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="690">The direction of the timeline, either %CLUTTER_TIMELINE_FORWARD or
%CLUTTER_TIMELINE_BACKWARD.</doc>
        <type name="TimelineDirection"/>
      </property>
      <property name="duration"
                writable="1"
                transfer-ownership="none"
                setter="set_duration"
                getter="get_duration"
                default-value="1000">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="677">Duration of the timeline in milliseconds, depending on the
[property@Timeline:frame-clock] value.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="frame-clock"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_frame_clock"
                getter="get_frame_clock">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="744">The frame clock driving the timeline.</doc>
        <type name="FrameClock"/>
      </property>
      <property name="progress-mode"
                writable="1"
                transfer-ownership="none"
                setter="set_progress_mode"
                getter="get_progress_mode"
                default-value="CLUTTER_LINEAR">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="732">Controls the way a #ClutterTimeline computes the normalized progress.</doc>
        <type name="AnimationMode"/>
      </property>
      <property name="repeat-count"
                writable="1"
                transfer-ownership="none"
                setter="set_repeat_count"
                getter="get_repeat_count"
                default-value="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="715">Defines how many times the timeline should repeat.

If the repeat count is 0, the timeline does not repeat.

If the repeat count is set to -1, the timeline will repeat until it is
stopped.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="completed" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="779">The signal is emitted when the timeline's
elapsed time reaches the value of the [property@Timeline:duration]
property.

This signal will be emitted even if the #ClutterTimeline is set to be
repeating.

If you want to get notification on whether the #ClutterTimeline has
been stopped or has finished its run, including its eventual repeats,
you should use the [signal@Timeline::stopped] signal instead.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="marker-reached"
                   when="last"
                   no-recurse="1"
                   detailed="1"
                   no-hooks="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="830">The signal is emitted each time a timeline
reaches a marker set with [method@Timeline.add_marker_at_time].

This signal is detailed with the name of the marker as well,
so it is possible to connect a callback to the [signal@Timeline::marker-reached]
signal for a specific marker with:

```c
  clutter_timeline_add_marker_at_time (timeline, "foo", 500);
  clutter_timeline_add_marker_at_time (timeline, "bar", 750);

  g_signal_connect (timeline, "marker-reached",
                    G_CALLBACK (each_marker_reached), NULL);
  g_signal_connect (timeline, "marker-reached::foo",
                    G_CALLBACK (foo_marker_reached), NULL);
  g_signal_connect (timeline, "marker-reached::bar",
                    G_CALLBACK (bar_marker_reached), NULL);
```

In the example, the first callback will be invoked for both
the "foo" and "bar" marker, while the second and third callbacks
will be invoked for the "foo" or "bar" markers, respectively.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="marker_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="833">the name of the marker reached</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="msecs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="834">the elapsed time</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="new-frame" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="762">The signal is emitted for each timeline running
timeline before a new frame is drawn to give animations a chance
to update the scene.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="msecs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="765">the elapsed time between 0 and duration</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="paused" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="817">The signal is emitted when [method@Timeline.pause] is invoked.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="started" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="801">The signal is emitted when the timeline starts its run.
This might be as soon as [method@Timeline.start] is invoked or
after the delay set in the [property@Timeline:delay] property has
expired.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="stopped" when="last">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.c"
             line="870">The signal is emitted when the timeline
has been stopped, either because [method@Timeline.stop] has been
called, or because it has been exhausted.

This is different from the [signal@Timeline::completed] signal,
which gets emitted after every repeat finishes.

If the #ClutterTimeline has is marked as infinitely repeating,
this signal will never be emitted.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="is_finished" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-timeline.c"
                 line="873">%TRUE if the signal was emitted at the end of the
  timeline.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="TimelineClass"
            c:type="ClutterTimelineClass"
            glib:is-gtype-struct-for="Timeline">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-timeline.h"
           line="60">The #ClutterTimelineClass structure contains only private data</doc>
      <source-position filename="clutter/clutter/clutter-timeline.h"
                       line="89"/>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="started">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.h"
             line="62">class handler for the #ClutterTimeline::started signal</doc>
        <callback name="started">
          <source-position filename="clutter/clutter/clutter-timeline.h"
                           line="77"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="timeline" transfer-ownership="none">
              <type name="Timeline" c:type="ClutterTimeline*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="completed">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.h"
             line="63">class handler for the #ClutterTimeline::completed signal</doc>
        <callback name="completed">
          <source-position filename="clutter/clutter/clutter-timeline.h"
                           line="78"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="timeline" transfer-ownership="none">
              <type name="Timeline" c:type="ClutterTimeline*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="paused">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.h"
             line="64">class handler for the #ClutterTimeline::paused signal</doc>
        <callback name="paused">
          <source-position filename="clutter/clutter/clutter-timeline.h"
                           line="79"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="timeline" transfer-ownership="none">
              <type name="Timeline" c:type="ClutterTimeline*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="new_frame">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.h"
             line="65">class handler for the #ClutterTimeline::new-frame signal</doc>
        <callback name="new_frame">
          <source-position filename="clutter/clutter/clutter-timeline.h"
                           line="81"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="timeline" transfer-ownership="none">
              <type name="Timeline" c:type="ClutterTimeline*"/>
            </parameter>
            <parameter name="msecs" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="marker_reached">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.h"
             line="66">class handler for the #ClutterTimeline::marker-reached signal</doc>
        <callback name="marker_reached">
          <source-position filename="clutter/clutter/clutter-timeline.h"
                           line="84"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="timeline" transfer-ownership="none">
              <type name="Timeline" c:type="ClutterTimeline*"/>
            </parameter>
            <parameter name="marker_name" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="msecs" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="stopped">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.h"
             line="67">class handler for the #ClutterTimeline::stopped signal</doc>
        <callback name="stopped">
          <source-position filename="clutter/clutter/clutter-timeline.h"
                           line="87"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="timeline" transfer-ownership="none">
              <type name="Timeline" c:type="ClutterTimeline*"/>
            </parameter>
            <parameter name="is_finished" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="TimelineDirection"
                 glib:type-name="ClutterTimelineDirection"
                 glib:get-type="clutter_timeline_direction_get_type"
                 c:type="ClutterTimelineDirection">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="767">The direction of a #ClutterTimeline</doc>
      <member name="forward"
              value="0"
              c:identifier="CLUTTER_TIMELINE_FORWARD"
              glib:nick="forward"
              glib:name="CLUTTER_TIMELINE_FORWARD">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="769">forward direction for a timeline</doc>
      </member>
      <member name="backward"
              value="1"
              c:identifier="CLUTTER_TIMELINE_BACKWARD"
              glib:nick="backward"
              glib:name="CLUTTER_TIMELINE_BACKWARD">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="770">backward direction for a timeline</doc>
      </member>
    </enumeration>
    <callback name="TimelineProgressFunc" c:type="ClutterTimelineProgressFunc">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-timeline.h"
           line="43">A function for defining a custom progress.</doc>
      <source-position filename="clutter/clutter/clutter-timeline.h"
                       line="54"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-timeline.h"
             line="52">the progress, as a floating point value between -1.0 and 2.0.</doc>
        <type name="gdouble" c:type="gdouble"/>
      </return-value>
      <parameters>
        <parameter name="timeline" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.h"
               line="45">a #ClutterTimeline</doc>
          <type name="Timeline" c:type="ClutterTimeline*"/>
        </parameter>
        <parameter name="elapsed" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.h"
               line="46">the elapsed time, in milliseconds</doc>
          <type name="gdouble" c:type="gdouble"/>
        </parameter>
        <parameter name="total" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.h"
               line="47">the total duration of the timeline, in milliseconds,</doc>
          <type name="gdouble" c:type="gdouble"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="3">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-timeline.h"
               line="48">data passed to the function</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="TouchEvent"
            c:type="ClutterTouchEvent"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-event.h" line="101"/>
    </record>
    <enumeration name="TouchpadGesturePhase"
                 glib:type-name="ClutterTouchpadGesturePhase"
                 glib:get-type="clutter_touchpad_gesture_phase_get_type"
                 c:type="ClutterTouchpadGesturePhase">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-enums.h"
           line="956">The phase of a touchpad gesture event.

All gestures are guaranteed to begin with an event of type
%CLUTTER_TOUCHPAD_GESTURE_PHASE_BEGIN, followed by a number
of %CLUTTER_TOUCHPAD_GESTURE_PHASE_UPDATE (possibly 0).

A finished gesture may have 2 possible outcomes, an event with phase
%CLUTTER_TOUCHPAD_GESTURE_PHASE_END will be emitted when the gesture is
considered successful, this should be used as the hint to perform any
permanent changes.

Cancelled gestures may be so for a variety of reasons, due to hardware,
or due to the gesture recognition layers hinting the gesture did not
finish resolutely (eg. a 3rd finger being added during a pinch gesture).
In these cases, the last event with report the phase
%CLUTTER_TOUCHPAD_GESTURE_PHASE_CANCEL, this should be used as a hint
to undo any visible/permanent changes that were done throughout the
progress of the gesture.

See also #ClutterTouchpadPinchEvent and #ClutterTouchpadPinchEvent.4</doc>
      <member name="begin"
              value="0"
              c:identifier="CLUTTER_TOUCHPAD_GESTURE_PHASE_BEGIN"
              glib:nick="begin"
              glib:name="CLUTTER_TOUCHPAD_GESTURE_PHASE_BEGIN">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="958">The gesture has begun.</doc>
      </member>
      <member name="update"
              value="1"
              c:identifier="CLUTTER_TOUCHPAD_GESTURE_PHASE_UPDATE"
              glib:nick="update"
              glib:name="CLUTTER_TOUCHPAD_GESTURE_PHASE_UPDATE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="959">The gesture has been updated.</doc>
      </member>
      <member name="end"
              value="2"
              c:identifier="CLUTTER_TOUCHPAD_GESTURE_PHASE_END"
              glib:nick="end"
              glib:name="CLUTTER_TOUCHPAD_GESTURE_PHASE_END">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="960">The gesture was finished, changes
  should be permanently applied.</doc>
      </member>
      <member name="cancel"
              value="3"
              c:identifier="CLUTTER_TOUCHPAD_GESTURE_PHASE_CANCEL"
              glib:nick="cancel"
              glib:name="CLUTTER_TOUCHPAD_GESTURE_PHASE_CANCEL">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-enums.h"
             line="962">The gesture was cancelled, all
  changes should be undone.</doc>
      </member>
    </enumeration>
    <record name="TouchpadHoldEvent"
            c:type="ClutterTouchpadHoldEvent"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-event.h" line="104"/>
    </record>
    <record name="TouchpadPinchEvent"
            c:type="ClutterTouchpadPinchEvent"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-event.h" line="102"/>
    </record>
    <record name="TouchpadSwipeEvent"
            c:type="ClutterTouchpadSwipeEvent"
            disguised="1"
            opaque="1">
      <source-position filename="clutter/clutter/clutter-event.h" line="103"/>
    </record>
    <enumeration name="TransferFunction"
                 glib:type-name="ClutterTransferFunction"
                 glib:get-type="clutter_transfer_function_get_type"
                 c:type="ClutterTransferFunction">
      <member name="srgb"
              value="0"
              c:identifier="CLUTTER_TRANSFER_FUNCTION_SRGB"
              glib:nick="srgb"
              glib:name="CLUTTER_TRANSFER_FUNCTION_SRGB">
      </member>
      <member name="pq"
              value="1"
              c:identifier="CLUTTER_TRANSFER_FUNCTION_PQ"
              glib:nick="pq"
              glib:name="CLUTTER_TRANSFER_FUNCTION_PQ">
      </member>
      <member name="bt709"
              value="2"
              c:identifier="CLUTTER_TRANSFER_FUNCTION_BT709"
              glib:nick="bt709"
              glib:name="CLUTTER_TRANSFER_FUNCTION_BT709">
      </member>
      <member name="linear"
              value="3"
              c:identifier="CLUTTER_TRANSFER_FUNCTION_LINEAR"
              glib:nick="linear"
              glib:name="CLUTTER_TRANSFER_FUNCTION_LINEAR">
      </member>
      <member name="bt1886"
              value="2"
              c:identifier="CLUTTER_TRANSFER_FUNCTION_BT1886"
              glib:nick="bt1886"
              glib:name="CLUTTER_TRANSFER_FUNCTION_BT1886">
      </member>
    </enumeration>
    <class name="TransformNode"
           c:symbol-prefix="transform_node"
           c:type="ClutterTransformNode"
           parent="PaintNode"
           glib:type-name="ClutterTransformNode"
           glib:get-type="clutter_transform_node_get_type"
           glib:type-struct="TransformNodeClass"
           glib:fundamental="1">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="141"/>
      <constructor name="new" c:identifier="clutter_transform_node_new">
        <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                         line="147"/>
        <return-value transfer-ownership="full">
          <type name="PaintNode" c:type="ClutterPaintNode*"/>
        </return-value>
        <parameters>
          <parameter name="projection" transfer-ownership="none">
            <type name="Graphene.Matrix" c:type="const graphene_matrix_t*"/>
          </parameter>
        </parameters>
      </constructor>
    </class>
    <record name="TransformNodeClass"
            c:type="ClutterTransformNodeClass"
            glib:is-gtype-struct-for="TransformNode">
      <source-position filename="clutter/clutter/clutter-paint-nodes.h"
                       line="141"/>
    </record>
    <class name="Transition"
           c:symbol-prefix="transition"
           c:type="ClutterTransition"
           parent="Timeline"
           abstract="1"
           glib:type-name="ClutterTransition"
           glib:get-type="clutter_transition_get_type"
           glib:type-struct="TransitionClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-transition.c"
           line="24">Transition between two values

#ClutterTransition is an abstract subclass of [class@Timeline] that
computes the interpolation between two values, stored by a [class@Interval].</doc>
      <source-position filename="clutter/clutter/clutter-transition.h"
                       line="71"/>
      <virtual-method name="attached">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.h"
             line="46">virtual function; called when a transition is attached to
  a #ClutterAnimatable instance</doc>
        <source-position filename="clutter/clutter/clutter-transition.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <type name="Transition" c:type="ClutterTransition*"/>
          </instance-parameter>
          <parameter name="animatable" transfer-ownership="none">
            <type name="Animatable" c:type="ClutterAnimatable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="compute_value">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.h"
             line="50">virtual function; called each frame to compute and apply
  the interpolation of the interval</doc>
        <source-position filename="clutter/clutter/clutter-transition.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <type name="Transition" c:type="ClutterTransition*"/>
          </instance-parameter>
          <parameter name="animatable" transfer-ownership="none">
            <type name="Animatable" c:type="ClutterAnimatable*"/>
          </parameter>
          <parameter name="interval" transfer-ownership="none">
            <type name="Interval" c:type="ClutterInterval*"/>
          </parameter>
          <parameter name="progress" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="detached">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.h"
             line="48">virtual function; called when a transition is detached from
  a #ClutterAnimatable instance</doc>
        <source-position filename="clutter/clutter/clutter-transition.h"
                         line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <type name="Transition" c:type="ClutterTransition*"/>
          </instance-parameter>
          <parameter name="animatable" transfer-ownership="none">
            <type name="Animatable" c:type="ClutterAnimatable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_animatable"
              c:identifier="clutter_transition_get_animatable"
              glib:get-property="animatable">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.c"
             line="383">Retrieves the [iface@Animatable] set using [method@Transition.set_animatable].</doc>
        <source-position filename="clutter/clutter/clutter-transition.h"
                         line="97"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-transition.c"
               line="389">a [iface@Animatable], or %NULL; the returned
  animatable is owned by the #ClutterTransition, and it should not be freed
  directly.</doc>
          <type name="Animatable" c:type="ClutterAnimatable*"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="385">a #ClutterTransition</doc>
            <type name="Transition" c:type="ClutterTransition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_interval"
              c:identifier="clutter_transition_get_interval"
              glib:get-property="interval">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.c"
             line="317">Retrieves the interval set using [method@Transition.set_interval]</doc>
        <source-position filename="clutter/clutter/clutter-transition.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-transition.c"
               line="323">a [class@Interval], or %NULL; the returned
  interval is owned by the #ClutterTransition and it should not be freed
  directly</doc>
          <type name="Interval" c:type="ClutterInterval*"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="319">a #ClutterTransition</doc>
            <type name="Transition" c:type="ClutterTransition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_remove_on_complete"
              c:identifier="clutter_transition_get_remove_on_complete"
              glib:get-property="remove-on-complete">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.c"
             line="434">Retrieves the value of the [property@Transition:remove-on-complete] property.</doc>
        <source-position filename="clutter/clutter/clutter-transition.h"
                         line="102"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-transition.c"
               line="440">%TRUE if the @transition should be detached when complete,
  and %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="436">a #ClutterTransition</doc>
            <type name="Transition" c:type="ClutterTransition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_animatable"
              c:identifier="clutter_transition_set_animatable"
              glib:set-property="animatable">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.c"
             line="339">Sets the [property@Transition:animatable] property.

The @transition will acquire a reference to the @animatable instance,
and will call the [vfunc@Transition.attached] virtual function.

If an existing [iface@Animatable] is attached to @transition, the
reference will be released, and the [vfunc@Transition.detached]
virtual function will be called.</doc>
        <source-position filename="clutter/clutter/clutter-transition.h"
                         line="94"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="341">a #ClutterTransition</doc>
            <type name="Transition" c:type="ClutterTransition*"/>
          </instance-parameter>
          <parameter name="animatable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="342">a #ClutterAnimatable, or %NULL</doc>
            <type name="Animatable" c:type="ClutterAnimatable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_from"
              c:identifier="clutter_transition_set_from"
              shadowed-by="set_from_value"
              introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.c"
             line="573">Sets the initial value of the transition.

This is a convenience function that will either create the
#ClutterInterval used by @transition, or will update it if
the [property@Transition:interval] is already set.

If @transition already has a [property@Transition:interval] set,
then @value must hold the same type, or a transformable type,
as the interval's [property@Interval:value-type] property.

This is a convenience function for the C API; language bindings
should use [method@Transition.set_from_value] instead.</doc>
        <source-position filename="clutter/clutter/clutter-transition.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="575">a #ClutterTransition</doc>
            <type name="Transition" c:type="ClutterTransition*"/>
          </instance-parameter>
          <parameter name="value_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="576">the type of the value to set</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="577">the initial value</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_from_value"
              c:identifier="clutter_transition_set_from_value"
              shadows="set_from">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.c"
             line="509">Sets the initial value of the transition.

This is a convenience function that will either create the
[class@Interval] used by @transition, or will update it if
the [property@Transition:interval] is already set.

This function will copy the contents of @value, so it is
safe to call [method@GObject.Value.unset] after it returns.

If @transition already has a [property@Transition:interval] set,
then @value must hold the same type, or a transformable type,
as the interval's [property@Interval:value-type] property.

This function is meant to be used by language bindings.</doc>
        <source-position filename="clutter/clutter/clutter-transition.h"
                         line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="511">a #ClutterTransition</doc>
            <type name="Transition" c:type="ClutterTransition*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="512">a #GValue with the initial value of the transition</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_interval"
              c:identifier="clutter_transition_set_interval"
              glib:set-property="interval">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.c"
             line="285">Sets the [property@Transition:interval] property using @interval.

The @transition will acquire a reference on the @interval, sinking
the floating flag on it if necessary.</doc>
        <source-position filename="clutter/clutter/clutter-transition.h"
                         line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="287">a #ClutterTransition</doc>
            <type name="Transition" c:type="ClutterTransition*"/>
          </instance-parameter>
          <parameter name="interval"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="288">a #ClutterInterval, or %NULL</doc>
            <type name="Interval" c:type="ClutterInterval*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_remove_on_complete"
              c:identifier="clutter_transition_set_remove_on_complete"
              glib:set-property="remove-on-complete">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.c"
             line="405">Sets whether @transition should be detached from the [iface@Animatable]
set using [method@Transition.set_animatable] when the
[signal@Timeline::completed] signal is emitted.</doc>
        <source-position filename="clutter/clutter/clutter-transition.h"
                         line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="407">a #ClutterTransition</doc>
            <type name="Transition" c:type="ClutterTransition*"/>
          </instance-parameter>
          <parameter name="remove_complete" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="408">whether to detach @transition when complete</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_to"
              c:identifier="clutter_transition_set_to"
              shadowed-by="set_to_value"
              introspectable="0">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.c"
             line="624">Sets the final value of the transition.

This is a convenience function that will either create the
#ClutterInterval used by @transition, or will update it if
the [property@Transition:interval] is already set.

If @transition already has a [property@Transition:interval] set,
then @value must hold the same type, or a transformable type,
as the interval's [property@Interval:value-type] property.

This is a convenience function for the C API; language bindings
should use [method@Transition.set_to_value] instead.</doc>
        <source-position filename="clutter/clutter/clutter-transition.h"
                         line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="626">a #ClutterTransition</doc>
            <type name="Transition" c:type="ClutterTransition*"/>
          </instance-parameter>
          <parameter name="value_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="627">the type of the value to set</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="628">the final value</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_to_value"
              c:identifier="clutter_transition_set_to_value"
              shadows="set_to">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.c"
             line="541">Sets the final value of the transition.

This is a convenience function that will either create the
#ClutterInterval used by @transition, or will update it if
the [property@Transition:interval] is already set.

This function will copy the contents of @value, so it is
safe to call [method@GObject.Value.unset] after it returns.

If @transition already has a [property@Transition:interval] set,
then @value must hold the same type, or a transformable type,
as the interval's [property@Interval:value-type] property.

This function is meant to be used by language bindings.</doc>
        <source-position filename="clutter/clutter/clutter-transition.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="543">a #ClutterTransition</doc>
            <type name="Transition" c:type="ClutterTransition*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition.c"
                 line="544">a #GValue with the final value of the transition</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
        </parameters>
      </method>
      <property name="animatable"
                writable="1"
                transfer-ownership="none"
                setter="set_animatable"
                getter="get_animatable">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.c"
             line="249">The [iface@Animatable] instance currently being animated.</doc>
        <type name="Animatable"/>
      </property>
      <property name="interval"
                writable="1"
                transfer-ownership="none"
                setter="set_interval"
                getter="get_interval">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.c"
             line="237">The [class@Interval] used to describe the initial and final states
of the transition.</doc>
        <type name="Interval"/>
      </property>
      <property name="remove-on-complete"
                writable="1"
                transfer-ownership="none"
                setter="set_remove_on_complete"
                getter="get_remove_on_complete"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.c"
             line="260">Whether the #ClutterTransition should be automatically detached
from the [property@Transition:animatable] instance whenever the
[signal@Timeline::stopped] signal is emitted.

The [property@Transition:remove-on-complete] property takes into
account the value of the [property@Timeline:repeat-count] property,
and it only detaches the transition if the transition is not
repeating.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent_instance">
        <type name="Timeline" c:type="ClutterTimeline"/>
      </field>
    </class>
    <record name="TransitionClass"
            c:type="ClutterTransitionClass"
            glib:is-gtype-struct-for="Transition">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-transition.h"
           line="44">The #ClutterTransitionClass structure contains
private data.</doc>
      <source-position filename="clutter/clutter/clutter-transition.h"
                       line="71"/>
      <field name="parent_class" readable="0" private="1">
        <type name="TimelineClass" c:type="ClutterTimelineClass"/>
      </field>
      <field name="attached">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.h"
             line="46">virtual function; called when a transition is attached to
  a #ClutterAnimatable instance</doc>
        <callback name="attached">
          <source-position filename="clutter/clutter/clutter-transition.h"
                           line="62"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="transition" transfer-ownership="none">
              <type name="Transition" c:type="ClutterTransition*"/>
            </parameter>
            <parameter name="animatable" transfer-ownership="none">
              <type name="Animatable" c:type="ClutterAnimatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="detached">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.h"
             line="48">virtual function; called when a transition is detached from
  a #ClutterAnimatable instance</doc>
        <callback name="detached">
          <source-position filename="clutter/clutter/clutter-transition.h"
                           line="64"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="transition" transfer-ownership="none">
              <type name="Transition" c:type="ClutterTransition*"/>
            </parameter>
            <parameter name="animatable" transfer-ownership="none">
              <type name="Animatable" c:type="ClutterAnimatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="compute_value">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition.h"
             line="50">virtual function; called each frame to compute and apply
  the interpolation of the interval</doc>
        <callback name="compute_value">
          <source-position filename="clutter/clutter/clutter-transition.h"
                           line="67"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="transition" transfer-ownership="none">
              <type name="Transition" c:type="ClutterTransition*"/>
            </parameter>
            <parameter name="animatable" transfer-ownership="none">
              <type name="Animatable" c:type="ClutterAnimatable*"/>
            </parameter>
            <parameter name="interval" transfer-ownership="none">
              <type name="Interval" c:type="ClutterInterval*"/>
            </parameter>
            <parameter name="progress" transfer-ownership="none">
              <type name="gdouble" c:type="gdouble"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="TransitionGroup"
           c:symbol-prefix="transition_group"
           c:type="ClutterTransitionGroup"
           parent="Transition"
           final="1"
           glib:type-name="ClutterTransitionGroup"
           glib:get-type="clutter_transition_group_get_type"
           glib:type-struct="TransitionGroupClass">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-transition-group.c"
           line="24">Group transitions together

The #ClutterTransitionGroup allows running multiple [class@Transition]
instances concurrently.

The transitions inside a group will run within the boundaries of the
group; for instance, if a transition has a duration of 10 seconds, and
the group that contains it has a duration of 5 seconds, only the first
5 seconds of the transition will be played.</doc>
      <source-position filename="clutter/clutter/clutter-transition-group.h"
                       line="38"/>
      <constructor name="new" c:identifier="clutter_transition_group_new">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition-group.c"
             line="163">Creates a new #ClutterTransitionGroup instance.</doc>
        <source-position filename="clutter/clutter/clutter-transition-group.h"
                         line="45"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-transition-group.c"
               line="168">the newly created #ClutterTransitionGroup. Use
  [method@GObject.Object.unref] when done to deallocate the resources it
  uses</doc>
          <type name="Transition" c:type="ClutterTransition*"/>
        </return-value>
      </constructor>
      <method name="add_transition"
              c:identifier="clutter_transition_group_add_transition">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition-group.c"
             line="178">Adds @transition to @group.

This function acquires a reference on @transition that will be released
when calling [method@TransitionGroup.remove_transition].</doc>
        <source-position filename="clutter/clutter/clutter-transition-group.h"
                         line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition-group.c"
                 line="180">a #ClutterTransitionGroup</doc>
            <type name="TransitionGroup" c:type="ClutterTransitionGroup*"/>
          </instance-parameter>
          <parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition-group.c"
                 line="181">a #ClutterTransition</doc>
            <type name="Transition" c:type="ClutterTransition*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_all"
              c:identifier="clutter_transition_group_remove_all">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition-group.c"
             line="217">Removes all transitions from @group.

This function releases the reference acquired when calling
[method@TransitionGroup.add_transition].</doc>
        <source-position filename="clutter/clutter/clutter-transition-group.h"
                         line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition-group.c"
                 line="219">a #ClutterTransitionGroup</doc>
            <type name="TransitionGroup" c:type="ClutterTransitionGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_transition"
              c:identifier="clutter_transition_group_remove_transition">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-transition-group.c"
             line="198">Removes @transition from @group.

This function releases the reference acquired on @transition when
calling [method@TransitionGroup.add_transition].</doc>
        <source-position filename="clutter/clutter/clutter-transition-group.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition-group.c"
                 line="200">a #ClutterTransitionGroup</doc>
            <type name="TransitionGroup" c:type="ClutterTransitionGroup*"/>
          </instance-parameter>
          <parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="clutter/clutter/clutter-transition-group.c"
                 line="201">a #ClutterTransition</doc>
            <type name="Transition" c:type="ClutterTransition*"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="TransitionGroupClass"
            c:type="ClutterTransitionGroupClass"
            glib:is-gtype-struct-for="TransitionGroup">
      <source-position filename="clutter/clutter/clutter-transition-group.h"
                       line="38"/>
      <field name="parent_class">
        <type name="TransitionClass" c:type="ClutterTransitionClass"/>
      </field>
    </record>
    <function-macro name="VALUE_HOLDS_PAINT_NODE"
                    c:identifier="CLUTTER_VALUE_HOLDS_PAINT_NODE"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-paint-node.h"
           line="100">Evaluates to %TRUE if the @value has been initialized to hold
a #ClutterPaintNode.</doc>
      <source-position filename="clutter/clutter/clutter-paint-node.h"
                       line="107"/>
      <parameters>
        <parameter name="value">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-node.h"
               line="102">a #GValue</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="VALUE_HOLDS_SHADER_FLOAT"
                    c:identifier="CLUTTER_VALUE_HOLDS_SHADER_FLOAT"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-shader-types.h"
           line="42">Evaluates to %TRUE if @x holds a #ClutterShaderFloat.</doc>
      <source-position filename="clutter/clutter/clutter-shader-types.h"
                       line="48"/>
      <parameters>
        <parameter name="x">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-types.h"
               line="44">a #GValue</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="VALUE_HOLDS_SHADER_INT"
                    c:identifier="CLUTTER_VALUE_HOLDS_SHADER_INT"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-shader-types.h"
           line="50">Evaluates to %TRUE if @x holds a #ClutterShaderInt.</doc>
      <source-position filename="clutter/clutter/clutter-shader-types.h"
                       line="56"/>
      <parameters>
        <parameter name="x">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-types.h"
               line="52">a #GValue</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="VALUE_HOLDS_SHADER_MATRIX"
                    c:identifier="CLUTTER_VALUE_HOLDS_SHADER_MATRIX"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-shader-types.h"
           line="58">Evaluates to %TRUE if @x holds a #ClutterShaderMatrix.</doc>
      <source-position filename="clutter/clutter/clutter-shader-types.h"
                       line="64"/>
      <parameters>
        <parameter name="x">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-types.h"
               line="60">a #GValue</doc>
        </parameter>
      </parameters>
    </function-macro>
    <constant name="VIRTUAL_INPUT_DEVICE_MAX_TOUCH_SLOTS"
              value="32"
              c:type="CLUTTER_VIRTUAL_INPUT_DEVICE_MAX_TOUCH_SLOTS">
      <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                       line="33"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <bitfield name="VirtualDeviceType"
              glib:type-name="ClutterVirtualDeviceType"
              glib:get-type="clutter_virtual_device_type_get_type"
              c:type="ClutterVirtualDeviceType">
      <member name="none"
              value="0"
              c:identifier="CLUTTER_VIRTUAL_DEVICE_TYPE_NONE"
              glib:nick="none"
              glib:name="CLUTTER_VIRTUAL_DEVICE_TYPE_NONE">
      </member>
      <member name="keyboard"
              value="1"
              c:identifier="CLUTTER_VIRTUAL_DEVICE_TYPE_KEYBOARD"
              glib:nick="keyboard"
              glib:name="CLUTTER_VIRTUAL_DEVICE_TYPE_KEYBOARD">
      </member>
      <member name="pointer"
              value="2"
              c:identifier="CLUTTER_VIRTUAL_DEVICE_TYPE_POINTER"
              glib:nick="pointer"
              glib:name="CLUTTER_VIRTUAL_DEVICE_TYPE_POINTER">
      </member>
      <member name="touchscreen"
              value="4"
              c:identifier="CLUTTER_VIRTUAL_DEVICE_TYPE_TOUCHSCREEN"
              glib:nick="touchscreen"
              glib:name="CLUTTER_VIRTUAL_DEVICE_TYPE_TOUCHSCREEN">
      </member>
    </bitfield>
    <class name="VirtualInputDevice"
           c:symbol-prefix="virtual_input_device"
           c:type="ClutterVirtualInputDevice"
           parent="GObject.Object"
           glib:type-name="ClutterVirtualInputDevice"
           glib:get-type="clutter_virtual_input_device_get_type"
           glib:type-struct="VirtualInputDeviceClass">
      <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                       line="108"/>
      <virtual-method name="notify_absolute_motion"
                      invoker="notify_absolute_motion">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="notify_button" invoker="notify_button">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="button" transfer-ownership="none">
            <type name="guint32" c:type="uint32_t"/>
          </parameter>
          <parameter name="button_state" transfer-ownership="none">
            <type name="ButtonState" c:type="ClutterButtonState"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="notify_discrete_scroll"
                      invoker="notify_discrete_scroll">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="direction" transfer-ownership="none">
            <type name="ScrollDirection" c:type="ClutterScrollDirection"/>
          </parameter>
          <parameter name="scroll_source" transfer-ownership="none">
            <type name="ScrollSource" c:type="ClutterScrollSource"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="notify_key" invoker="notify_key">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="guint32" c:type="uint32_t"/>
          </parameter>
          <parameter name="key_state" transfer-ownership="none">
            <type name="KeyState" c:type="ClutterKeyState"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="notify_keyval" invoker="notify_keyval">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="keyval" transfer-ownership="none">
            <type name="guint32" c:type="uint32_t"/>
          </parameter>
          <parameter name="key_state" transfer-ownership="none">
            <type name="KeyState" c:type="ClutterKeyState"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="notify_relative_motion"
                      invoker="notify_relative_motion">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="dx" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="dy" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="notify_scroll_continuous"
                      invoker="notify_scroll_continuous">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="dx" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="dy" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="scroll_source" transfer-ownership="none">
            <type name="ScrollSource" c:type="ClutterScrollSource"/>
          </parameter>
          <parameter name="finish_flags" transfer-ownership="none">
            <type name="ScrollFinishFlags" c:type="ClutterScrollFinishFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="notify_touch_down" invoker="notify_touch_down">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="slot" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="notify_touch_motion" invoker="notify_touch_motion">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="slot" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="notify_touch_up" invoker="notify_touch_up">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="105"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="slot" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_device_type"
              c:identifier="clutter_virtual_input_device_get_device_type"
              glib:get-property="device-type">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="174"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_seat"
              c:identifier="clutter_virtual_input_device_get_seat"
              glib:get-property="seat">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="177"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-virtual-input-device.c"
               line="208">The seat of the virtual input device</doc>
          <type name="Seat" c:type="ClutterSeat*"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="notify_absolute_motion"
              c:identifier="clutter_virtual_input_device_notify_absolute_motion">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="117"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_button"
              c:identifier="clutter_virtual_input_device_notify_button">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="123"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="button" transfer-ownership="none">
            <type name="guint32" c:type="uint32_t"/>
          </parameter>
          <parameter name="button_state" transfer-ownership="none">
            <type name="ButtonState" c:type="ClutterButtonState"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_discrete_scroll"
              c:identifier="clutter_virtual_input_device_notify_discrete_scroll">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="141"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="direction" transfer-ownership="none">
            <type name="ScrollDirection" c:type="ClutterScrollDirection"/>
          </parameter>
          <parameter name="scroll_source" transfer-ownership="none">
            <type name="ScrollSource" c:type="ClutterScrollSource"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_key"
              c:identifier="clutter_virtual_input_device_notify_key">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="129"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="guint32" c:type="uint32_t"/>
          </parameter>
          <parameter name="key_state" transfer-ownership="none">
            <type name="KeyState" c:type="ClutterKeyState"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_keyval"
              c:identifier="clutter_virtual_input_device_notify_keyval">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="135"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="keyval" transfer-ownership="none">
            <type name="guint32" c:type="uint32_t"/>
          </parameter>
          <parameter name="key_state" transfer-ownership="none">
            <type name="KeyState" c:type="ClutterKeyState"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_relative_motion"
              c:identifier="clutter_virtual_input_device_notify_relative_motion">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="111"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="dx" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="dy" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_scroll_continuous"
              c:identifier="clutter_virtual_input_device_notify_scroll_continuous">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="147"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="dx" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="dy" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="scroll_source" transfer-ownership="none">
            <type name="ScrollSource" c:type="ClutterScrollSource"/>
          </parameter>
          <parameter name="finish_flags" transfer-ownership="none">
            <type name="ScrollFinishFlags" c:type="ClutterScrollFinishFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_touch_down"
              c:identifier="clutter_virtual_input_device_notify_touch_down">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="155"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="slot" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_touch_motion"
              c:identifier="clutter_virtual_input_device_notify_touch_motion">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="162"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="slot" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_touch_up"
              c:identifier="clutter_virtual_input_device_notify_touch_up">
        <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                         line="169"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="virtual_device" transfer-ownership="none">
            <type name="VirtualInputDevice"
                  c:type="ClutterVirtualInputDevice*"/>
          </instance-parameter>
          <parameter name="time_us" transfer-ownership="none">
            <type name="guint64" c:type="uint64_t"/>
          </parameter>
          <parameter name="slot" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <property name="device-type"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_device_type"
                default-value="CLUTTER_POINTER_DEVICE">
        <type name="InputDeviceType"/>
      </property>
      <property name="seat"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_seat">
        <type name="Seat"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="VirtualInputDeviceClass"
            c:type="ClutterVirtualInputDeviceClass"
            glib:is-gtype-struct-for="VirtualInputDevice">
      <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                       line="108"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="notify_relative_motion">
        <callback name="notify_relative_motion">
          <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                           line="57"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="virtual_device" transfer-ownership="none">
              <type name="VirtualInputDevice"
                    c:type="ClutterVirtualInputDevice*"/>
            </parameter>
            <parameter name="time_us" transfer-ownership="none">
              <type name="guint64" c:type="uint64_t"/>
            </parameter>
            <parameter name="dx" transfer-ownership="none">
              <type name="gdouble" c:type="double"/>
            </parameter>
            <parameter name="dy" transfer-ownership="none">
              <type name="gdouble" c:type="double"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="notify_absolute_motion">
        <callback name="notify_absolute_motion">
          <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                           line="62"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="virtual_device" transfer-ownership="none">
              <type name="VirtualInputDevice"
                    c:type="ClutterVirtualInputDevice*"/>
            </parameter>
            <parameter name="time_us" transfer-ownership="none">
              <type name="guint64" c:type="uint64_t"/>
            </parameter>
            <parameter name="x" transfer-ownership="none">
              <type name="gdouble" c:type="double"/>
            </parameter>
            <parameter name="y" transfer-ownership="none">
              <type name="gdouble" c:type="double"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="notify_button">
        <callback name="notify_button">
          <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                           line="67"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="virtual_device" transfer-ownership="none">
              <type name="VirtualInputDevice"
                    c:type="ClutterVirtualInputDevice*"/>
            </parameter>
            <parameter name="time_us" transfer-ownership="none">
              <type name="guint64" c:type="uint64_t"/>
            </parameter>
            <parameter name="button" transfer-ownership="none">
              <type name="guint32" c:type="uint32_t"/>
            </parameter>
            <parameter name="button_state" transfer-ownership="none">
              <type name="ButtonState" c:type="ClutterButtonState"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="notify_key">
        <callback name="notify_key">
          <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                           line="72"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="virtual_device" transfer-ownership="none">
              <type name="VirtualInputDevice"
                    c:type="ClutterVirtualInputDevice*"/>
            </parameter>
            <parameter name="time_us" transfer-ownership="none">
              <type name="guint64" c:type="uint64_t"/>
            </parameter>
            <parameter name="key" transfer-ownership="none">
              <type name="guint32" c:type="uint32_t"/>
            </parameter>
            <parameter name="key_state" transfer-ownership="none">
              <type name="KeyState" c:type="ClutterKeyState"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="notify_keyval">
        <callback name="notify_keyval">
          <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                           line="76"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="virtual_device" transfer-ownership="none">
              <type name="VirtualInputDevice"
                    c:type="ClutterVirtualInputDevice*"/>
            </parameter>
            <parameter name="time_us" transfer-ownership="none">
              <type name="guint64" c:type="uint64_t"/>
            </parameter>
            <parameter name="keyval" transfer-ownership="none">
              <type name="guint32" c:type="uint32_t"/>
            </parameter>
            <parameter name="key_state" transfer-ownership="none">
              <type name="KeyState" c:type="ClutterKeyState"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="notify_discrete_scroll">
        <callback name="notify_discrete_scroll">
          <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                           line="81"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="virtual_device" transfer-ownership="none">
              <type name="VirtualInputDevice"
                    c:type="ClutterVirtualInputDevice*"/>
            </parameter>
            <parameter name="time_us" transfer-ownership="none">
              <type name="guint64" c:type="uint64_t"/>
            </parameter>
            <parameter name="direction" transfer-ownership="none">
              <type name="ScrollDirection" c:type="ClutterScrollDirection"/>
            </parameter>
            <parameter name="scroll_source" transfer-ownership="none">
              <type name="ScrollSource" c:type="ClutterScrollSource"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="notify_scroll_continuous">
        <callback name="notify_scroll_continuous">
          <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                           line="86"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="virtual_device" transfer-ownership="none">
              <type name="VirtualInputDevice"
                    c:type="ClutterVirtualInputDevice*"/>
            </parameter>
            <parameter name="time_us" transfer-ownership="none">
              <type name="guint64" c:type="uint64_t"/>
            </parameter>
            <parameter name="dx" transfer-ownership="none">
              <type name="gdouble" c:type="double"/>
            </parameter>
            <parameter name="dy" transfer-ownership="none">
              <type name="gdouble" c:type="double"/>
            </parameter>
            <parameter name="scroll_source" transfer-ownership="none">
              <type name="ScrollSource" c:type="ClutterScrollSource"/>
            </parameter>
            <parameter name="finish_flags" transfer-ownership="none">
              <type name="ScrollFinishFlags"
                    c:type="ClutterScrollFinishFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="notify_touch_down">
        <callback name="notify_touch_down">
          <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                           line="93"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="virtual_device" transfer-ownership="none">
              <type name="VirtualInputDevice"
                    c:type="ClutterVirtualInputDevice*"/>
            </parameter>
            <parameter name="time_us" transfer-ownership="none">
              <type name="guint64" c:type="uint64_t"/>
            </parameter>
            <parameter name="slot" transfer-ownership="none">
              <type name="gint" c:type="int"/>
            </parameter>
            <parameter name="x" transfer-ownership="none">
              <type name="gdouble" c:type="double"/>
            </parameter>
            <parameter name="y" transfer-ownership="none">
              <type name="gdouble" c:type="double"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="notify_touch_motion">
        <callback name="notify_touch_motion">
          <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                           line="99"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="virtual_device" transfer-ownership="none">
              <type name="VirtualInputDevice"
                    c:type="ClutterVirtualInputDevice*"/>
            </parameter>
            <parameter name="time_us" transfer-ownership="none">
              <type name="guint64" c:type="uint64_t"/>
            </parameter>
            <parameter name="slot" transfer-ownership="none">
              <type name="gint" c:type="int"/>
            </parameter>
            <parameter name="x" transfer-ownership="none">
              <type name="gdouble" c:type="double"/>
            </parameter>
            <parameter name="y" transfer-ownership="none">
              <type name="gdouble" c:type="double"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="notify_touch_up">
        <callback name="notify_touch_up">
          <source-position filename="clutter/clutter/clutter-virtual-input-device.h"
                           line="105"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="virtual_device" transfer-ownership="none">
              <type name="VirtualInputDevice"
                    c:type="ClutterVirtualInputDevice*"/>
            </parameter>
            <parameter name="time_us" transfer-ownership="none">
              <type name="guint64" c:type="uint64_t"/>
            </parameter>
            <parameter name="slot" transfer-ownership="none">
              <type name="gint" c:type="int"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <function name="actor_box_alloc"
              c:identifier="clutter_actor_box_alloc"
              moved-to="ActorBox.alloc">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-actor-box.c"
           line="42">Allocates a new [struct@ActorBox].</doc>
      <source-position filename="clutter/clutter/clutter-types.h" line="189"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-actor-box.c"
             line="47">the newly allocated #ClutterActorBox.
  Use [method@ActorBox.free] to free its resources</doc>
        <type name="ActorBox" c:type="ClutterActorBox*"/>
      </return-value>
    </function>
    <function name="actor_box_clamp_to_pixel"
              c:identifier="clutter_actor_box_clamp_to_pixel"
              moved-to="ActorBox.clamp_to_pixel">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-actor-box.c"
           line="402">Clamps the components of @box to the nearest integer</doc>
      <source-position filename="clutter/clutter/clutter-types.h" line="240"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="box"
                   direction="inout"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-actor-box.c"
               line="404">the #ClutterActorBox to clamp</doc>
          <type name="ActorBox" c:type="ClutterActorBox*"/>
        </parameter>
      </parameters>
    </function>
    <function name="add_debug_flags" c:identifier="clutter_add_debug_flags">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-main.c"
           line="536">Adds the debug flags passed to the list of debug flags.</doc>
      <source-position filename="clutter/clutter/clutter-main.h" line="129"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="debug_flags" transfer-ownership="none">
          <type name="DebugFlag" c:type="ClutterDebugFlag"/>
        </parameter>
        <parameter name="draw_flags" transfer-ownership="none">
          <type name="DrawDebugFlag" c:type="ClutterDrawDebugFlag"/>
        </parameter>
        <parameter name="pick_flags" transfer-ownership="none">
          <type name="PickDebugFlag" c:type="ClutterPickDebugFlag"/>
        </parameter>
      </parameters>
    </function>
    <function name="colorspace_to_primaries"
              c:identifier="clutter_colorspace_to_primaries"
              moved-to="Colorspace.to_primaries">
      <source-position filename="clutter/clutter/clutter-color-state-params.h"
                       line="182"/>
      <return-value transfer-ownership="none">
        <type name="Primaries" c:type="const ClutterPrimaries*"/>
      </return-value>
      <parameters>
        <parameter name="colorspace" transfer-ownership="none">
          <type name="Colorspace" c:type="ClutterColorspace"/>
        </parameter>
      </parameters>
    </function>
    <function name="debug_set_max_render_time_constant"
              c:identifier="clutter_debug_set_max_render_time_constant">
      <source-position filename="clutter/clutter/clutter-main.h" line="139"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="max_render_time_constant_us"
                   transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="event_add_filter"
              c:identifier="clutter_event_add_filter"
              moved-to="Event.add_filter">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-event.c"
           line="1318">Adds a function which will be called for all events that Clutter
processes. The function will be called before any signals are
emitted for the event and it will take precedence over any grabs.</doc>
      <source-position filename="clutter/clutter/clutter-event.h" line="145"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1329">an identifier for the event filter, to be used
  with [func@Clutter.Event.remove_filter].</doc>
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="stage"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1320">The #ClutterStage to capture events for</doc>
          <type name="Stage" c:type="ClutterStage*"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="3"
                   destroy="2">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1321">The callback function which will be passed all events.</doc>
          <type name="EventFilterFunc" c:type="ClutterEventFilterFunc"/>
        </parameter>
        <parameter name="notify" transfer-ownership="none" scope="async">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1322">A #GDestroyNotify</doc>
          <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1323">A data pointer to pass to the function.</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="event_get"
              c:identifier="clutter_event_get"
              moved-to="Event.get">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-event.c"
           line="977">Pops an event off the event queue. Applications should not need to call
this.</doc>
      <source-position filename="clutter/clutter/clutter-event.h" line="140"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="983">A #ClutterEvent or NULL if queue empty</doc>
        <type name="Event" c:type="ClutterEvent*"/>
      </return-value>
    </function>
    <function name="event_remove_filter"
              c:identifier="clutter_event_remove_filter"
              moved-to="Event.remove_filter">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-event.c"
           line="1355">Removes an event filter that was previously added with
[func@Clutter.Event.add_filter].</doc>
      <source-position filename="clutter/clutter/clutter-event.h" line="150"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="id" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-event.c"
               line="1357">The ID of the event filter, as returned from [func@Clutter.Event.add_filter]</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="events_pending" c:identifier="clutter_events_pending">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-event.c"
           line="1035">Checks if events are pending in the event queue.</doc>
      <source-position filename="clutter/clutter/clutter-event.h" line="138"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1040">TRUE if there are pending events, FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="get_accessibility_enabled"
              c:identifier="clutter_get_accessibility_enabled">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-context.c"
           line="382">Returns whether Clutter has accessibility support enabled.</doc>
      <source-position filename="clutter/clutter/clutter-main.h" line="109"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-context.c"
             line="387">%TRUE if Clutter has accessibility support enabled</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="get_current_event"
              c:identifier="clutter_get_current_event">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-event.c"
           line="1073">If an event is currently being processed, return that event.
This function is intended to be used to access event state
that might not be exposed by higher-level widgets.  For
example, to get the key modifier state from a Button 'clicked'
event.</doc>
      <source-position filename="clutter/clutter/clutter-event.h" line="231"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1082">The current ClutterEvent, or %NULL if none</doc>
        <type name="Event" c:type="const ClutterEvent*"/>
      </return-value>
    </function>
    <function name="get_current_event_time"
              c:identifier="clutter_get_current_event_time">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-event.c"
           line="1052">Retrieves the timestamp of the last event, if there is an
event or if the event has a timestamp.</doc>
      <source-position filename="clutter/clutter/clutter-event.h" line="229"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-event.c"
             line="1058">the event timestamp, or %CLUTTER_CURRENT_TIME</doc>
        <type name="guint32" c:type="guint32"/>
      </return-value>
    </function>
    <function name="get_debug_flags" c:identifier="clutter_get_debug_flags">
      <source-position filename="clutter/clutter/clutter-main.h" line="124"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="debug_flags"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-main.c"
               line="574">return location for debug flags</doc>
          <type name="DebugFlag" c:type="ClutterDebugFlag*"/>
        </parameter>
        <parameter name="draw_flags"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-main.c"
               line="575">return location for draw debug flags</doc>
          <type name="DrawDebugFlag" c:type="ClutterDrawDebugFlag*"/>
        </parameter>
        <parameter name="pick_flags"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-main.c"
               line="576">return location for pick debug flags</doc>
          <type name="PickDebugFlag" c:type="ClutterPickDebugFlag*"/>
        </parameter>
      </parameters>
    </function>
    <function name="get_default_backend"
              c:identifier="clutter_get_default_backend">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-backend.c"
           line="422">Retrieves the default #ClutterBackend used by Clutter. The
#ClutterBackend holds backend-specific configuration options.</doc>
      <source-position filename="clutter/clutter/clutter-backend.h" line="49"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-backend.c"
             line="428">the default backend. You should
  not ref or unref the returned object. Applications should rarely
  need to use this.</doc>
        <type name="Backend" c:type="ClutterBackend*"/>
      </return-value>
    </function>
    <function name="get_default_text_direction"
              c:identifier="clutter_get_default_text_direction">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-main.c"
           line="491">Retrieves the default direction for the text. The text direction is
determined by the locale and/or by the `CLUTTER_TEXT_DIRECTION`
environment variable.

The default text direction can be overridden on a per-actor basis by using
[method@Actor.set_text_direction].</doc>
      <source-position filename="clutter/clutter/clutter-main.h" line="121"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-main.c"
             line="501">the default text direction</doc>
        <type name="TextDirection" c:type="ClutterTextDirection"/>
      </return-value>
    </function>
    <function name="get_text_direction"
              c:identifier="clutter_get_text_direction">
      <source-position filename="clutter/clutter/clutter-main.h" line="142"/>
      <return-value transfer-ownership="none">
        <type name="TextDirection" c:type="ClutterTextDirection"/>
      </return-value>
    </function>
    <function name="keysym_to_unicode"
              c:identifier="clutter_keysym_to_unicode">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-keysyms-table.c"
           line="833">Converts @keyval from a Clutter key symbol to the corresponding
ISO10646 (Unicode) character.</doc>
      <source-position filename="clutter/clutter/clutter-event.h" line="224"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-keysyms-table.c"
             line="840">a Unicode character, or 0 if there  is no corresponding
  character.</doc>
        <type name="guint32" c:type="guint32"/>
      </return-value>
      <parameters>
        <parameter name="keyval" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-keysyms-table.c"
               line="835">a key symbol</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="keyval_convert_case"
              c:identifier="clutter_keyval_convert_case">
      <source-position filename="clutter/clutter/clutter-keyval.h" line="33"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="symbol" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-keyval.c"
               line="36">a keyval.</doc>
          <type name="guint" c:type="unsigned int"/>
        </parameter>
        <parameter name="lower"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-keyval.c"
               line="37">return location of the lowercase version of @symbol.</doc>
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
        <parameter name="upper"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-keyval.c"
               line="38">return location of the uppercase version of @symbol.</doc>
          <type name="guint" c:type="unsigned int*"/>
        </parameter>
      </parameters>
    </function>
    <function name="keyval_name" c:identifier="clutter_keyval_name">
      <source-position filename="clutter/clutter/clutter-keyval.h" line="38"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-keyval.c"
             line="181">The corresponding symbolic name.</doc>
        <type name="utf8" c:type="const char*"/>
      </return-value>
      <parameters>
        <parameter name="keyval" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-keyval.c"
               line="179">A key value.</doc>
          <type name="guint" c:type="unsigned int"/>
        </parameter>
      </parameters>
    </function>
    <function name="pipeline_capability_quark"
              c:identifier="clutter_pipeline_capability_quark"
              moved-to="PipelineCapability.quark">
      <source-position filename="clutter/clutter/clutter-main.h" line="101"/>
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="remove_debug_flags"
              c:identifier="clutter_remove_debug_flags">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-main.c"
           line="551">Removes the debug flags passed from the list of debug flags.</doc>
      <source-position filename="clutter/clutter/clutter-main.h" line="134"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="debug_flags" transfer-ownership="none">
          <type name="DebugFlag" c:type="ClutterDebugFlag"/>
        </parameter>
        <parameter name="draw_flags" transfer-ownership="none">
          <type name="DrawDebugFlag" c:type="ClutterDrawDebugFlag"/>
        </parameter>
        <parameter name="pick_flags" transfer-ownership="none">
          <type name="PickDebugFlag" c:type="ClutterPickDebugFlag"/>
        </parameter>
      </parameters>
    </function>
    <function name="threads_add_repaint_func"
              c:identifier="clutter_threads_add_repaint_func">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-main.c"
           line="366">Adds a function to be called whenever Clutter is processing a new
frame.

If the function returns %FALSE it is automatically removed from the
list of repaint functions and will not be called again.

This function is guaranteed to be called from within the same thread
that called clutter_main(), and while the Clutter lock is being held;
the function will be called within the main loop, so it is imperative
that it does not block, otherwise the frame time budget may be lost.

A repaint function is useful to ensure that an update of the scenegraph
is performed before the scenegraph is repainted. The @flags passed to this
function will determine the section of the frame processing that will
result in @func being called.

Adding a repaint function does not automatically ensure that a new
frame will be queued.

When the repaint function is removed (either because it returned %FALSE
or because clutter_threads_remove_repaint_func() has been called) the
@notify function will be called, if any is set.</doc>
      <source-position filename="clutter/clutter/clutter-main.h" line="113"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-main.c"
             line="397">the ID (greater than 0) of the repaint function. You
  can use the returned integer to remove the repaint function by
  calling clutter_threads_remove_repaint_func().</doc>
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="flags" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-main.c"
               line="368">flags for the repaint function</doc>
          <type name="RepaintFlags" c:type="ClutterRepaintFlags"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-main.c"
               line="369">the function to be called within the paint cycle</doc>
          <type name="GLib.SourceFunc" c:type="GSourceFunc"/>
        </parameter>
        <parameter name="data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-main.c"
               line="370">data to be passed to the function, or %NULL</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="notify" transfer-ownership="none" scope="async">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-main.c"
               line="371">function to be called when removing the repaint
   function, or %NULL</doc>
          <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function name="threads_remove_repaint_func"
              c:identifier="clutter_threads_remove_repaint_func">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-main.c"
           line="326">Removes the repaint function with @handle_id as its id</doc>
      <source-position filename="clutter/clutter/clutter-main.h" line="118"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="handle_id" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-main.c"
               line="328">an unsigned integer greater than zero</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_to_keysym"
              c:identifier="clutter_unicode_to_keysym">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-keysyms-table.c"
           line="1638">Convert from a ISO10646 character to a key symbol.</doc>
      <source-position filename="clutter/clutter/clutter-event.h" line="226"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-keysyms-table.c"
             line="1644">the corresponding Clutter key symbol, if one exists.
  or, if there is no corresponding symbol, wc | 0x01000000</doc>
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="wc" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-keysyms-table.c"
               line="1640">a ISO10646 encoded character</doc>
          <type name="guint32" c:type="guint32"/>
        </parameter>
      </parameters>
    </function>
    <function name="value_dup_paint_node"
              c:identifier="clutter_value_dup_paint_node">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-paint-node.c"
           line="537">Retrieves a pointer to the #ClutterPaintNode contained inside
the passed #GValue, and if not %NULL it will increase the
reference count.</doc>
      <source-position filename="clutter/clutter/clutter-paint-node.h"
                       line="118"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-node.c"
             line="545">a pointer
  to the #ClutterPaintNode, with its reference count increased,
  or %NULL</doc>
        <type name="PaintNode" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-node.c"
               line="539">a #GValue initialized with %CLUTTER_TYPE_PAINT_NODE</doc>
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
      </parameters>
    </function>
    <function name="value_get_paint_node"
              c:identifier="clutter_value_get_paint_node">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-paint-node.c"
           line="519">Retrieves a pointer to the #ClutterPaintNode contained inside
the passed #GValue.</doc>
      <source-position filename="clutter/clutter/clutter-paint-node.h"
                       line="116"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-paint-node.c"
             line="526">a pointer to
  a #ClutterPaintNode, or %NULL</doc>
        <type name="PaintNode" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-node.c"
               line="521">a #GValue initialized with %CLUTTER_TYPE_PAINT_NODE</doc>
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
      </parameters>
    </function>
    <function name="value_get_shader_float"
              c:identifier="clutter_value_get_shader_float">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-shader-types.c"
           line="467">Retrieves the list of floating point values stored inside
the passed [struct@GObject.Value]. @value must have been initialized with
%CLUTTER_TYPE_SHADER_FLOAT.</doc>
      <source-position filename="clutter/clutter/clutter-shader-types.h"
                       line="86"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-shader-types.c"
             line="477">the pointer to a list of
  floating point values.  The returned value is owned by the
  #GValue and should never be modified or freed.</doc>
        <array length="1" zero-terminated="0" c:type="const gfloat*">
          <type name="gfloat" c:type="gfloat"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-types.c"
               line="469">a #GValue</doc>
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="length"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-types.c"
               line="470">return location for the number of returned floating
  point values, or %NULL</doc>
          <type name="gsize" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="value_get_shader_int"
              c:identifier="clutter_value_get_shader_int">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-shader-types.c"
           line="497">Retrieves the list of integer values stored inside the passed
[struct@GObject.Value]. @value must have been initialized with
%CLUTTER_TYPE_SHADER_INT.</doc>
      <source-position filename="clutter/clutter/clutter-shader-types.h"
                       line="89"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-shader-types.c"
             line="507">the pointer to a list of
  integer values.  The returned value is owned by the #GValue and
  should never be modified or freed.</doc>
        <array length="1" zero-terminated="0" c:type="const gint*">
          <type name="gint" c:type="gint"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-types.c"
               line="499">a #GValue</doc>
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="length"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-types.c"
               line="500">return location for the number of returned integer
  values, or %NULL</doc>
          <type name="gsize" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="value_get_shader_matrix"
              c:identifier="clutter_value_get_shader_matrix">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-shader-types.c"
           line="527">Retrieves a matrix of floating point values stored inside
the passed [struct@GObject.Value]. @value must have been initialized with
%CLUTTER_TYPE_SHADER_MATRIX.</doc>
      <source-position filename="clutter/clutter/clutter-shader-types.h"
                       line="92"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="clutter/clutter/clutter-shader-types.c"
             line="537">the pointer to a matrix
  of floating point values. The returned value is owned by the #GValue and
  should never be modified or freed.</doc>
        <array length="1" zero-terminated="0" c:type="const gfloat*">
          <type name="gfloat" c:type="gfloat"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-types.c"
               line="529">a #GValue</doc>
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="length"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-types.c"
               line="530">return location for the number of returned floating
  point values, or %NULL</doc>
          <type name="gsize" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="value_set_paint_node"
              c:identifier="clutter_value_set_paint_node">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-paint-node.c"
           line="450">Sets the contents of a #GValue initialized with %CLUTTER_TYPE_PAINT_NODE.

This function increased the reference count of @node; if you do not wish
to increase the reference count, use clutter_value_take_paint_node()
instead. The reference count will be released by g_value_unset().</doc>
      <source-position filename="clutter/clutter/clutter-paint-node.h"
                       line="110"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-node.c"
               line="452">a #GValue initialized with %CLUTTER_TYPE_PAINT_NODE</doc>
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="node"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-node.c"
               line="453">a #ClutterPaintNode, or %NULL</doc>
          <type name="PaintNode" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="value_set_shader_float"
              c:identifier="clutter_value_set_shader_float">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-shader-types.c"
           line="383">Sets @floats as the contents of @value. The passed [struct@GObject.Value]
must have been initialized using %CLUTTER_TYPE_SHADER_FLOAT.</doc>
      <source-position filename="clutter/clutter/clutter-shader-types.h"
                       line="74"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-types.c"
               line="385">a #GValue</doc>
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="size" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-types.c"
               line="386">number of floating point values in @floats</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="floats" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-types.c"
               line="387">an array of floating point values</doc>
          <array length="1" zero-terminated="0" c:type="const gfloat*">
            <type name="gfloat" c:type="gfloat"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="value_set_shader_int"
              c:identifier="clutter_value_set_shader_int">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-shader-types.c"
           line="411">Sets @ints as the contents of @value. The passed [struct@GObject.Value]
must have been initialized using %CLUTTER_TYPE_SHADER_INT.</doc>
      <source-position filename="clutter/clutter/clutter-shader-types.h"
                       line="78"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-types.c"
               line="413">a #GValue</doc>
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="size" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-types.c"
               line="414">number of integer values in @ints</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="ints" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-types.c"
               line="415">an array of integer values</doc>
          <array length="1" zero-terminated="0" c:type="const gint*">
            <type name="gint" c:type="gint"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="value_set_shader_matrix"
              c:identifier="clutter_value_set_shader_matrix">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-shader-types.c"
           line="439">Sets @matrix as the contents of @value. The passed [struct@GObject.Value]
must have been initialized using %CLUTTER_TYPE_SHADER_MATRIX.</doc>
      <source-position filename="clutter/clutter/clutter-shader-types.h"
                       line="82"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-types.c"
               line="441">a #GValue</doc>
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="size" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-types.c"
               line="442">number of floating point values in @floats</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="matrix" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-shader-types.c"
               line="443">a matrix of floating point values</doc>
          <array length="1" zero-terminated="0" c:type="const gfloat*">
            <type name="gfloat" c:type="gfloat"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="value_take_paint_node"
              c:identifier="clutter_value_take_paint_node">
      <doc xml:space="preserve"
           filename="clutter/clutter/clutter-paint-node.c"
           line="484">Sets the contents of a #GValue initialized with %CLUTTER_TYPE_PAINT_NODE.

Unlike clutter_value_set_paint_node(), this function will not take a
reference on the passed @node: instead, it will take ownership of the
current reference count.</doc>
      <source-position filename="clutter/clutter/clutter-paint-node.h"
                       line="113"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-node.c"
               line="486">a #GValue, initialized with %CLUTTER_TYPE_PAINT_NODE</doc>
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="node"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="clutter/clutter/clutter-paint-node.c"
               line="487">a #ClutterPaintNode, or %NULL</doc>
          <type name="PaintNode" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
