A type representing a 4x4 matrix.
It is identicaly to #CoglMatrix.
The <structname>ClutterAction</structname> structure contains only
private data and should be accessed using the provided API
The <structname>ClutterActionClass</structname> structure contains
only private data
Base class for actors.
Creates a new #ClutterActor.
A newly created actor has a floating reference, which will be sunk
when it is added to another actor.
the newly created #ClutterActor
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 #ClutterActorClass.allocate() virtual function.
This function will adjust the stored allocation to take into account
the alignment flags set in the #ClutterActor:x-align and
#ClutterActor:y-align properties, as well as the margin values set in
the #ClutterActor:margin-top, #ClutterActor:margin-right,
#ClutterActor:margin-bottom, and #ClutterActor: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.
new allocation of the actor, in parent-relative coordinates
flags that control the allocation
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.
Note: you cannot destroy the #ClutterStage returned by
clutter_stage_get_default().
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 <ulink
url="http://developer.gnome.org/doc/API/2.0/atk/index.html">ATK</ulink>
library contains more information about accessible objects and
their uses.
the #AtkObject associated with @actor
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 anchor point;
those transformations do not affect layout, only rendering.
available width to assume in computing desired height, or a negative value to indicate that no width is defined
return location for minimum height, or %NULL
return location for natural height, or %NULL
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 scale or anchor point;
those transformations do not affect layout, only rendering.
available height when computing the preferred width, or a negative value to indicate that no height is defined
return location for minimum width, or %NULL
return location for the natural width, or %NULL
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
#ClutterActor <function>has_overlaps</function> virtual function. See
clutter_actor_set_offscreen_redirect() for more information.
%TRUE if the actor may have overlapping primitives, and %FALSE otherwise
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
#ClutterActor:show-on-set-parent property will be set to %FALSE
as a side-effect.
Calls clutter_actor_hide() on all child actors (if any).
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 disencouraged: the default
implementation of #ClutterActorClass.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.
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 emit the #ClutterActor::paint signal or
the #ClutterActor::pick signal, depending on the context.
This function does not paint the actor if the actor is set to 0,
unless it is performing a pick paint.
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.
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.
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
#ClutterActor:show-on-set-parent will be set to %TRUE as a side
effect.
Calls clutter_actor_show() on all children of an actor (if any).
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 #ClutterActorClass.unmap() will also unmap any
eventual children by default when their parent is unmapped.
When overriding #ClutterActorClass.unmap(), it is mandatory to
chain up to the parent implementation.
<note>It is important to note that the implementation of the
#ClutterActorClass.unmap() virtual function may be called after
the #ClutterActorClass.destroy() or the #GObjectClass.dispose()
implementation, but it is guaranteed to be called before the
#GObjectClass.finalize() implementation.</note>
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.
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
clutter_actor_remove_action() or clutter_actor_clear_actions()
is called
a #ClutterActor
a #ClutterAction
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:
|[
clutter_actor_meta_set_name (CLUTTER_ACTOR_META (action), name);
clutter_actor_add_action (self, action);
]|
a #ClutterActor
the name to set on the action
a #ClutterAction
Adds @child to the children of @self.
This function will acquire a reference on @child that will only
be released when calling clutter_actor_remove_child().
This function will take into consideration the #ClutterActor:depth
of @child, and will keep the list of children sorted.
This function will emit the #ClutterContainer::actor-added signal
on @self.
a #ClutterActor
a #ClutterActor
Adds @constraint to the list of #ClutterConstraint<!-- -->s applied
to @self
The #ClutterActor will hold a reference on the @constraint until
either clutter_actor_remove_constraint() or
clutter_actor_clear_constraints() is called.
a #ClutterActor
a #ClutterConstraint
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:
|[
clutter_actor_meta_set_name (CLUTTER_ACTOR_META (constraint), name);
clutter_actor_add_constraint (self, constraint);
]|
a #ClutterActor
the name to set on the constraint
a #ClutterConstraint
Adds @effect to the list of #ClutterEffect<!-- -->s applied to @self
The #ClutterActor will hold a reference on the @effect until either
clutter_actor_remove_effect() or clutter_actor_clear_effects() is
called.
a #ClutterActor
a #ClutterEffect
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:
|[
clutter_actor_meta_set_name (CLUTTER_ACTOR_META (effect), name);
clutter_actor_add_effect (self, effect);
]|
a #ClutterActor
the name to set on the effect
a #ClutterEffect
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.
a #ClutterActor
the name of the transition to add
the #ClutterTransition to add
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 #ClutterActorClass.allocate() virtual function.
This function will adjust the stored allocation to take into account
the alignment flags set in the #ClutterActor:x-align and
#ClutterActor:y-align properties, as well as the margin values set in
the #ClutterActor:margin-top, #ClutterActor:margin-right,
#ClutterActor:margin-bottom, and #ClutterActor: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.
A #ClutterActor
new allocation of the actor, in parent-relative coordinates
flags that control the allocation
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 #ClutterActor: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 #ClutterActor:x-align
and #ClutterActor:y-align properties, instead, and just call
clutter_actor_allocate() inside their #ClutterActorClass.allocate()
implementation.
a #ClutterActor
a #ClutterActorBox, containing the available width and height
the horizontal alignment, between 0 and 1
the vertical alignment, between 0 and 1
whether the actor should fill horizontally
whether the actor should fill vertically
allocation flags to be passed to clutter_actor_allocate()
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:
|[
if (request_mode == CLUTTER_REQUEST_HEIGHT_FOR_WIDTH)
{
clutter_actor_get_preferred_width (self, available_height,
&min_width,
&natural_width);
width = CLAMP (natural_width, min_width, available_width);
clutter_actor_get_preferred_height (self, width,
&min_height,
&natural_height);
height = CLAMP (natural_height, min_height, available_height);
}
else
{
clutter_actor_get_preferred_height (self, available_width,
&min_height,
&natural_height);
height = CLAMP (natural_height, min_height, available_height);
clutter_actor_get_preferred_width (self, height,
&min_width,
&natural_width);
width = CLAMP (natural_width, min_width, available_width);
}
box.x1 = x; box.y1 = y;
box.x2 = box.x1 + available_width;
box.y2 = box.y1 + available_height;
clutter_actor_allocate (self, &box, flags);
]|
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.
a #ClutterActor
the actor's X coordinate
the actor's Y coordinate
the maximum available width, or -1 to use the actor's natural width
the maximum available height, or -1 to use the actor's natural height
flags controlling the allocation
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 ClutterActor::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.
a #ClutterActor
flags controlling the allocation
Animates the given list of properties of @actor between the current
value for each property and a new final value. The animation has a
definite duration and a speed given by the @mode.
For example, this:
|[
clutter_actor_animate (rectangle, CLUTTER_LINEAR, 250,
"width", 100.0,
"height", 100.0,
NULL);
]|
will make width and height properties of the #ClutterActor "rectangle"
grow linearly between the current value and 100 pixels, in 250 milliseconds.
The animation @mode is a logical id, either from the #ClutterAnimationMode
enumeration of from clutter_alpha_register_func().
All the properties specified will be animated between the current value
and the final value. If a property should be set at the beginning of
the animation but not updated during the animation, it should be prefixed
by the "fixed::" string, for instance:
|[
clutter_actor_animate (actor, CLUTTER_EASE_IN_SINE, 100,
"rotation-angle-z", 360.0,
"fixed::rotation-center-z", &center,
NULL);
]|
Will animate the "rotation-angle-z" property between the current value
and 360 degrees, and set the "rotation-center-z" property to the fixed
value of the #ClutterVertex "center".
This function will implicitly create a #ClutterAnimation object which
will be assigned to the @actor and will be returned to the developer
to control the animation or to know when the animation has been
completed.
If a name argument starts with "signal::", "signal-after::",
"signal-swapped::" or "signal-swapped-after::" the two following arguments
are used as callback function and data for a signal handler installed on
the #ClutterAnimation object for the specified signal name, for instance:
|[
static void
on_animation_completed (ClutterAnimation *animation,
ClutterActor *actor)
{
clutter_actor_hide (actor);
}
clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100,
"opacity", 0,
"signal::completed", on_animation_completed, actor,
NULL);
]|
or, to automatically destroy an actor at the end of the animation:
|[
clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 100,
"opacity", 0,
"signal-swapped-after::completed",
clutter_actor_destroy,
actor,
NULL);
]|
The "signal::" modifier is the equivalent of using g_signal_connect();
the "signal-after::" modifier is the equivalent of using
g_signal_connect_after() or g_signal_connect_data() with the
%G_CONNECT_AFTER; the "signal-swapped::" modifier is the equivalent
of using g_signal_connect_swapped() or g_signal_connect_data() with the
%G_CONNECT_SWAPPED flah; finally, the "signal-swapped-after::" modifier
is the equivalent of using g_signal_connect_data() with both the
%G_CONNECT_AFTER and %G_CONNECT_SWAPPED flags. The clutter_actor_animate()
function will not keep track of multiple connections to the same signal,
so it is your responsability to avoid them when calling
clutter_actor_animate() multiple times on the same actor.
Calling this function on an actor that is already being animated
will cause the current animation to change with the new final values,
the new easing mode and the new duration - that is, this code:
|[
clutter_actor_animate (actor, CLUTTER_LINEAR, 250,
"width", 100.0,
"height", 100.0,
NULL);
clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
"x", 100.0,
"y", 100.0,
"width", 200.0,
NULL);
]|
is the equivalent of:
|[
clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 500,
"x", 100.0,
"y", 100.0,
"width", 200.0,
"height", 100.0,
NULL);
]|
<note>Unless the animation is looping, the #ClutterAnimation created by
clutter_actor_animate() will become invalid as soon as it is
complete.</note>
Since the created #ClutterAnimation instance attached to @actor
is guaranteed to be valid throughout the #ClutterAnimation::completed
signal emission chain, you will not be able to create a new animation
using clutter_actor_animate() on the same @actor from within the
#ClutterAnimation::completed signal handler unless you use
g_signal_connect_after() to connect the callback function, for instance:
|[
static void
on_animation_completed (ClutterAnimation *animation,
ClutterActor *actor)
{
clutter_actor_animate (actor, CLUTTER_EASE_OUT_CUBIC, 250,
"x", 500.0,
"y", 500.0,
NULL);
}
...
animation = clutter_actor_animate (actor, CLUTTER_EASE_IN_CUBIC, 250,
"x", 100.0,
"y", 100.0,
NULL);
g_signal_connect (animation, "completed",
G_CALLBACK (on_animation_completed),
actor);
...
]|
a #ClutterAnimation object. The object is owned by the #ClutterActor and should not be unreferenced with g_object_unref()
a #ClutterActor
an animation mode logical id
duration of the animation, in milliseconds
the name of a property
Animates the given list of properties of @actor between the current
value for each property and a new final value. The animation has a
definite behaviour given by the passed @alpha.
See clutter_actor_animate() for further details.
This function is useful if you want to use an existing #ClutterAlpha
to animate @actor.
a #ClutterAnimation object. The object is owned by the #ClutterActor and should not be unreferenced with g_object_unref()
a #ClutterActor
a #ClutterAlpha
the name of a property
Animates the given list of properties of @actor between the current
value for each property and a new final value. The animation has a
definite behaviour given by the passed @alpha.
See clutter_actor_animate() for further details.
This function is useful if you want to use an existing #ClutterAlpha
to animate @actor.
This is the vector-based variant of clutter_actor_animate_with_alpha(),
useful for language bindings.
<warning>Unlike clutter_actor_animate_with_alpha(), this function will
not allow you to specify "signal::" names and callbacks.</warning>
a #ClutterAnimation object. The object is owned by the #ClutterActor and should not be unreferenced with g_object_unref()
a #ClutterActor
a #ClutterAlpha
number of property names and values
a vector containing the property names to set
a vector containing the property values to set
Animates the given list of properties of @actor between the current
value for each property and a new final value. The animation has a
definite duration given by @timeline and a speed given by the @mode.
See clutter_actor_animate() for further details.
This function is useful if you want to use an existing timeline
to animate @actor.
a #ClutterAnimation object. The object is owned by the #ClutterActor and should not be unreferenced with g_object_unref()
a #ClutterActor
an animation mode logical id
a #ClutterTimeline
the name of a property
Animates the given list of properties of @actor between the current
value for each property and a new final value. The animation has a
definite duration given by @timeline and a speed given by the @mode.
See clutter_actor_animate() for further details.
This function is useful if you want to use an existing timeline
to animate @actor.
This is the vector-based variant of clutter_actor_animate_with_timeline(),
useful for language bindings.
<warning>Unlike clutter_actor_animate_with_timeline(), this function
will not allow you to specify "signal::" names and callbacks.</warning>
a #ClutterAnimation object. The object is owned by the #ClutterActor and should not be unreferenced with g_object_unref()
a #ClutterActor
an animation mode logical id
a #ClutterTimeline
number of property names and values
a vector containing the property names to set
a vector containing the property values to set
Animates the given list of properties of @actor between the current
value for each property and a new final value. The animation has a
definite duration and a speed given by the @mode.
This is the vector-based variant of clutter_actor_animate(), useful
for language bindings.
<warning>Unlike clutter_actor_animate(), this function will not
allow you to specify "signal::" names and callbacks.</warning>
a #ClutterAnimation object. The object is owned by the #ClutterActor and should not be unreferenced with g_object_unref()
a #ClutterActor
an animation mode logical id
duration of the animation, in milliseconds
number of property names and values
a vector containing the property names to set
a vector containing the property values to set
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().
A #ClutterActor
A #ClutterActor ancestor, or %NULL to use the default #ClutterStage
A point as #ClutterVertex
The translated #ClutterVertex
Transforms @point in coordinates relative to the actor
into screen-relative coordinates with the current actor
transformation (i.e. scale, rotation, etc)
A #ClutterActor
A point as #ClutterVertex
The translated #ClutterVertex
Clears the list of actions applied to @self
a #ClutterActor
Clears the list of constraints applied to @self
a #ClutterActor
Clears the list of effects applied to @self
a #ClutterActor
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.
whether @descendent is contained within @self
A #ClutterActor
A #ClutterActor, possibly contained in @self
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.
A #ClutterActor
Creates a #PangoContext for the given actor. The #PangoContext
is already configured using the appropriate font map, resolution
and font options.
See also clutter_actor_get_pango_context().
the newly created #PangoContext. Use g_object_unref() on the returned value to deallocate its resources
a #ClutterActor
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.
the newly created #PangoLayout. Use g_object_unref() when done
a #ClutterActor
the text to set on the #PangoLayout, or %NULL
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.
Note: you cannot destroy the #ClutterStage returned by
clutter_stage_get_default().
a #ClutterActor
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
#ClutterActor::destroy signal is emitted on each child of the
actor.
By default, #ClutterActor will emit the #ClutterActor::destroy signal
when its reference count drops to 0; the default handler of the
#ClutterActor::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 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 clutter_actor_remove_all_children() and want to reuse
the actors, you should use 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.
a #ClutterActor
Detaches the #ClutterAnimation used by @actor, if clutter_actor_animate()
has been called on @actor.
Once the animation has been detached, it loses a reference. If it was
the only reference then the #ClutterAnimation becomes invalid.
The #ClutterAnimation::completed signal will not be emitted.
a #ClutterActor
This function is used to emit an event on the main stage.
You should rarely need to use this function, except for
synthetising events.
the return value from the signal emission: %TRUE if the actor handled the event, or %FALSE if the event was not handled
a #ClutterActor
a #ClutterEvent
%TRUE if event in in capture phase, %FALSE otherwise.
Calculates the transformed screen coordinates of the four corners of
the actor; the returned vertices relate to the #ClutterActorBox
coordinates as follows:
<itemizedlist>
<listitem><para>v[0] contains (x1, y1)</para></listitem>
<listitem><para>v[1] contains (x2, y1)</para></listitem>
<listitem><para>v[2] contains (x1, y2)</para></listitem>
<listitem><para>v[3] contains (x2, y2)</para></listitem>
</itemizedlist>
A #ClutterActor
Pointer to a location of an array of 4 #ClutterVertex where to store the result.
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 <ulink
url="http://developer.gnome.org/doc/API/2.0/atk/index.html">ATK</ulink>
library contains more information about accessible objects and
their uses.
the #AtkObject associated with @actor
a #ClutterActor
Retrieves the #ClutterAction with the given name in the list
of actions applied to @self
a #ClutterAction for the given name, or %NULL. The returned #ClutterAction is owned by the actor and it should not be unreferenced directly
a #ClutterActor
the name of the action to retrieve
Retrieves the list of actions applied to @self
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
a #ClutterActor
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 anchor point;
those transformations do not affect layout, only rendering.
<note>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.</note>
A #ClutterActor
the function fills this in with the actor's allocation
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 anchor point;
those transformations do not affect layout, only rendering.
The returned rectangle is in pixels.
A #ClutterActor
allocation geometry in pixels
Calculates the transformed coordinates of the four corners of the
actor in the plane of @ancestor. The returned vertices relate to
the #ClutterActorBox coordinates as follows:
<itemizedlist>
<listitem><para>@verts[0] contains (x1, y1)</para></listitem>
<listitem><para>@verts[1] contains (x2, y1)</para></listitem>
<listitem><para>@verts[2] contains (x1, y2)</para></listitem>
<listitem><para>@verts[3] contains (x2, y2)</para></listitem>
</itemizedlist>
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_get_abs_allocation_vertices().
A #ClutterActor
A #ClutterActor to calculate the vertices against, or %NULL to use the #ClutterStage
return location for an array of 4 #ClutterVertex in which to store the result
Gets the current anchor point of the @actor in pixels.
a #ClutterActor
return location for the X coordinate of the anchor point
return location for the Y coordinate of the anchor point
Retrieves the anchor position expressed as a #ClutterGravity. If
the anchor point was specified using pixels or units this will
return %CLUTTER_GRAVITY_NONE.
the #ClutterGravity used by the anchor point
a #ClutterActor
Retrieves the #ClutterAnimation used by @actor, if clutter_actor_animate()
has been called on @actor.
a #ClutterAnimation, or %NULL
a #ClutterActor
Retrieves the color set using clutter_actor_set_background_color().
a #ClutterActor
return location for a #ClutterColor
Retrieves the actor at the given @index_ inside the list of
children of @self.
a pointer to a #ClutterActor, or %NULL
a #ClutterActor
the position in the list of children
Retrieves the child transformation matrix set using
clutter_actor_set_child_transform(); if none is currently set,
the @transform matrix will be initialized to the identity matrix.
a #ClutterActor
a #ClutterMatrix
Retrieves the list of children of @self.
A newly allocated #GList of #ClutterActor<!-- -->s. Use g_list_free() when done.
a #ClutterActor
Gets the clip area for @self, if any is set.
a #ClutterActor
return location for the X offset of the clip rectangle, or %NULL
return location for the Y offset of the clip rectangle, or %NULL
return location for the width of the clip rectangle, or %NULL
return location for the height of the clip rectangle, or %NULL
Retrieves the value set using clutter_actor_set_clip_to_allocation()
%TRUE if the #ClutterActor is clipped to its allocation
a #ClutterActor
Retrieves the #ClutterConstraint with the given name in the list
of constraints applied to @self
a #ClutterConstraint for the given name, or %NULL. The returned #ClutterConstraint is owned by the actor and it should not be unreferenced directly
a #ClutterActor
the name of the constraint to retrieve
Retrieves the list of constraints applied to @self
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
a #ClutterActor
Retrieves the contents of @self.
a pointer to the #ClutterContent instance, or %NULL if none was set
a #ClutterActor
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
#ClutterActor:content-gravity property.
a #ClutterActor
the return location for the bounding box for the #ClutterContent
Retrieves the content gravity as set using
clutter_actor_set_content_gravity().
the content gravity
a #ClutterActor
Retrieves the repeat policy for a #ClutterActor set by
clutter_actor_set_content_repeat().
the content repeat policy
a #ClutterActor
Retrieves the values set using clutter_actor_set_content_scaling_filters().
a #ClutterActor
return location for the minification filter, or %NULL
return location for the magnification filter, or %NULL
Retrieves the default paint volume for @self.
This function provides the same #ClutterPaintVolume that would be
computed by the default implementation inside #ClutterActor of the
#ClutterActorClass.get_paint_volume() virtual function.
This function should only be used by #ClutterActor subclasses that
cannot chain up to the parent implementation when computing their
paint volume.
a pointer to the default #ClutterPaintVolume, relative to the #ClutterActor, or %NULL if the actor could not compute a valid paint volume. The returned value is not guaranteed to be stable across multiple frames, so if you want to retain it, you will need to copy it using clutter_paint_volume_copy().
a #ClutterActor
Retrieves the depth of @self.
the depth of the actor
a #ClutterActor
Retrieves the delay that should be applied when tweening animatable
properties.
a delay, in milliseconds
a #ClutterActor
Retrieves the duration of the tweening for animatable
properties of @self for the current easing state.
the duration of the tweening, in milliseconds
a #ClutterActor
Retrieves the easing mode for the tweening of animatable properties
of @self for the current easing state.
an easing mode
a #ClutterActor
Retrieves the #ClutterEffect with the given name in the list
of effects applied to @self
a #ClutterEffect for the given name, or %NULL. The returned #ClutterEffect is owned by the actor and it should not be unreferenced directly
a #ClutterActor
the name of the effect to retrieve
Retrieves the #ClutterEffect<!-- -->s applied on @self, if any
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
a #ClutterActor
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.
a pointer to a #ClutterActor, or %NULL
a #ClutterActor
Checks whether an actor has a fixed position set (and will thus be
unaffected by any layout manager).
%TRUE if the fixed position is set on the actor
A #ClutterActor
Retrieves the flags set on @self
a bitwise or of #ClutterActorFlags or 0
a #ClutterActor
Gets the size and position of an actor relative to its parent
actor. This is the same as calling clutter_actor_get_position() and
clutter_actor_get_size(). It tries to "do what you mean" and get the
requested size and position if the actor's allocation is invalid.
A #ClutterActor
A location to store actors #ClutterGeometry
Retrieves the unique id for @self.
Globally unique value for this object instance.
A #ClutterActor
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 clutter_actor_get_allocation_box() to retrieve the
allocated size or 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 clutter_actor_set_height(), the height returned will
be the same value.
the height of the actor, in pixels
A #ClutterActor
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.
a pointer to a #ClutterActor, or %NULL
a #ClutterActor
Retrieves the #ClutterLayoutManager used by @self.
a pointer to the #ClutterLayoutManager, or %NULL
a #ClutterActor
Retrieves all the components of the margin of a #ClutterActor.
a #ClutterActor
return location for a #ClutterMargin
Retrieves the bottom margin of a #ClutterActor.
the bottom margin
a #ClutterActor
Retrieves the left margin of a #ClutterActor.
the left margin
a #ClutterActor
Retrieves the right margin of a #ClutterActor.
the right margin
a #ClutterActor
Retrieves the top margin of a #ClutterActor.
the top margin
a #ClutterActor
Retrieves the number of children of @self.
the number of children of an actor
a #ClutterActor
Retrieves the name of @self.
the name of the actor, or %NULL. The returned string is owned by the actor and should not be modified or freed.
A #ClutterActor
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.
a pointer to a #ClutterActor, or %NULL
a #ClutterActor
Retrieves whether to redirect the actor to an offscreen buffer, as
set by clutter_actor_set_offscreen_redirect().
the value of the offscreen-redirect property of the actor
a #ClutterActor
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().
the opacity of the actor
a #ClutterActor
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.
%TRUE if a 2D paint box could be determined, else %FALSE.
a #ClutterActor
return location for a #ClutterActorBox
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.
The actor opacity value.
A #ClutterActor
Retrieves the 'paint' visibility of an actor recursively checking for non
visible parents.
This is by definition the same as %CLUTTER_ACTOR_IS_MAPPED.
%TRUE if the actor is visibile and will be painted.
A #ClutterActor
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 <function>get_paint_volume()</function>
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 #ClutterActor:depth but real
3D depth).
<note>2D actors overriding <function>get_paint_volume()</function>
ensure their volume has a depth of 0. (This will be true so long as
you don't call clutter_paint_volume_set_depth().)</note>
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 clutter_paint_volume_copy().
a #ClutterActor
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 cogl_pango_render_layout() to reuse the
glyphs cache also used by Clutter.
the #PangoContext for a #ClutterActor. The returned #PangoContext is owned by the actor and should not be unreferenced by the application code
a #ClutterActor
Retrieves the parent of @self.
The #ClutterActor parent, or %NULL if no parent is set
A #ClutterActor
Retrieves the coordinates of the #ClutterActor:pivot-point.
a #ClutterActor
return location for the normalized X coordinate of the pivot point, or %NULL
return location for the normalized Y coordinate of the pivot point, or %NULL
Retrieves the Z component of the #ClutterActor:pivot-point.
a #ClutterActor
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.
a #ClutterActor
return location for the X coordinate, or %NULL
return location for the Y coordinate, or %NULL
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 anchor point;
those transformations do not affect layout, only rendering.
A #ClutterActor
available width to assume in computing desired height, or a negative value to indicate that no width is defined
return location for minimum height, or %NULL
return location for natural height, or %NULL
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 use clutter_actor_get_preferred_width()
and clutter_actor_get_preferred_height(), and check the actor's preferred
geometry management using the #ClutterActor:request-mode property.
a #ClutterActor
return location for the minimum width, or %NULL
return location for the minimum height, or %NULL
return location for the natural width, or %NULL
return location for the natural height, or %NULL
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 scale or anchor point;
those transformations do not affect layout, only rendering.
A #ClutterActor
available height when computing the preferred width, or a negative value to indicate that no height is defined
return location for minimum width, or %NULL
return location for the natural width, or %NULL
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.
a pointer to a #ClutterActor, or %NULL
a #ClutterActor
Checks whether @actor is marked as reactive.
%TRUE if the actor is reactive
a #ClutterActor
Retrieves the geometry request mode of @self
the request mode for the actor
a #ClutterActor
Retrieves the angle and center of rotation on the given axis,
set using clutter_actor_set_rotation().
the angle of rotation
a #ClutterActor
the axis of rotation
return value for the X coordinate of the center of rotation
return value for the Y coordinate of the center of rotation
return value for the Z coordinate of the center of rotation
Retrieves the angle of rotation set by clutter_actor_set_rotation_angle().
the angle of rotation, in degrees
a #ClutterActor
the axis of the rotation
Retrieves an actors scale factors.
A #ClutterActor
Location to store horizonal scale factor, or %NULL.
Location to store vertical scale factor, or %NULL.
Retrieves the scale center coordinate in pixels relative to the top
left corner of the actor. If the scale center was specified using a
#ClutterGravity this will calculate the pixel offset using the
current size of the actor.
A #ClutterActor
Location to store the X position of the scale center, or %NULL.
Location to store the Y position of the scale center, or %NULL.
Retrieves the scale center as a compass direction. If the scale
center was specified in pixels or units this will return
%CLUTTER_GRAVITY_NONE.
the scale gravity
A #ClutterActor
Retrieves the scaling factor along the Z axis, as set using
clutter_actor_set_scale_z().
the scaling factor along the Z axis
A #ClutterActor
Queries the currently set #ClutterShader on @self.
The currently set #ClutterShader or %NULL if no shader is set.
a #ClutterActor
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
clutter_actor_get_allocation_box() or
clutter_actor_get_preferred_width().
A #ClutterActor
return location for the width, or %NULL.
return location for the height, or %NULL.
Retrieves the #ClutterStage where @actor is contained.
the stage containing the actor, or %NULL
a #ClutterActor
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
the #ClutterTextDirection for the actor
a #ClutterActor
Retrieves the current transformation matrix of a #ClutterActor.
a #ClutterActor
a #ClutterMatrix
Retrieves the transformations applied to @self relative to its
parent.
a #ClutterActor
the return location for a #ClutterMatrix
Retrieves the 3D paint volume of an actor like
clutter_actor_get_paint_volume() does (Please refer to the
documentation of clutter_actor_get_paint_volume() for more
details.) 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 clutter_paint_volume_union().
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 wish to keep it, you will have to copy it using clutter_paint_volume_copy().
a #ClutterActor
A #ClutterActor that is an ancestor of @self (or %NULL for the stage)
Gets the absolute position of an actor, in pixels relative to the stage.
A #ClutterActor
return location for the X coordinate, or %NULL
return location for the Y coordinate, or %NULL
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
clutter_actor_get_abs_allocation_vertices() instead.
<note>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 clutter_actor_get_transformed_position(); if you need this
information, you need to use clutter_actor_get_abs_allocation_vertices()
to get the coords of the actual quadrangle.</note>
A #ClutterActor
return location for the width, or %NULL
return location for the height, or %NULL
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:
|[
clutter_actor_set_easing_duration (actor, 1000);
clutter_actor_set_rotation (actor, CLUTTER_Y_AXIS, 360.0, x, y, z);
transition = clutter_actor_get_transition (actor, "rotation-angle-y");
g_signal_connect (transition, "stopped",
G_CALLBACK (on_transition_stopped),
actor);
]|
will call the <function>on_transition_stopped</function> callback when
the transition is finished.
If you just want to get notifications of the completion of a transition,
you should use the #ClutterActor::transition-stopped signal, using the
transition name as the signal detail.
a #ClutterTransition, or %NULL is none was found to match the passed name; the returned instance is owned by Clutter and it should not be freed
a #ClutterActor
the name of the transition
Retrieves the translation set using clutter_actor_set_translation().
a #ClutterActor
return location for the X component of the translation, or %NULL
return location for the Y component of the translation, or %NULL
return location for the Z component of the translation, or %NULL
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 clutter_actor_get_allocation_box() to retrieve the
allocated size or 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 clutter_actor_set_width(), the width returned will
be the same value.
the width of the actor, in pixels
A #ClutterActor
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 clutter_actor_set_x(),
clutter_actor_set_position() or clutter_actor_set_geometry(), this
function will return that coordinate.
If both the allocation and a fixed position are missing, this function
will return 0.
the X coordinate, in pixels, ignoring any transformation (i.e. scaling, rotation)
A #ClutterActor
Retrieves the horizontal alignment policy set using
clutter_actor_set_x_align().
the horizontal alignment policy.
a #ClutterActor
Retrieves the value set with clutter_actor_set_x_expand().
See also: clutter_actor_needs_expand()
%TRUE if the actor has been set to expand
a #ClutterActor
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 clutter_actor_set_y(),
clutter_actor_set_position() or clutter_actor_set_geometry(), this
function will return that coordinate.
If both the allocation and a fixed position are missing, this function
will return 0.
the Y coordinate, in pixels, ignoring any transformation (i.e. scaling, rotation)
A #ClutterActor
Retrieves the vertical alignment policy set using
clutter_actor_set_y_align().
the vertical alignment policy.
a #ClutterActor
Retrieves the value set with clutter_actor_set_y_expand().
See also: clutter_actor_needs_expand()
%TRUE if the actor has been set to expand
a #ClutterActor
Retrieves the actor's position on the Z axis.
the position on the Z axis.
a #ClutterActor
Retrieves the center for the rotation around the Z axis as a
compass direction. If the center was specified in pixels or units
this will return %CLUTTER_GRAVITY_NONE.
the Z rotation center
A #ClutterActor
Sets the key focus of the #ClutterStage including @self
to this #ClutterActor.
a #ClutterActor
Returns whether the actor has any actions applied.
%TRUE if the actor has any actions, %FALSE otherwise
A #ClutterActor
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.
%TRUE if the actor has an up-to-date allocation
a #ClutterActor
Determines whether the actor has a clip area set or not.
%TRUE if the actor has a clip area set.
a #ClutterActor
Returns whether the actor has any constraints applied.
%TRUE if the actor has any constraints, %FALSE otherwise
A #ClutterActor
Returns whether the actor has any effects applied.
%TRUE if the actor has any effects, %FALSE otherwise
A #ClutterActor
Checks whether @self is the #ClutterActor that has key focus
%TRUE if the actor has key focus, and %FALSE otherwise
a #ClutterActor
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
#ClutterActor <function>has_overlaps</function> virtual function. See
clutter_actor_set_offscreen_redirect() for more information.
%TRUE if the actor may have overlapping primitives, and %FALSE otherwise
A #ClutterActor
Checks whether an actor contains the pointer of a
#ClutterInputDevice
%TRUE if the actor contains the pointer, and %FALSE otherwise
a #ClutterActor
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
#ClutterActor:show-on-set-parent property will be set to %FALSE
as a side-effect.
A #ClutterActor
Calls clutter_actor_hide() on all child actors (if any).
a #ClutterActor
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 clutter_actor_remove_child().
This function will not take into consideration the #ClutterActor:depth
of @child.
This function will emit the #ClutterContainer::actor-added signal
on @self.
a #ClutterActor
a #ClutterActor
a child of @self, or %NULL
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 clutter_actor_remove_child().
This function will not take into consideration the #ClutterActor:depth
of @child.
This function will emit the #ClutterContainer::actor-added signal
on @self.
a #ClutterActor
a #ClutterActor
the index
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 clutter_actor_remove_child().
This function will not take into consideration the #ClutterActor:depth
of @child.
This function will emit the #ClutterContainer::actor-added signal
on @self.
a #ClutterActor
a #ClutterActor
a child of @self, or %NULL
Checks whether @self is being currently painted by a #ClutterClone
This function is useful only inside the ::paint virtual function
implementations or within handlers for the #ClutterActor::paint
signal
This function should not be used by applications
%TRUE if the #ClutterActor is currently being painted by a #ClutterClone, and %FALSE otherwise
a #ClutterActor
Checks whether any rotation is applied to the actor.
%TRUE if the actor is rotated.
a #ClutterActor
Checks whether the actor is scaled in either dimension.
%TRUE if the actor is scaled.
a #ClutterActor
Puts @self below @above.
Both actors must have the same parent, and the parent must implement
the #ClutterContainer interface.
This function calls clutter_container_lower_child() internally.
A #ClutterActor
A #ClutterActor to lower below
Lowers @self to the bottom.
This function calls clutter_actor_lower() internally.
A #ClutterActor
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 disencouraged: the default
implementation of #ClutterActorClass.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.
A #ClutterActor
Sets an anchor point for the actor, and adjusts the actor postion so that
the relative position of the actor toward its parent remains the same.
a #ClutterActor
X coordinate of the anchor point
Y coordinate of the anchor point
Sets an anchor point on the actor based on the given gravity, adjusting the
actor postion so that its relative position within its parent remains
unchanged.
Since version 1.0 the anchor point will be stored as a gravity so
that if the actor changes size then the anchor point will move. For
example, if you set the anchor point to %CLUTTER_GRAVITY_SOUTH_EAST
and later double the size of the actor, the anchor point will move
to the bottom right.
a #ClutterActor
#ClutterGravity.
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
anchor point, see clutter_actor_set_anchor_point(), or with an additional
translation, using clutter_actor_set_translation().
A #ClutterActor
Distance to move Actor on X axis.
Distance to move Actor on Y axis.
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 clutter_actor_get_x_expand() or clutter_actor_get_y_expand().
%TRUE if the actor should expand
a #ClutterActor
the direction of expansion
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 emit the #ClutterActor::paint signal or
the #ClutterActor::pick signal, depending on the context.
This function does not paint the actor if the actor is set to 0,
unless it is performing a pick paint.
A #ClutterActor
Disables the effects of clutter_actor_push_internal().
a #ClutterActor
Should be used by actors implementing the #ClutterContainer and with
internal children added through clutter_actor_set_parent(), for instance:
|[
static void
my_actor_init (MyActor *self)
{
self->priv = SELF_ACTOR_GET_PRIVATE (self);
clutter_actor_push_internal (CLUTTER_ACTOR (self));
/* calling clutter_actor_set_parent() now will result in
* the internal flag being set on a child of MyActor
*/
/* internal child - a background texture */
self->priv->background_tex = clutter_texture_new ();
clutter_actor_set_parent (self->priv->background_tex,
CLUTTER_ACTOR (self));
/* internal child - a label */
self->priv->label = clutter_text_new ();
clutter_actor_set_parent (self->priv->label,
CLUTTER_ACTOR (self));
clutter_actor_pop_internal (CLUTTER_ACTOR (self));
/* calling clutter_actor_set_parent() now will not result in
* the internal flag being set on a child of MyActor
*/
}
]|
This function will be used by Clutter to toggle an "internal child"
flag whenever clutter_actor_set_parent() is called; internal children
are handled differently by Clutter, specifically when destroying their
parent.
Call clutter_actor_pop_internal() when you finished adding internal
children.
Nested calls to clutter_actor_push_internal() are allowed, but each
one must by followed by a clutter_actor_pop_internal() call.
a #ClutterActor
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.
A #ClutterActor
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().
a #ClutterActor
a rectangular clip region, or %NULL
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.
A #ClutterActor
Puts @self above @below.
Both actors must have the same parent, and the parent must implement
the #ClutterContainer interface
This function calls clutter_container_raise_child() internally.
A #ClutterActor
A #ClutterActor to raise above.
Raises @self to the top.
This function calls clutter_actor_raise() internally.
A #ClutterActor
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.
A #ClutterActor
Removes @action from the list of actions applied to @self
The reference held by @self on the #ClutterAction will be released
a #ClutterActor
a #ClutterAction
Removes the #ClutterAction with the given name from the list
of actions applied to @self
a #ClutterActor
the name of the action to remove
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().
a #ClutterActor
Removes all transitions associated to @self.
a #ClutterActor
Removes @child from the children of @self.
This function will release the reference added by
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 #ClutterContainer::actor-removed
signal on @self.
a #ClutterActor
a #ClutterActor
Removes clip area from @self.
A #ClutterActor
Removes @constraint from the list of constraints applied to @self
The reference held by @self on the #ClutterConstraint will be released
a #ClutterActor
a #ClutterConstraint
Removes the #ClutterConstraint with the given name from the list
of constraints applied to @self
a #ClutterActor
the name of the constraint to remove
Removes @effect from the list of effects applied to @self
The reference held by @self on the #ClutterEffect will be released
a #ClutterActor
a #ClutterEffect
Removes the #ClutterEffect with the given name from the list
of effects applied to @self
a #ClutterActor
the name of the effect to remove
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.
a #ClutterActor
the name of the transition to remove
Resets the parent actor of @self.
This function is logically equivalent to calling clutter_actor_unparent()
and clutter_actor_set_parent(), but more efficiently implemented, as it
ensures the child is not finalized when unparented, and emits the
#ClutterActor::parent-set signal only once.
In reality, calling this function is less useful than it sounds, as some
application code may rely on changes in the intermediate state between
removal and addition of the actor from its old parent to the @new_parent.
Thus, it is strongly encouraged to avoid using this function in application
code.
a #ClutterActor
the new #ClutterActor parent
Replaces @old_child with @new_child in the list of children of @self.
a #ClutterActor
the child of @self to replace
the #ClutterActor to replace @old_child
Restores the easing state as it was prior to a call to
clutter_actor_save_easing_state().
a #ClutterActor
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.
a #ClutterActor
Stores the allocation of @self as defined by @box.
This function can only be called from within the implementation of
the #ClutterActorClass.allocate() virtual function.
The allocation should have been adjusted to take into account constraints,
alignment, and margin properties. If you are implementing a #ClutterActor
subclass that provides its own layout management policy for its children
instead of using a #ClutterLayoutManager delegate, you should not call
this function on the children of @self; instead, you should call
clutter_actor_allocate(), which will adjust the allocation box for
you.
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
#ClutterActorClass.allocate() virtual function will call this
function.
It is important to note that, while chaining up was the recommended
behaviour for #ClutterActor subclasses prior to the introduction of
this function, it is recommended to call clutter_actor_set_allocation()
instead.
If the #ClutterActor is using a #ClutterLayoutManager delegate object
to handle the allocation of its children, this function will call
the clutter_layout_manager_allocate() function only if the
%CLUTTER_DELEGATE_LAYOUT flag is set on @flags, otherwise it is
expected that the subclass will call clutter_layout_manager_allocate()
by itself. For instance, the following code:
|[
static void
my_actor_allocate (ClutterActor *actor,
const ClutterActorBox *allocation,
ClutterAllocationFlags flags)
{
ClutterActorBox new_alloc;
ClutterAllocationFlags new_flags;
adjust_allocation (allocation, &new_alloc);
new_flags = flags | CLUTTER_DELEGATE_LAYOUT;
/* this will use the layout manager set on the actor */
clutter_actor_set_allocation (actor, &new_alloc, new_flags);
}
]|
is equivalent to this:
|[
static void
my_actor_allocate (ClutterActor *actor,
const ClutterActorBox *allocation,
ClutterAllocationFlags flags)
{
ClutterLayoutManager *layout;
ClutterActorBox new_alloc;
adjust_allocation (allocation, &new_alloc);
clutter_actor_set_allocation (actor, &new_alloc, flags);
layout = clutter_actor_get_layout_manager (actor);
clutter_layout_manager_allocate (layout,
CLUTTER_CONTAINER (actor),
&new_alloc,
flags);
}
]|
a #ClutterActor
a #ClutterActorBox
allocation flags
Sets an anchor point for @self. The anchor point is a point in the
coordinate space of an actor to which the actor position within its
parent is relative; the default is (0, 0), i.e. the top-left corner
of the actor.
a #ClutterActor
X coordinate of the anchor point
Y coordinate of the anchor point
Sets an anchor point on the actor, based on the given gravity (this is a
convenience function wrapping clutter_actor_set_anchor_point()).
Since version 1.0 the anchor point will be stored as a gravity so
that if the actor changes size then the anchor point will move. For
example, if you set the anchor point to %CLUTTER_GRAVITY_SOUTH_EAST
and later double the size of the actor, the anchor point will move
to the bottom right.
a #ClutterActor
#ClutterGravity.
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
#ClutterActor:background-color-set actor property.
The #ClutterActor:background-color property is animatable.
a #ClutterActor
a #ClutterColor, or %NULL to unset a previously set color
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.
a #ClutterActor
a #ClutterActor child of @self
a #ClutterActor child of @self, or %NULL
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.
a #ClutterActor
a #ClutterActor child of @self
the new index for @child
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.
a #ClutterActor
a #ClutterActor child of @self
a #ClutterActor child of @self, or %NULL
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 #ClutterActor:child-transform property is animatable.
a #ClutterActor
a #ClutterMatrix, or %NULL
Sets clip area for @self. The clip area is always computed from the
upper left corner of the actor, even if the anchor point is set
otherwise.
A #ClutterActor
X offset of the clip rectangle
Y offset of the clip rectangle
Width of the clip rectangle
Height of the clip rectangle
Sets whether @self should be clipped to the same size as its
allocation
a #ClutterActor
%TRUE to apply a clip tracking the allocation
Sets the contents of a #ClutterActor.
a #ClutterActor
a #ClutterContent, or %NULL
Sets the gravity of the #ClutterContent used by @self.
See the description of the #ClutterActor:content-gravity property for
more information.
The #ClutterActor:content-gravity property is animatable.
a #ClutterActor
the #ClutterContentGravity
Sets the policy for repeating the #ClutterActor:content of a
#ClutterActor. The behaviour is deferred to the #ClutterContent
implementation.
a #ClutterActor
the repeat policy
Sets the minification and magnification filter to be applied when
scaling the #ClutterActor:content of a #ClutterActor.
The #ClutterActor:minification-filter will be used when reducing
the size of the content; the #ClutterActor:magnification-filter
will be used when increasing the size of the content.
a #ClutterActor
the minification filter for the content
the magnification filter for the content
Sets the Z coordinate of @self to @depth.
The unit used by @depth is dependant on the perspective setup. See
also clutter_stage_set_perspective().
a #ClutterActor
Z co-ord
Sets the delay that should be applied before tweening animatable
properties.
a #ClutterActor
the delay before the start of the tweening, in milliseconds
Sets the duration of the tweening for animatable properties
of @self for the current easing state.
a #ClutterActor
the duration of the easing, or %NULL
Sets the easing mode for the tweening of animatable properties
of @self.
a #ClutterActor
an easing mode, excluding %CLUTTER_CUSTOM_MODE
Sets whether an actor has a fixed position set (and will thus be
unaffected by any layout manager).
A #ClutterActor
whether to use fixed position
Sets @flags on @self
This function will emit notifications for the changed properties
a #ClutterActor
the flags to set
Sets the actor's fixed position and forces its minimum and natural
size, in pixels. This means the untransformed actor will have the
given geometry. This is the same as calling clutter_actor_set_position()
and clutter_actor_set_size().
A #ClutterActor
A #ClutterGeometry
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.
A #ClutterActor
Requested new height for the actor, in pixels, or -1
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.
a #ClutterActor
a #ClutterLayoutManager, or %NULL to unset it
Sets all the components of the margin of a #ClutterActor.
a #ClutterActor
a #ClutterMargin
Sets the margin from the bottom of a #ClutterActor.
The #ClutterActor:margin-bottom property is animatable.
a #ClutterActor
the bottom margin
Sets the margin from the left of a #ClutterActor.
The #ClutterActor:margin-left property is animatable.
a #ClutterActor
the left margin
Sets the margin from the right of a #ClutterActor.
The #ClutterActor:margin-right property is animatable.
a #ClutterActor
the right margin
Sets the margin from the top of a #ClutterActor.
The #ClutterActor:margin-top property is animatable.
a #ClutterActor
the top margin
Sets the given name to @self. The name can be used to identify
a #ClutterActor.
A #ClutterActor
Textual tag to apply to actor
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.
<figure id="offscreen-redirect">
<title>Sample of using an offscreen redirect for transparency</title>
<graphic fileref="offscreen-redirect.png" format="PNG"/>
</figure>
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.
A #ClutterActor
New offscreen redirect flags for the actor.
Sets the actor's opacity, with zero being completely transparent and
255 (0xff) being fully opaque.
The #ClutterActor:opacity property is animatable.
A #ClutterActor
New opacity value for the actor.
Sets the parent of @self to @parent.
This function will result in @parent acquiring a reference on @self,
eventually by sinking its floating reference first. The reference
will be released by clutter_actor_unparent().
This function should only be called by legacy #ClutterActor<!-- -->s
implementing the #ClutterContainer interface.
A #ClutterActor
A new #ClutterActor parent
Sets the position of the #ClutterActor: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.
a #ClutterActor
the normalized X coordinate of the pivot point
the normalized Y coordinate of the pivot point
Sets the component on the Z axis of the #ClutterActor:pivot-point around
which the scaling and rotation transformations occur.
The @pivot_z value is expressed as a distance along the Z axis.
a #ClutterActor
the Z coordinate of the actor's pivot point
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.
A #ClutterActor
New left position of actor in pixels.
New top position of actor in pixels.
Sets @actor as reactive. Reactive actors will receive events.
a #ClutterActor
whether the actor should be reactive to events
Sets the geometry request mode of @self.
The @mode determines the order for invoking
clutter_actor_get_preferred_width() and
clutter_actor_get_preferred_height()
a #ClutterActor
the request mode
Sets the rotation angle of @self around the given axis.
The rotation center coordinates used depend on the value of @axis:
<itemizedlist>
<listitem><para>%CLUTTER_X_AXIS requires @y and @z</para></listitem>
<listitem><para>%CLUTTER_Y_AXIS requires @x and @z</para></listitem>
<listitem><para>%CLUTTER_Z_AXIS requires @x and @y</para></listitem>
</itemizedlist>
The rotation coordinates are relative to the anchor point of the
actor, set using clutter_actor_set_anchor_point(). If no anchor
point is set, the upper left corner is assumed as the origin.
a #ClutterActor
the axis of rotation
the angle of rotation
X coordinate of the rotation center
Y coordinate of the rotation center
Z coordinate of the rotation center
Sets the @angle of rotation of a #ClutterActor on the given @axis.
This function is a convenience for setting the rotation properties
#ClutterActor:rotation-angle-x, #ClutterActor:rotation-angle-y,
and #ClutterActor:rotation-angle-z.
The center of rotation is established by the #ClutterActor:pivot-point
property.
a #ClutterActor
the axis to set the angle one
the angle of rotation, in degrees
Scales an actor with the given factors.
The scale transformation is relative the the #ClutterActor:pivot-point.
The #ClutterActor:scale-x and #ClutterActor:scale-y properties are
animatable.
A #ClutterActor
double factor to scale actor by horizontally.
double factor to scale actor by vertically.
Scales an actor with the given factors around the given center
point. The center point is specified in pixels relative to the
anchor point (usually the top left corner of the actor).
The #ClutterActor:scale-x and #ClutterActor:scale-y properties
are animatable.
A #ClutterActor
double factor to scale actor by horizontally.
double factor to scale actor by vertically.
X coordinate of the center of the scaling
Y coordinate of the center of the scaling
Scales an actor with the given factors around the given
center point. The center point is specified as one of the compass
directions in #ClutterGravity. For example, setting it to north
will cause the top of the actor to remain unchanged and the rest of
the actor to expand left, right and downwards.
The #ClutterActor:scale-x and #ClutterActor:scale-y properties are
animatable.
A #ClutterActor
double factor to scale actor by horizontally.
double factor to scale actor by vertically.
the location of the scale center expressed as a compass direction.
Scales an actor on the Z axis by the given @scale_z factor.
The scale transformation is relative the the #ClutterActor:pivot-point.
The #ClutterActor:scale-z property is animatable.
a #ClutterActor
the scaling factor along the Z axis
Sets the #ClutterShader to be used when rendering @self.
If @shader is %NULL this function will unset any currently set shader
for the actor.
<note>Any #ClutterEffect applied to @self will take the precedence
over the #ClutterShader set using this function.</note>
%TRUE if the shader was successfully applied or removed
a #ClutterActor
a #ClutterShader or %NULL to unset the shader.
Sets the value for a named parameter of the shader applied
to @actor.
a #ClutterActor
the name of the parameter
the value of the parameter
Sets the value for a named float parameter of the shader applied
to @actor.
a #ClutterActor
the name of the parameter
the value of the parameter
Sets the value for a named int parameter of the shader applied to
@actor.
a #ClutterActor
the name of the parameter
the value of the parameter
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.
A #ClutterActor
New width of actor in pixels, or -1
New height of actor in pixels, or -1
Sets the #ClutterTextDirection for an actor
The passed text direction must not be %CLUTTER_TEXT_DIRECTION_DEFAULT
If @self implements #ClutterContainer then this function will recurse
inside all the children of @self (including the internal ones).
Composite actors not implementing #ClutterContainer, or actors requiring
special handling when the text direction changes, should connect to
the #GObject::notify signal for the #ClutterActor:text-direction property
a #ClutterActor
the text direction for @self
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 #ClutterActor:transform property is animatable.
a #ClutterActor
a #ClutterMatrix, or %NULL to unset a custom transformation
Sets an additional translation transformation on a #ClutterActor,
relative to the #ClutterActor:pivot-point.
a #ClutterActor
the translation along the X axis
the translation along the Y axis
the translation along the Z axis
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.
A #ClutterActor
Requested new width for the actor, in pixels, or -1
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 #ClutterActor:x property is animatable.
a #ClutterActor
the actor's position on the X axis
Sets the horizontal alignment policy of a #ClutterActor, in case the
actor received extra horizontal space.
See also the #ClutterActor:x-align property.
a #ClutterActor
the horizontal alignment policy
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.
a #ClutterActor
whether the actor should expand horizontally
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 #ClutterActor:y property is animatable.
a #ClutterActor
the actor's position on the Y axis
Sets the vertical alignment policy of a #ClutterActor, in case the
actor received extra vertical space.
See also the #ClutterActor:y-align property.
a #ClutterActor
the vertical alignment policy
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.
a #ClutterActor
whether the actor should expand vertically
Sets the actor's position on the Z axis.
See #ClutterActor:z-position.
a #ClutterActor
the position on the Z axis
Sets the rotation angle of @self around the Z axis using the center
point specified as a compass point. For example to rotate such that
the center of the actor remains static you can use
%CLUTTER_GRAVITY_CENTER. If the actor changes size the center point
will move accordingly.
a #ClutterActor
the angle of rotation
the center point of the rotation
Should be called inside the implementation of the
#ClutterActor::pick virtual function in order to check whether
the actor should paint itself in pick mode or not.
This function should never be called directly by applications.
%TRUE if the actor should paint its silhouette, %FALSE otherwise
A #ClutterActor
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
#ClutterActor:show-on-set-parent will be set to %TRUE as a side
effect.
A #ClutterActor
Calls clutter_actor_show() on all children of an actor (if any).
a #ClutterActor
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.
<note><para>This function can be computationally intensive.</para></note>
<note><para>This function only works when the allocation is up-to-date,
i.e. inside of paint().</para></note>
%TRUE if conversion was successful.
A #ClutterActor
x screen coordinate of the point to unproject
y screen coordinate of the point to unproject
return location for the unprojected x coordinance
return location for the unprojected y coordinance
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 #ClutterActorClass.unmap() will also unmap any
eventual children by default when their parent is unmapped.
When overriding #ClutterActorClass.unmap(), it is mandatory to
chain up to the parent implementation.
<note>It is important to note that the implementation of the
#ClutterActorClass.unmap() virtual function may be called after
the #ClutterActorClass.destroy() or the #GObjectClass.dispose()
implementation, but it is guaranteed to be called before the
#GObjectClass.finalize() implementation.</note>
A #ClutterActor
Removes the parent of @self.
This will cause the parent of @self to release the reference
acquired when calling clutter_actor_set_parent(), so if you
want to keep @self you will have to acquire a reference of
your own, through g_object_ref().
This function should only be called by legacy #ClutterActor<!-- -->s
implementing the #ClutterContainer interface.
a #ClutterActor
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.
A #ClutterActor
Unsets @flags on @self
This function will emit notifications for the changed properties
a #ClutterActor
the flags to unset
Adds a #ClutterAction to the actor
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
The anchor point expressed as a #ClutterGravity
<warning>It is highly recommended not to use #ClutterActor:anchor-x,
#ClutterActor:anchor-y, and #ClutterActor:anchor-gravity in newly
written code; the anchor point adds an additional translation that
will affect the actor's relative position with regards to its
parent, as well as the position of its children. This change needs
to always be taken into account when positioning the actor. It is
recommended to use the #ClutterActor:pivot-point property instead,
as it will affect only the transformations.</warning>
The X coordinate of an actor's anchor point, relative to
the actor coordinate space, in pixels.
<warning>It is highly recommended not to use #ClutterActor:anchor-x,
#ClutterActor:anchor-y, and #ClutterActor:anchor-gravity in newly
written code; the anchor point adds an additional translation that
will affect the actor's relative position with regards to its
parent, as well as the position of its children. This change needs
to always be taken into account when positioning the actor. It is
recommended to use the #ClutterActor:pivot-point property instead,
as it will affect only the transformations.</warning>
The Y coordinate of an actor's anchor point, relative to
the actor coordinate space, in pixels
<warning>It is highly recommended not to use #ClutterActor:anchor-x,
#ClutterActor:anchor-y, and #ClutterActor:anchor-gravity in newly
written code; the anchor point adds an additional translation that
will affect the actor's relative position with regards to its
parent, as well as the position of its children. This change needs
to always be taken into account when positioning the actor. It is
recommended to use the #ClutterActor:pivot-point property instead,
as it will affect only the transformations.</warning>
Paints a solid fill of the actor's allocation using the specified
color.
The #ClutterActor:background-color property is animatable.
Whether the #ClutterActor:background-color property has been set.
Applies a transformation matrix on each child of an actor.
Setting this property with a #ClutterMatrix will set the
#ClutterActor:child-transform-set property to %TRUE as a side effect;
setting this property with %NULL will set the
#ClutterActor:child-transform-set property to %FALSE.
The #ClutterActor:child-transform property is animatable.
Whether the #ClutterActor:child-transform property is set.
The visible region of the actor, in actor-relative coordinates
The visible region of the actor, in actor-relative coordinates,
expressed as a #ClutterRect.
Setting this property to %NULL will unset the existing clip.
Setting this property will change the #ClutterActor:has-clip
property as a side effect.
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().
Adds a #ClutterConstraint to the actor
The #ClutterContent implementation that controls the content
of the actor.
The bounding box for the #ClutterContent used by the actor.
The value of this property is controlled by the #ClutterActor:allocation
and #ClutterActor:content-gravity properties of #ClutterActor.
The bounding box for the content is guaranteed to never exceed the
allocation's of the actor.
The alignment that should be honoured by the #ClutterContent
set with the #ClutterActor:content property.
Changing the value of this property will change the bounding box of
the content; you can use the #ClutterActor: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 #ClutterActor:content-gravity property is animatable.
The repeat policy for the actor's #ClutterActor:content.
The position of the actor on the Z axis.
The #ClutterActor:depth property is relative to the parent's
modelview matrix.
Setting this property will call #ClutterContainerIface.sort_depth_order()
which is usually a no-op, and it's most likely not what you want.
The #ClutterActor:depth property is animatable.
Adds #ClutterEffect to the list of effects be applied on a #ClutterActor
The actor's first child.
This flag controls whether the #ClutterActor:fixed-x and
#ClutterActor:fixed-y properties are used
The fixed X position of the actor in pixels.
Writing this property sets #ClutterActor:fixed-position-set
property as well, as a side effect
The fixed Y position of the actor in pixels.
Writing this property sets the #ClutterActor:fixed-position-set
property as well, as a side effect
Whether the actor has the #ClutterActor:clip property set or not
Whether the actor contains the pointer of a #ClutterInputDevice
or not.
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 #ClutterActor:height property is animatable.
The actor's last child.
A delegate object for controlling the layout of the children of
an actor.
Whether the actor is mapped (will be painted when the stage
to which it belongs is mapped)
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 #ClutterActor:margin-bottom property is animatable.
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 #ClutterActor:margin-left property is animatable.
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 #ClutterActor:margin-right property is animatable.
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 #ClutterActor:margin-top property is animatable.
A forced minimum height request for the actor, in pixels
Writing this property sets the #ClutterActor:min-height-set property
as well, as a side effect. This property overrides the usual height
request of the actor.
This flag controls whether the #ClutterActor:min-height property
is used
A forced minimum width request for the actor, in pixels
Writing this property sets the #ClutterActor:min-width-set property
as well, as a side effect.
This property overrides the usual width request of the actor.
This flag controls whether the #ClutterActor:min-width property
is used
The name of the actor
A forced natural height request for the actor, in pixels
Writing this property sets the #ClutterActor:natural-height-set
property as well, as a side effect. This property overrides the
usual height request of the actor
This flag controls whether the #ClutterActor:natural-height property
is used
A forced natural width request for the actor, in pixels
Writing this property sets the #ClutterActor:natural-width-set
property as well, as a side effect. This property overrides the
usual width request of the actor
This flag controls whether the #ClutterActor:natural-width property
is used
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.
Opacity of an actor, between 0 (fully transparent) and
255 (fully opaque)
The #ClutterActor:opacity property is animatable.
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 #ClutterActor:pivot-point property is animatable.
The Z component of the #ClutterActor:pivot-point, expressed as a value
along the Z axis.
The #ClutterActor:pivot-point-z property is animatable.
The position of the origin of the actor.
This property is a shorthand for setting and getting the
#ClutterActor:x and #ClutterActor:y properties at the same
time.
The #ClutterActor:position property is animatable.
Whether the actor is reactive to events or not
Only reactive actors will emit event-related signals
Whether the actor has been realized
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:
|[
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,
&min_width,
&natural_width);
clutter_actor_get_preferred_height (child, natural_width,
&min_height,
&natural_height);
}
else
{
clutter_actor_get_preferred_height (child, -1,
&min_height,
&natural_height);
clutter_actor_get_preferred_width (child, natural_height,
&min_width,
&natural_width);
}
]|
will retrieve the minimum and natural width and height depending on the
preferred request mode of the #ClutterActor "child".
The clutter_actor_get_preferred_size() function will implement this
check for you.
The rotation angle on the X axis.
The #ClutterActor:rotation-angle-x property is animatable.
The rotation angle on the Y axis
The #ClutterActor:rotation-angle-y property is animatable.
The rotation angle on the Z axis
The #ClutterActor:rotation-angle-z property is animatable.
The rotation center on the X axis.
The rotation center on the Y axis.
The rotation center on the Z axis.
The rotation center on the Z axis expressed as a #ClutterGravity.
The horizontal center point for scaling
The vertical center point for scaling
The center point for scaling expressed as a #ClutterGravity
The horizontal scale of the actor.
The #ClutterActor:scale-x property is animatable.
The vertical scale of the actor.
The #ClutterActor:scale-y property is animatable.
The scale factor of the actor along the Z axis.
The #ClutterActor:scale-y property is animatable.
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.
The size of the actor.
This property is a shorthand for setting and getting the
#ClutterActor:width and #ClutterActor:height at the same time.
The #ClutterActor:size property is animatable.
The direction of the text inside a #ClutterActor.
Overrides the transformations of a #ClutterActor with a custom
matrix.
The matrix specified by the #ClutterActor:transform property is
applied to the actor and its children relative to the actor's
#ClutterActor:allocation and #ClutterActor:pivot-point.
Application code should rarely need to use this function directly.
Setting this property with a #ClutterMatrix will set the
#ClutterActor:transform-set property to %TRUE as a side effect;
setting this property with %NULL will set the
#ClutterActor:transform-set property to %FALSE.
The #ClutterActor:transform property is animatable.
Whether the #ClutterActor:transform property is set.
An additional translation applied along the X axis, relative
to the actor's #ClutterActor:pivot-point.
The #ClutterActor:translation-x property is animatable.
An additional translation applied along the Y axis, relative
to the actor's #ClutterActor:pivot-point.
The #ClutterActor:translation-y property is animatable.
An additional translation applied along the Z axis, relative
to the actor's #ClutterActor:pivot-point.
The #ClutterActor:translation-z property is animatable.
Whether the actor is set to be visible or not
See also #ClutterActor:mapped
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 #ClutterActor:width property is animatable.
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 #ClutterActor:x property is animatable.
The alignment of an actor on the X axis, if the actor has been given
extra space for its allocation. See also the #ClutterActor:x-expand
property.
Whether a layout manager should assign more space to the actor on
the X axis.
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 #ClutterActor:y property is animatable.
The alignment of an actor on the Y axis, if the actor has been given
extra space for its allocation.
Whether a layout manager should assign more space to the actor on
the Y axis.
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 #ClutterActor:z-position does not affect the paint or allocation
order.
The #ClutterActor:z-position property is animatable.
The ::allocation-changed signal is emitted when the
#ClutterActor:allocation property changes. Usually, application
code should just use the notifications for the :allocation property
but if you want to track the allocation flags as well, for instance
to know whether the absolute origin of @actor changed, then you might
want use this signal instead.
a #ClutterActorBox with the new allocation
#ClutterAllocationFlags for the allocation
The ::button-press-event signal is emitted each time a mouse button
is pressed on @actor.
%TRUE if the event has been handled by the actor, or %FALSE to continue the emission.
a #ClutterButtonEvent
The ::button-release-event signal is emitted each time a mouse button
is released on @actor.
%TRUE if the event has been handled by the actor, or %FALSE to continue the emission.
a #ClutterButtonEvent
The ::captured-event signal is emitted when an event is captured
by Clutter. This signal will be emitted starting from the top-level
container (the #ClutterStage) 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
ClutterActor::button-press-event or ::key-released-event) are
emitted.
%TRUE if the event has been handled by the actor, or %FALSE to continue the emission.
a #ClutterEvent
The ::destroy signal notifies that all references held on the
actor which emitted it should be released.
The ::destroy 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 and actors implementing the #ClutterContainer
interface 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.
The ::enter-event signal is emitted when the pointer enters the @actor
%TRUE if the event has been handled by the actor, or %FALSE to continue the emission.
a #ClutterCrossingEvent
The ::event 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).
%TRUE if the event has been handled by the actor, or %FALSE to continue the emission.
a #ClutterEvent
The ::hide signal is emitted when an actor is no longer rendered
on the stage.
The ::key-focus-in signal is emitted when @actor receives key focus.
The ::key-focus-out signal is emitted when @actor loses key focus.
The ::key-press-event signal is emitted each time a keyboard button
is pressed while @actor has key focus (see clutter_stage_set_key_focus()).
%TRUE if the event has been handled by the actor, or %FALSE to continue the emission.
a #ClutterKeyEvent
The ::key-release-event signal is emitted each time a keyboard button
is released while @actor has key focus (see
clutter_stage_set_key_focus()).
%TRUE if the event has been handled by the actor, or %FALSE to continue the emission.
a #ClutterKeyEvent
The ::leave-event signal is emitted when the pointer leaves the @actor.
%TRUE if the event has been handled by the actor, or %FALSE to continue the emission.
a #ClutterCrossingEvent
The ::motion-event signal is emitted each time the mouse pointer is
moved over @actor.
%TRUE if the event has been handled by the actor, or %FALSE to continue the emission.
a #ClutterMotionEvent
The ::paint signal is emitted each time an actor is being painted.
Subclasses of #ClutterActor should override the #ClutterActorClass.paint
virtual function paint themselves in that function.
<warning>It is strongly discouraged to connect a signal handler to
the #ClutterActor::paint signal; if you want to change the paint
sequence of an existing #ClutterActor instance, either create a new
#ClutterActor class and override the #ClutterActorClass.paint virtual
function, or use a #ClutterEffect. The #ClutterActor::paint signal
will be removed in a future version of Clutter.</warning>
This signal is emitted when the parent of the actor changes.
the previous parent of the actor, or %NULL
The ::pick 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 clutter_stage_get_actor_at_pos().
The actor should paint its shape using the passed @pick_color.
Subclasses of #ClutterActor should override the class signal handler
and paint themselves in that function.
It is possible to connect a handler to the ::pick signal in order
to set up some custom aspect of a paint in pick mode.
the #ClutterColor to be used when picking
The ::queue_redraw signal is emitted when clutter_actor_queue_redraw()
is called on @origin.
The default implementation for #ClutterActor chains up to the
parent actor and queues a redraw on the parent, thus "bubbling"
the redraw queue up through the actor graph. The default
implementation for #ClutterStage queues a clutter_stage_ensure_redraw()
in a main loop idle handler.
Note that the @origin actor may be the stage, or a container; it
does not have to be a leaf node in the actor graph.
Toolkits embedding a #ClutterStage which require a redraw and
relayout cycle can stop the emission of this signal using the
GSignal API, redraw the UI and then call clutter_stage_ensure_redraw()
themselves, like:
|[
static void
on_redraw_complete (gpointer data)
{
ClutterStage *stage = data;
/* execute the Clutter drawing pipeline */
clutter_stage_ensure_redraw (stage);
}
static void
on_stage_queue_redraw (ClutterStage *stage)
{
/* this prevents the default handler to run */
g_signal_stop_emission_by_name (stage, "queue-redraw");
/* queue a redraw with the host toolkit and call
* a function when the redraw has been completed
*/
queue_a_redraw (G_CALLBACK (on_redraw_complete), stage);
}
]|
<note><para>This signal is emitted before the Clutter paint
pipeline is executed. If you want to know when the pipeline has
been completed you should connect to the ::paint signal on the
Stage with g_signal_connect_after().</para></note>
the actor which initiated the redraw request
The ::queue_layout 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.
The ::realize signal is emitted each time an actor is being
realized.
The ::scroll-event signal is emitted each time the mouse is
scrolled on @actor
%TRUE if the event has been handled by the actor, or %FALSE to continue the emission.
a #ClutterScrollEvent
The ::show signal is emitted when an actor is visible and
rendered on the stage.
The ::touch-event signal is emitted each time a touch
begin/end/update/cancel event.
The ::transition-stopped 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 clutter_timeline_stop(), or it has been removed from the
transitions applied on @actor, using clutter_actor_remove_transition().
the name of the transition
whether the transition was finished, or stopped
The ::transitions-completed signal is emitted once all transitions
involving @actor are complete.
The ::unrealize signal is emitted each time an actor is being
unrealized.
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 #ClutterActor:x-expand
or the #ClutterActor:y-expand properties of #ClutterActor are set to %TRUE.
Stretch to cover the whole allocated space
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.
Center the actor inside the allocation
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.
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
Allocates a new #ClutterActorBox using the passed coordinates
for the top left and bottom right points.
This function is the logical equivalent of:
|[
clutter_actor_box_init (clutter_actor_box_alloc (),
x_1, y_1,
x_2, y_2);
]|
the newly allocated #ClutterActorBox. Use clutter_actor_box_free() to free the resources
X coordinate of the top left point
Y coordinate of the top left point
X coordinate of the bottom right point
Y coordinate of the bottom right point
Clamps the components of @box to the nearest integer
the #ClutterActorBox to clamp
Checks whether a point with @x, @y coordinates is contained
withing @box
%TRUE if the point is contained by the #ClutterActorBox
a #ClutterActorBox
X coordinate of the point
Y coordinate of the point
Copies @box
a newly allocated copy of #ClutterActorBox. Use clutter_actor_box_free() to free the allocated resources
a #ClutterActorBox
Checks @box_a and @box_b for equality
%TRUE if the passed #ClutterActorBox are equal
a #ClutterActorBox
a #ClutterActorBox
Frees a #ClutterActorBox allocated using clutter_actor_box_new()
or clutter_actor_box_copy()
a #ClutterActorBox
Calculates the bounding box represented by the four vertices; for details
of the vertex array see clutter_actor_get_abs_allocation_vertices().
a #ClutterActorBox
array of four #ClutterVertex
Retrieves the area of @box
the area of a #ClutterActorBox, in pixels
a #ClutterActorBox
Retrieves the height of the @box
the height of the box
a #ClutterActorBox
Retrieves the origin of @box
a #ClutterActorBox
return location for the X coordinate, or %NULL
return location for the Y coordinate, or %NULL
Retrieves the size of @box
a #ClutterActorBox
return location for the width, or %NULL
return location for the height, or %NULL
Retrieves the width of the @box
the width of the box
a #ClutterActorBox
Retrieves the X coordinate of the origin of @box
the X coordinate of the origin
a #ClutterActorBox
Retrieves the Y coordinate of the origin of @box
the Y coordinate of the origin
a #ClutterActorBox
Initializes @box with the given coordinates.
the initialized #ClutterActorBox
a #ClutterActorBox
X coordinate of the top left point
Y coordinate of the top left point
X coordinate of the bottom right point
Y coordinate of the bottom right point
Initializes @box with the given origin and size.
a #ClutterActorBox
X coordinate of the origin
Y coordinate of the origin
width of the box
height of the box
Interpolates between @initial and @final #ClutterActorBox<!-- -->es
using @progress
the initial #ClutterActorBox
the final #ClutterActorBox
the interpolation progress
return location for the interpolation
Changes the origin of @box, maintaining the size of the #ClutterActorBox.
a #ClutterActorBox
the X coordinate of the new origin
the Y coordinate of the new origin
Sets the size of @box, maintaining the origin of the #ClutterActorBox.
a #ClutterActorBox
the new width
the new height
Unions the two boxes @a and @b and stores the result in @result.
the first #ClutterActorBox
the second #ClutterActorBox
the #ClutterActorBox representing a union of @a and @b
Allocates a new #ClutterActorBox.
the newly allocated #ClutterActorBox. Use clutter_actor_box_free() to free its resources
Base class for actors.
available height when computing the preferred width, or a negative value to indicate that no height is defined
return location for minimum width, or %NULL
return location for the natural width, or %NULL
available width to assume in computing desired height, or a negative value to indicate that no width is defined
return location for minimum height, or %NULL
return location for natural height, or %NULL
new allocation of the actor, in parent-relative coordinates
flags that control the allocation
the #AtkObject associated with @actor
%TRUE if the actor may have overlapping primitives, and %FALSE otherwise
Flags used to signal the state of an actor.
the actor will be painted (is visible, and inside a toplevel, and all parents visible)
the resources associated to the actor have been allocated
the actor 'reacts' to mouse events emmitting event signals
the actor has been shown by the application program
the actor provides an explicit layout management policy for its children; this flag will prevent Clutter from automatic queueing of relayout and will defer all layouting to the actor itself
An iterator structure that allows to efficiently iterate over a
section of the scene graph.
The contents of the <structname>ClutterActorIter</structname> structure
are private and should only be accessed using the provided API.
Safely destroys the #ClutterActor currently pointer to by the iterator
from its parent.
This function can only be called after clutter_actor_iter_next() or
clutter_actor_iter_prev() returned %TRUE, and cannot be called more
than once for the same actor.
This function will call clutter_actor_destroy() internally.
a #ClutterActorIter
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.
|[
ClutterActorIter iter;
ClutterActor *child;
clutter_actor_iter_init (&iter, container);
while (clutter_actor_iter_next (&iter, &child))
{
/* do something with child */
}
]|
a #ClutterActorIter
a #ClutterActor
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.
%TRUE if the iterator is valid, and %FALSE otherwise
a #ClutterActorIter
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.
%TRUE if the iterator could advance, and %FALSE otherwise.
a #ClutterActorIter
return location for a #ClutterActor
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.
%TRUE if the iterator could advance, and %FALSE otherwise.
a #ClutterActorIter
return location for a #ClutterActor
Safely removes the #ClutterActor currently pointer to by the iterator
from its parent.
This function can only be called after clutter_actor_iter_next() or
clutter_actor_iter_prev() returned %TRUE, and cannot be called more
than once for the same actor.
This function will call clutter_actor_remove_child() internally.
a #ClutterActorIter
The <structname>ClutterActorMeta</structname> structure contains only
private data and should be accessed using the provided API
Virtual function, called when @meta is attached or detached
from a #ClutterActor.
the actor attached to @meta, or %NULL
Retrieves a pointer to the #ClutterActor that owns @meta
a pointer to a #ClutterActor or %NULL
a #ClutterActorMeta
Retrieves whether @meta is enabled
%TRUE if the #ClutterActorMeta instance is enabled
a #ClutterActorMeta
Retrieves the name set using clutter_actor_meta_set_name()
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
a #ClutterActorMeta
Sets whether @meta should be enabled or not
a #ClutterActorMeta
whether @meta is enabled
Sets the name of @meta
The name can be used to identify the #ClutterActorMeta instance
a #ClutterActorMeta
the name of @meta
The #ClutterActor attached to the #ClutterActorMeta instance
Whether or not the #ClutterActorMeta is enabled
The unique name to access the #ClutterActorMeta
The <structname>ClutterActorMetaClass</structname> structure contains
only private data
the actor attached to @meta, or %NULL
Specifies the axis on which #ClutterAlignConstraint should maintain
the alignment.
Maintain the alignment on the X axis
Maintain the alignment on the Y axis
Maintain the alignment on both the X and Y axis
<structname>ClutterAlignConstraint</structname> is an opaque structure
whose members cannot be directly accesses
Creates a new constraint, aligning a #ClutterActor's position with
regards of the size of the actor to @source, with the given
alignment @factor
the newly created #ClutterAlignConstraint
the #ClutterActor to use as the source of the alignment, or %NULL
the axis to be used to compute the alignment
the alignment factor, between 0.0 and 1.0
Retrieves the value set using clutter_align_constraint_set_align_axis()
the alignment axis
a #ClutterAlignConstraint
Retrieves the factor set using clutter_align_constraint_set_factor()
the alignment factor
a #ClutterAlignConstraint
Retrieves the source of the alignment
the #ClutterActor used as the source of the alignment
a #ClutterAlignConstraint
Sets the axis to which the alignment refers to
a #ClutterAlignConstraint
the axis to which the alignment refers to
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
a #ClutterAlignConstraint
the alignment factor, between 0.0 and 1.0
Sets the source of the alignment constraint
a #ClutterAlignConstraint
a #ClutterActor, or %NULL to unset the source
The axis to be used to compute the alignment
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.
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.
Flags passed to the #ClutterActorClass.allocate() virtual function
and to the clutter_actor_allocate() function.
No flag set
Whether the absolute origin of the actor has changed; this implies that any ancestor of the actor has been moved.
Whether the allocation should be delegated to the #ClutterLayoutManager instance stored inside the #ClutterActor:layout-manager property of #ClutterActor. This flag should only be used if you are subclassing #ClutterActor and overriding the #ClutterActorClass.allocate() virtual function, but you wish to use the default implementation of the virtual function inside #ClutterActor. Added in Clutter 1.10.
#ClutterAlpha combines a #ClutterTimeline and a function.
The contents of the #ClutterAlpha structure are private and should
only be accessed using the provided API.
Creates a new #ClutterAlpha instance. You must set a function
to compute the alpha value using clutter_alpha_set_func() and
bind a #ClutterTimeline object to the #ClutterAlpha instance
using clutter_alpha_set_timeline().
You should use the newly created #ClutterAlpha instance inside
a #ClutterBehaviour object.
the newly created empty #ClutterAlpha instance.
Creates a new #ClutterAlpha instance and sets the timeline
and animation mode.
See also clutter_alpha_set_timeline() and clutter_alpha_set_mode().
the newly created #ClutterAlpha
#ClutterTimeline timeline
animation mode
Creates a new #ClutterAlpha instances and sets the timeline
and the alpha function.
This function will not register @func as a global alpha function.
See also clutter_alpha_set_timeline() and clutter_alpha_set_func().
the newly created #ClutterAlpha
a #ClutterTimeline
a #ClutterAlphaFunc
data to pass to the function, or %NULL
function to call when removing the alpha function, or %NULL
#GClosure variant of clutter_alpha_register_func().
Registers a global alpha function and returns its logical id
to be used by clutter_alpha_set_mode() or by #ClutterAnimation.
The logical id is always greater than %CLUTTER_ANIMATION_LAST.
the logical id of the alpha function
a #GClosure
Registers a global alpha function and returns its logical id
to be used by clutter_alpha_set_mode() or by #ClutterAnimation.
The logical id is always greater than %CLUTTER_ANIMATION_LAST.
the logical id of the alpha function
a #ClutterAlphaFunc
user data to pass to @func, or %NULL
Query the current alpha value.
The current alpha value for the alpha
A #ClutterAlpha
Retrieves the #ClutterAnimationMode used by @alpha.
the animation mode
a #ClutterAlpha
Gets the #ClutterTimeline bound to @alpha.
a #ClutterTimeline instance
A #ClutterAlpha
Sets the #GClosure used to compute the alpha value at each
frame of the #ClutterTimeline bound to @alpha.
A #ClutterAlpha
A #GClosure
Sets the #ClutterAlphaFunc function used to compute
the alpha value at each frame of the #ClutterTimeline
bound to @alpha.
This function will not register @func as a global alpha function.
A #ClutterAlpha
A #ClutterAlphaFunc
user data to be passed to the alpha function, or %NULL
notify function used when disposing the alpha function
Sets the progress function of @alpha using the symbolic value
of @mode, as taken by the #ClutterAnimationMode enumeration or
using the value returned by clutter_alpha_register_func().
a #ClutterAlpha
a #ClutterAnimationMode
Binds @alpha to @timeline.
A #ClutterAlpha
A #ClutterTimeline
The alpha value as computed by the alpha function. The linear
interval is 0.0 to 1.0, but the Alpha allows overshooting by
one unit in each direction, so the valid interval is -1.0 to 2.0.
The progress function logical id - either a value from the
#ClutterAnimationMode enumeration or a value returned by
clutter_alpha_register_func().
If %CLUTTER_CUSTOM_MODE is used then the function set using
clutter_alpha_set_closure() or clutter_alpha_set_func()
will be used.
A #ClutterTimeline instance used to drive the alpha function.
Base class for #ClutterAlpha
A function returning a value depending on the position of
the #ClutterTimeline bound to @alpha.
a floating point value
a #ClutterAlpha
user data passed to the function
#ClutterAnimatable is an opaque structure whose members cannot be directly
accessed
Calls the animate_property() virtual function for @animatable.
The @initial_value and @final_value #GValue<!-- -->s must contain
the same type; @value must have been initialized to the same
type of @initial_value and @final_value.
All implementation of the #ClutterAnimatable interface must
implement this function.
%TRUE if the value has been validated and can be applied to the #ClutterAnimatable, and %FALSE otherwise
a #ClutterAnimation
the name of the animated property
the initial value of the animation interval
the final value of the animation interval
the progress factor
return location for the animation value
Finds the #GParamSpec for @property_name
The #GParamSpec for the given property or %NULL
the name of the animatable property to find
Retrieves the current state of @property_name and sets @value with it
the name of the animatable property to retrieve
a #GValue initialized to the type of the property to retrieve
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.
This function replaces clutter_animatable_animate_property().
%TRUE if the interpolation was successful, and %FALSE otherwise
the name of the property to interpolate
a #ClutterInterval with the animation range
the progress to use to interpolate between the initial and final values of the @interval
return location for an initialized #GValue using the same type of the @interval
Sets the current state of @property_name to @value
the name of the animatable property to set
the value of the animatable property to set
Calls the animate_property() virtual function for @animatable.
The @initial_value and @final_value #GValue<!-- -->s must contain
the same type; @value must have been initialized to the same
type of @initial_value and @final_value.
All implementation of the #ClutterAnimatable interface must
implement this function.
%TRUE if the value has been validated and can be applied to the #ClutterAnimatable, and %FALSE otherwise
a #ClutterAnimatable
a #ClutterAnimation
the name of the animated property
the initial value of the animation interval
the final value of the animation interval
the progress factor
return location for the animation value
Finds the #GParamSpec for @property_name
The #GParamSpec for the given property or %NULL
a #ClutterAnimatable
the name of the animatable property to find
Retrieves the current state of @property_name and sets @value with it
a #ClutterAnimatable
the name of the animatable property to retrieve
a #GValue initialized to the type of the property to retrieve
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.
This function replaces clutter_animatable_animate_property().
%TRUE if the interpolation was successful, and %FALSE otherwise
a #ClutterAnimatable
the name of the property to interpolate
a #ClutterInterval with the animation range
the progress to use to interpolate between the initial and final values of the @interval
return location for an initialized #GValue using the same type of the @interval
Sets the current state of @property_name to @value
a #ClutterAnimatable
the name of the animatable property to set
the value of the animatable property to set
Base interface for #GObject<!-- -->s that can be animated by a
a #ClutterAnimation.
%TRUE if the value has been validated and can be applied to the #ClutterAnimatable, and %FALSE otherwise
a #ClutterAnimation
the name of the animated property
the initial value of the animation interval
the final value of the animation interval
the progress factor
return location for the animation value
The #GParamSpec for the given property or %NULL
the name of the animatable property to find
the name of the animatable property to retrieve
a #GValue initialized to the type of the property to retrieve
the name of the animatable property to set
the value of the animatable property to set
%TRUE if the interpolation was successful, and %FALSE otherwise
the name of the property to interpolate
a #ClutterInterval with the animation range
the progress to use to interpolate between the initial and final values of the @interval
return location for an initialized #GValue using the same type of the @interval
The #ClutterAnimation structure contains only private data and should
be accessed using the provided functions.
Creates a new #ClutterAnimation instance. You should set the
#GObject to be animated using clutter_animation_set_object(),
set the duration with clutter_animation_set_duration() and the
easing mode using clutter_animation_set_mode().
Use clutter_animation_bind() or clutter_animation_bind_interval()
to define the properties to be animated. The interval and the
animated properties can be updated at runtime.
The clutter_actor_animate() and relative family of functions provide
an easy way to animate a #ClutterActor and automatically manage the
lifetime of a #ClutterAnimation instance, so you should consider using
those functions instead of manually creating an animation.
the newly created #ClutterAnimation. Use g_object_unref() to release the associated resources
Emits the ::completed signal on @animation
When using this function with a #ClutterAnimation created
by the clutter_actor_animate() family of functions, @animation
will be unreferenced and it will not be valid anymore,
unless g_object_ref() was called before calling this function
or unless a reference was taken inside a handler for the
#ClutterAnimation::completed signal
Adds a single property with name @property_name to the
animation @animation. For more information about animations,
see clutter_actor_animate().
This method returns the animation primarily to make chained
calls convenient in language bindings.
The animation itself.
a #ClutterAnimation
the property to control
The final value of the property
Binds @interval to the @property_name of the #GObject
attached to @animation. The #ClutterAnimation will take
ownership of the passed #ClutterInterval. For more information
about animations, see clutter_actor_animate().
If you need to update the interval instance use
clutter_animation_update_interval() instead.
The animation itself.
a #ClutterAnimation
the property to control
a #ClutterInterval
Emits the ::completed signal on @animation
When using this function with a #ClutterAnimation created
by the clutter_actor_animate() family of functions, @animation
will be unreferenced and it will not be valid anymore,
unless g_object_ref() was called before calling this function
or unless a reference was taken inside a handler for the
#ClutterAnimation::completed signal
a #ClutterAnimation
Retrieves the #ClutterAlpha used by @animation.
the alpha object used by the animation
a #ClutterAnimation
Retrieves the duration of @animation, in milliseconds.
the duration of the animation
a #ClutterAnimation
Retrieves the #ClutterInterval associated to @property_name
inside @animation.
a #ClutterInterval or %NULL if no property with the same name was found. The returned interval is owned by the #ClutterAnimation and should not be unreferenced
a #ClutterAnimation
name of the property
Retrieves whether @animation is looping.
%TRUE if the animation is looping
a #ClutterAnimation
Retrieves the animation mode of @animation, as set by
clutter_animation_set_mode().
the mode for the animation
a #ClutterAnimation
Retrieves the #GObject attached to @animation.
a #GObject
a #ClutterAnimation
Retrieves the #ClutterTimeline used by @animation
the timeline used by the animation
a #ClutterAnimation
Checks whether @animation is controlling @property_name.
%TRUE if the property is animated by the #ClutterAnimation, %FALSE otherwise
a #ClutterAnimation
name of the property
Sets @alpha as the #ClutterAlpha used by @animation.
If @alpha is not %NULL, the #ClutterAnimation will take ownership
of the #ClutterAlpha instance.
a #ClutterAnimation
a #ClutterAlpha, or %NULL to unset the current #ClutterAlpha
Sets the duration of @animation in milliseconds.
This function will set #ClutterAnimation:alpha and
#ClutterAnimation:timeline if needed.
a #ClutterAnimation
the duration in milliseconds
Sets whether @animation should loop over itself once finished.
A looping #ClutterAnimation will not emit the #ClutterAnimation::completed
signal when finished.
This function will set #ClutterAnimation:alpha and
#ClutterAnimation:timeline if needed.
a #ClutterAnimation
%TRUE if the animation should loop
Sets the animation @mode of @animation. The animation @mode is
a logical id, either coming from the #ClutterAnimationMode enumeration
or the return value of clutter_alpha_register_func().
This function will also set #ClutterAnimation:alpha if needed.
a #ClutterAnimation
an animation mode logical id
Attaches @animation to @object. The #ClutterAnimation will take a
reference on @object.
a #ClutterAnimation
a #GObject
Sets the #ClutterTimeline used by @animation.
This function will take a reference on the passed @timeline.
a #ClutterAnimation
a #ClutterTimeline, or %NULL to unset the current #ClutterTimeline
Removes @property_name from the list of animated properties.
a #ClutterAnimation
name of the property
Updates the @final value of the interval for @property_name
The animation itself.
a #ClutterAnimation
name of the property
The final value of the property
Changes the @interval for @property_name. The #ClutterAnimation
will take ownership of the passed #ClutterInterval.
a #ClutterAnimation
name of the property
a #ClutterInterval
The #ClutterAlpha used by the animation.
The duration of the animation, expressed in milliseconds.
Whether the animation should loop.
The animation mode, either a value from #ClutterAnimationMode
or a value returned by clutter_alpha_register_func(). The
default value is %CLUTTER_LINEAR.
The #GObject to which the animation applies.
The #ClutterTimeline used by the animation.
The ::completed signal is emitted once the animation has
been completed.
The @animation instance is guaranteed to be valid for the entire
duration of the signal emission chain.
The ::started signal is emitted once the animation has been
started
The #ClutterAnimationClass structure contains only private data and
should be accessed using the provided functions.
The animation modes used by #ClutterAlpha and #ClutterAnimation. This
enumeration can be expanded in later versions of Clutter.
<figure id="easing-modes">
<title>Easing modes provided by Clutter</title>
<graphic fileref="easing-modes.png" format="PNG"/>
</figure>
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.
custom progress function
linear tweening
quadratic tweening
quadratic tweening, inverse of %CLUTTER_EASE_IN_QUAD
quadratic tweening, combininig %CLUTTER_EASE_IN_QUAD and %CLUTTER_EASE_OUT_QUAD
cubic tweening
cubic tweening, invers of %CLUTTER_EASE_IN_CUBIC
cubic tweening, combining %CLUTTER_EASE_IN_CUBIC and %CLUTTER_EASE_OUT_CUBIC
quartic tweening
quartic tweening, inverse of %CLUTTER_EASE_IN_QUART
quartic tweening, combining %CLUTTER_EASE_IN_QUART and %CLUTTER_EASE_OUT_QUART
quintic tweening
quintic tweening, inverse of %CLUTTER_EASE_IN_QUINT
fifth power tweening, combining %CLUTTER_EASE_IN_QUINT and %CLUTTER_EASE_OUT_QUINT
sinusoidal tweening
sinusoidal tweening, inverse of %CLUTTER_EASE_IN_SINE
sine wave tweening, combining %CLUTTER_EASE_IN_SINE and %CLUTTER_EASE_OUT_SINE
exponential tweening
exponential tweening, inverse of %CLUTTER_EASE_IN_EXPO
exponential tweening, combining %CLUTTER_EASE_IN_EXPO and %CLUTTER_EASE_OUT_EXPO
circular tweening
circular tweening, inverse of %CLUTTER_EASE_IN_CIRC
circular tweening, combining %CLUTTER_EASE_IN_CIRC and %CLUTTER_EASE_OUT_CIRC
elastic tweening, with offshoot on start
elastic tweening, with offshoot on end
elastic tweening with offshoot on both ends
overshooting cubic tweening, with backtracking on start
overshooting cubic tweening, with backtracking on end
overshooting cubic tweening, with backtracking on both ends
exponentially decaying parabolic (bounce) tweening, with bounce on start
exponentially decaying parabolic (bounce) tweening, with bounce on end
exponentially decaying parabolic (bounce) tweening, with bounce on both ends
parametrized step function; see clutter_timeline_set_step_progress() for further details. (Since 1.12)
equivalent to %CLUTTER_STEPS with a number of steps equal to 1, and a step mode of %CLUTTER_STEP_MODE_START. (Since 1.12)
equivalent to %CLUTTER_STEPS with a number of steps equal to 1, and a step mode of %CLUTTER_STEP_MODE_END. (Since 1.12)
cubic bezier between (0, 0) and (1, 1) with two control points; see clutter_timeline_set_cubic_bezier_progress(). (Since 1.12)
equivalent to %CLUTTER_CUBIC_BEZIER with control points in (0.25, 0.1) and (0.25, 1.0). (Since 1.12)
equivalent to %CLUTTER_CUBIC_BEZIER with control points in (0.42, 0) and (1.0, 1.0). (Since 1.12)
equivalent to %CLUTTER_CUBIC_BEZIER with control points in (0, 0) and (0.58, 1.0). (Since 1.12)
equivalent to %CLUTTER_CUBIC_BEZIER with control points in (0.42, 0) and (0.58, 1.0). (Since 1.12)
last animation mode, used as a guard for registered global alpha functions
The #ClutterAnimator structure contains only private data and
should be accessed using the provided API
Creates a new #ClutterAnimator instance
a new #ClutterAnimator.
Compute the value for a managed property at a given progress.
If the property is an ease-in property, the current value of the property
on the object will be used as the starting point for computation.
%TRUE if the computation yields has a value, otherwise (when an error occurs or the progress is before any of the keys) %FALSE is returned and the #GValue is left untouched
a #ClutterAnimator
a #GObject
the name of the property on object to check
a value between 0.0 and 1.0
an initialized value to store the computed result
Retrieves the current duration of an animator
the duration of the animation, in milliseconds
a #ClutterAnimator
Returns a list of pointers to opaque structures with accessor functions
that describe the keys added to an animator.
a list of #ClutterAnimatorKey<!-- -->s; the contents of the list are owned by the #ClutterAnimator, but you should free the returned list when done, using g_list_free()
a #ClutterAnimator instance
a #GObject to search for, or %NULL for all objects
a specific property name to query for, or %NULL for all properties
a specific progress to search for, or a negative value for all progresses
Get the timeline hooked up for driving the #ClutterAnimator
the #ClutterTimeline that drives the animator
a #ClutterAnimator
Checks if a property value is to be eased into the animation.
%TRUE if the property is eased in
a #ClutterAnimatorKey
a #GObject
the name of a property on object
Get the interpolation used by animator for a property on a particular
object.
a ClutterInterpolation value.
a #ClutterAnimatorKey
a #GObject
the name of a property on object
Sets whether a property value is to be eased into the animation.
a #ClutterAnimatorKey
a #GObject
the name of a property on object
we are going to be easing in this property
Set the interpolation method to use, %CLUTTER_INTERPOLATION_LINEAR causes
the values to linearly change between the values, and
%CLUTTER_INTERPOLATION_CUBIC causes the values to smoothly change between
the values.
a #ClutterAnimatorKey
a #GObject
the name of a property on object
the #ClutterInterpolation to use
Removes all keys matching the conditions specificed in the arguments.
a #ClutterAnimator
a #GObject to search for, or %NULL for all
a specific property name to query for, or %NULL for all
a specific progress to search for or a negative value for all
Adds multiple keys to a #ClutterAnimator, specifying the value a given
property should have at a given progress of the animation. The mode
specified is the mode used when going to this key from the previous key of
the @property_name
If a given (object, property, progress) tuple already exist the mode and
value will be replaced with the new values.
a #ClutterAnimator
a #GObject
the property to specify a key for
the id of the alpha function to use
at which stage of the animation this value applies; the range is a normalized floating point value between 0 and 1
Runs the timeline of the #ClutterAnimator with a duration in msecs
as specified.
a #ClutterAnimator
milliseconds a run of the animator should last.
Sets a single key in the #ClutterAnimator for the @property_name of
@object at @progress.
See also: clutter_animator_set()
The animator instance
a #ClutterAnimator
a #GObject
the property to specify a key for
the id of the alpha function to use
the normalized range at which stage of the animation this value applies
the value property_name should have at progress.
Sets an external timeline that will be used for driving the animation
a #ClutterAnimator
a #ClutterTimeline
Start the ClutterAnimator, this is a thin wrapper that rewinds
and starts the animators current timeline.
the #ClutterTimeline that drives the animator. The returned timeline is owned by the #ClutterAnimator and it should not be unreferenced
a #ClutterAnimator
The duration of the #ClutterTimeline used by the #ClutterAnimator
to drive the animation
The #ClutterTimeline used by the #ClutterAnimator to drive the
animation
The #ClutterAnimatorClass structure contains only private data
A key frame inside a #ClutterAnimator
Retrieves the mode of a #ClutterAnimator key, for the first key of a
property for an object this represents the whether the animation is
open ended and or curved for the remainding keys for the property it
represents the easing mode.
the mode of a #ClutterAnimatorKey
a #ClutterAnimatorKey
Retrieves the object a key applies to.
the object an animator_key exist for.
a #ClutterAnimatorKey
Retrieves the progress of an clutter_animator_key
the progress defined for a #ClutterAnimator key.
a #ClutterAnimatorKey
Retrieves the name of the property a key applies to.
the name of the property an animator_key exist for.
a #ClutterAnimatorKey
Retrieves the #GType of the property a key applies to
You can use this type to initialize the #GValue to pass to
clutter_animator_key_get_value()
the #GType of the property
a #ClutterAnimatorKey
Retrieves a copy of the value for a #ClutterAnimatorKey.
The passed in #GValue needs to be already initialized for the value
type of the key or to a type that allow transformation from the value
type of the key.
Use g_value_unset() when done.
%TRUE if the passed #GValue was successfully set, and %FALSE otherwise
a #ClutterAnimatorKey
a #GValue initialized with the correct type for the animator key
Common members for a #ClutterEvent
The middle button of a pointer device.
The primary button of a pointer device.
This is typically the left mouse button in a right-handed
mouse configuration.
The secondary button of a pointer device.
This is typically the right mouse button in a right-handed
mouse configuration.
<structname>ClutterBackend</structname> is an opaque structure whose
members cannot be directly accessed.
Retrieves the distance used to verify a double click event
a distance, in pixels.
a #ClutterBackend
Gets the maximum time between two button press events, as set
by clutter_backend_set_double_click_time().
a time in milliseconds
a #ClutterBackend
Retrieves the default font name as set by
clutter_backend_set_font_name().
the font name for the backend. The returned string is owned by the #ClutterBackend and should never be modified or freed
a #ClutterBackend
Retrieves the font options for @backend.
the font options of the #ClutterBackend. The returned #cairo_font_options_t is owned by the backend and should not be modified or freed
a #ClutterBackend
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.
the current resolution, or -1 if no resolution has been set.
a #ClutterBackend
Sets the maximum distance used to verify a double click event.
a #ClutterBackend
a distance, in pixels
Sets the maximum time between two button press events, used to
verify whether it's a double click event or not.
a #ClutterBackend
milliseconds between two button press events
Sets the default font to be used by Clutter. The @font_name string
must either be %NULL, which means that the font name from the
default #ClutterBackend will be used; or be something that can
be parsed by the pango_font_description_from_string() function.
a #ClutterBackend
the name of the font
Sets the new font options for @backend. The #ClutterBackend will
copy the #cairo_font_options_t.
If @options is %NULL, the first following call to
clutter_backend_get_font_options() will return the default font
options for @backend.
This function is intended for actors creating a Pango layout
using the PangoCairo API.
a #ClutterBackend
Cairo font options for the backend, or %NULL
Sets the resolution for font handling on the screen. This is a
scale factor between points specified in a #PangoFontDescription
and cairo units. The default value is 96, meaning that a 10 point
font will be 13 units high. (10 * 96. / 72. = 13.3).
Applications should never need to call this function.
a #ClutterBackend
the resolution in "dots per inch" (Physical inches aren't actually involved; the terminology is conventional).
The ::font-changed signal is emitted each time the font options
have been changed through #ClutterSettings.
The ::resolution-changed signal is emitted each time the font
resolutions has been changed through #ClutterSettings.
The ::settings-changed signal is emitted each time the #ClutterSettings
properties have been changed.
#ClutterBehaviour-struct contains only private data and should
be accessed with the functions below.
Calls @func for every actor driven by @behave.
a #ClutterBehaviour
a function called for each actor
optional data to be passed to the function, or %NULL
Applies @behave to @actor. This function adds a reference on
the actor.
a #ClutterBehaviour
a #ClutterActor
Retrieves all the actors to which @behave applies. It is not recommended
for derived classes to use this in there alpha notify method but use
#clutter_behaviour_actors_foreach as it avoids alot of needless allocations.
a list of actors. You should free the returned list with g_slist_free() when finished using it.
a #ClutterBehaviour
Retrieves the #ClutterAlpha object bound to @behave.
a #ClutterAlpha object, or %NULL if no alpha object has been bound to this behaviour.
a #ClutterBehaviour
Gets the number of actors this behaviour is applied too.
The number of applied actors
a #ClutterBehaviour
Gets an actor the behaviour was applied to referenced by index num.
A Clutter actor or NULL if @index_ is invalid.
a #ClutterBehaviour
the index of an actor this behaviour is applied too.
Check if @behave applied to @actor.
TRUE if actor has behaviour. FALSE otherwise.
a #ClutterBehaviour
a #ClutterActor
Removes @actor from the list of #ClutterActor<!-- -->s to which
@behave applies. This function removes a reference on the actor.
a #ClutterBehaviour
a #ClutterActor
Removes every actor from the list that @behave holds.
a #ClutterBehaviour
Binds @alpha to a #ClutterBehaviour. The #ClutterAlpha object
is what makes a behaviour work: for each tick of the timeline
used by #ClutterAlpha a new value of the alpha parameter is
computed by the alpha function; the value should be used by
the #ClutterBehaviour to update one or more properties of the
actors to which the behaviour applies.
If @alpha is not %NULL, the #ClutterBehaviour will take ownership
of the #ClutterAlpha instance.
a #ClutterBehaviour
a #ClutterAlpha or %NULL to unset a previously set alpha
The #ClutterAlpha object used to drive this behaviour. A #ClutterAlpha
object binds a #ClutterTimeline and a function which computes a value
(the "alpha") depending on the time. Each time the alpha value changes
the alpha-notify virtual function is called.
The ::apply signal is emitted each time the behaviour is applied
to an actor.
the actor the behaviour was applied to.
The ::removed signal is emitted each time a behaviour is not applied
to an actor anymore.
the removed actor
Base class for behaviours.
The #ClutterBehaviourDepth structure contains only private data
and should be accessed using the provided API
Creates a new #ClutterBehaviourDepth which can be used to control
the ClutterActor:depth property of a set of #ClutterActor<!-- -->s.
If @alpha is not %NULL, the #ClutterBehaviour will take ownership
of the #ClutterAlpha instance. In the case when @alpha is %NULL,
it can be set later with clutter_behaviour_set_alpha().
the newly created behaviour
a #ClutterAlpha instance, or %NULL
initial value of the depth
final value of the depth
Gets the boundaries of the @behaviour
a #ClutterBehaviourDepth
return location for the initial depth value, or %NULL
return location for the final depth value, or %NULL
Sets the boundaries of the @behaviour.
a #ClutterBehaviourDepth
initial value of the depth
final value of the depth
End depth level to apply to the actors.
Start depth level to apply to the actors.
The #ClutterBehaviourDepthClass structure contains only private data
The #ClutterBehaviourEllipse struct contains only private data
and should be accessed using the provided API
Creates a behaviour that drives actors along an elliptical path with
given center, width and height; the movement starts at @start
degrees (with 0 corresponding to 12 o'clock) and ends at @end
degrees. Angles greated than 360 degrees get clamped to the canonical
interval <0, 360); if @start is equal to @end, the behaviour will
rotate by exacly 360 degrees.
If @alpha is not %NULL, the #ClutterBehaviour will take ownership
of the #ClutterAlpha instance. In the case when @alpha is %NULL,
it can be set later with clutter_behaviour_set_alpha().
the newly created #ClutterBehaviourEllipse
a #ClutterAlpha instance, or %NULL
x coordinace of the center
y coordiance of the center
width of the ellipse
height of the ellipse
#ClutterRotateDirection of rotation
angle in degrees at which movement starts, between 0 and 360
angle in degrees at which movement ends, between 0 and 360
Gets the at which movements ends.
angle in degrees
a #ClutterBehaviourEllipse
Gets the angle at which movements starts.
angle in degrees
a #ClutterBehaviourEllipse
Gets the tilt of the ellipse around the center in the given axis.
angle in degrees.
a #ClutterBehaviourEllipse
a #ClutterRotateAxis
Gets the center of the elliptical path path.
a #ClutterBehaviourEllipse
return location for the X coordinate of the center, or %NULL
return location for the Y coordinate of the center, or %NULL
Retrieves the #ClutterRotateDirection used by the ellipse behaviour.
the rotation direction
a #ClutterBehaviourEllipse
Gets the height of the elliptical path.
the height of the path
a #ClutterBehaviourEllipse
Gets the tilt of the ellipse around the center in Y axis.
a #ClutterBehaviourEllipse
return location for tilt angle on the X axis, or %NULL.
return location for tilt angle on the Y axis, or %NULL.
return location for tilt angle on the Z axis, or %NULL.
Gets the width of the elliptical path.
the width of the path
a #ClutterBehaviourEllipse
Sets the angle at which movement ends; angles >= 360 degress get clamped
to the canonical interval <0, 360).
a #ClutterBehaviourEllipse
angle at which movement ends in degrees, between 0 and 360.
Sets the angle at which movement starts; angles >= 360 degress get clamped
to the canonical interval <0, 360).
a #ClutterBehaviourEllipse
angle at which movement starts in degrees, between 0 and 360.
Sets the angle at which the ellipse should be tilted around it's center.
a #ClutterBehaviourEllipse
a #ClutterRotateAxis
tilt of the elipse around the center in the given axis in degrees.
Sets the center of the elliptical path to the point represented by knot.
a #ClutterBehaviourEllipse
x coordinace of centre
y coordinace of centre
Sets the rotation direction used by the ellipse behaviour.
a #ClutterBehaviourEllipse
the rotation direction
Sets the height of the elliptical path.
a #ClutterBehaviourEllipse
height of the ellipse
Sets the angles at which the ellipse should be tilted around it's center.
a #ClutterBehaviourEllipse
tilt of the elipse around the center in X axis in degrees.
tilt of the elipse around the center in Y axis in degrees.
tilt of the elipse around the center in Z axis in degrees.
Sets the width of the elliptical path.
a #ClutterBehaviourEllipse
width of the ellipse
The final angle to where the rotation should end.
The initial angle from where the rotation should start.
The tilt angle for the rotation around center in X axis
The tilt angle for the rotation around center in Y axis
The tilt angle for the rotation on the Z axis
The center of the ellipse.
The direction of the rotation.
Height of the ellipse, in pixels
Width of the ellipse, in pixels
The #ClutterBehaviourEllipseClass struct contains only private data
This function is passed to clutter_behaviour_actors_foreach() and
will be called for each actor driven by @behaviour.
the #ClutterBehaviour
an actor driven by @behaviour
optional data passed to the function
The #ClutterBehaviourOpacity structure contains only private data and
should be accessed using the provided API
Creates a new #ClutterBehaviourOpacity object, driven by @alpha
which controls the opacity property of every actor, making it
change in the interval between @opacity_start and @opacity_end.
If @alpha is not %NULL, the #ClutterBehaviour will take ownership
of the #ClutterAlpha instance. In the case when @alpha is %NULL,
it can be set later with clutter_behaviour_set_alpha().
the newly created #ClutterBehaviourOpacity
a #ClutterAlpha instance, or %NULL
minimum level of opacity
maximum level of opacity
Gets the initial and final levels of the opacity applied by @behaviour
on each actor it controls.
a #ClutterBehaviourOpacity
return location for the minimum level of opacity, or %NULL
return location for the maximum level of opacity, or %NULL
Sets the initial and final levels of the opacity applied by @behaviour
on each actor it controls.
a #ClutterBehaviourOpacity
minimum level of opacity
maximum level of opacity
Final opacity level of the behaviour.
Initial opacity level of the behaviour.
The #ClutterBehaviourOpacityClass structure contains only private data
The #ClutterBehaviourPath structure contains only private data
and should be accessed using the provided API
Creates a new path behaviour. You can use this behaviour to drive
actors along the nodes of a path, described by @path.
This will claim the floating reference on the #ClutterPath so you
do not need to unref if it.
If @alpha is not %NULL, the #ClutterBehaviour will take ownership
of the #ClutterAlpha instance. In the case when @alpha is %NULL,
it can be set later with clutter_behaviour_set_alpha().
a #ClutterBehaviour
a #ClutterAlpha instance, or %NULL
a #ClutterPath or %NULL for an empty path
Creates a new path behaviour using the path described by @desc. See
clutter_path_add_string() for a description of the format.
If @alpha is not %NULL, the #ClutterBehaviour will take ownership
of the #ClutterAlpha instance. In the case when @alpha is %NULL,
it can be set later with clutter_behaviour_set_alpha().
a #ClutterBehaviour
a #ClutterAlpha instance, or %NULL
a string description of the path
Creates a new path behaviour that will make the actors visit all of
the given knots in order with straight lines in between.
A path will be created where the first knot is used in a
%CLUTTER_PATH_MOVE_TO and the subsequent knots are used in
%CLUTTER_PATH_LINE_TO<!-- -->s.
If @alpha is not %NULL, the #ClutterBehaviour will take ownership
of the #ClutterAlpha instance. In the case when @alpha is %NULL,
it can be set later with clutter_behaviour_set_alpha().
a #ClutterBehaviour
a #ClutterAlpha instance, or %NULL
an array of #ClutterKnot<!-- -->s
number of entries in @knots
Get the current path of the behaviour
the path
a #ClutterBehaviourPath instance
Change the path that the actors will follow. This will take the
floating reference on the #ClutterPath so you do not need to unref
it.
the path behaviour
the new path to follow
This signal is emitted each time a node defined inside the path
is reached.
the index of the #ClutterKnot reached
The #ClutterBehaviourPathClass struct contains only private data
The #ClutterBehaviourRotate struct contains only private data and
should be accessed using the provided API
Creates a new #ClutterBehaviourRotate. This behaviour will rotate actors
bound to it on @axis, following @direction, between @angle_start and
@angle_end. Angles >= 360 degrees will be clamped to the canonical interval
<0, 360), if angle_start == angle_end, the behaviour will carry out a
single rotation of 360 degrees.
If @alpha is not %NULL, the #ClutterBehaviour will take ownership
of the #ClutterAlpha instance. In the case when @alpha is %NULL,
it can be set later with clutter_behaviour_set_alpha().
the newly created #ClutterBehaviourRotate.
a #ClutterAlpha instance, or %NULL
the rotation axis
the rotation direction
the starting angle in degrees, between 0 and 360.
the final angle in degrees, between 0 and 360.
Retrieves the #ClutterRotateAxis used by the rotate behaviour.
the rotation axis
a #ClutterBehaviourRotate
Retrieves the rotation boundaries of the rotate behaviour.
a #ClutterBehaviourRotate
return value for the initial angle
return value for the final angle
Retrieves the center of rotation set using
clutter_behaviour_rotate_set_center().
a #ClutterBehaviourRotate
return location for the X center of rotation
return location for the Y center of rotation
return location for the Z center of rotation
Retrieves the #ClutterRotateDirection used by the rotate behaviour.
the rotation direction
a #ClutterBehaviourRotate
Sets the axis used by the rotate behaviour.
a #ClutterBehaviourRotate
a #ClutterRotateAxis
Sets the initial and final angles of a rotation behaviour; angles >= 360
degrees get clamped to the canonical interval <0, 360).
a #ClutterBehaviourRotate
initial angle in degrees, between 0 and 360.
final angle in degrees, between 0 and 360.
Sets the center of rotation. The coordinates are relative to the plane
normal to the rotation axis set with clutter_behaviour_rotate_set_axis().
a #ClutterBehaviourRotate
X axis center of rotation
Y axis center of rotation
Z axis center of rotation
Sets the rotation direction used by the rotate behaviour.
a #ClutterBehaviourRotate
the rotation direction
The final angle to where the rotation should end.
The initial angle from whence the rotation should start.
The axis of rotation.
The x center of rotation.
The y center of rotation.
The z center of rotation.
The direction of the rotation.
The #ClutterBehaviourRotateClass struct contains only private data
The #ClutterBehaviourScale struct contains only private data and
should be accessed using the provided API
Creates a new #ClutterBehaviourScale instance.
If @alpha is not %NULL, the #ClutterBehaviour will take ownership
of the #ClutterAlpha instance. In the case when @alpha is %NULL,
it can be set later with clutter_behaviour_set_alpha().
the newly created #ClutterBehaviourScale
a #ClutterAlpha instance, or %NULL
initial scale factor on the X axis
initial scale factor on the Y axis
final scale factor on the X axis
final scale factor on the Y axis
Retrieves the bounds used by scale behaviour.
a #ClutterBehaviourScale
return location for the initial scale factor on the X axis, or %NULL
return location for the initial scale factor on the Y axis, or %NULL
return location for the final scale factor on the X axis, or %NULL
return location for the final scale factor on the Y axis, or %NULL
Sets the bounds used by scale behaviour.
a #ClutterBehaviourScale
initial scale factor on the X axis
initial scale factor on the Y axis
final scale factor on the X axis
final scale factor on the Y axis
The final scaling factor on the X axis for the actors.
The initial scaling factor on the X axis for the actors.
The final scaling factor on the Y axis for the actors.
The initial scaling factor on the Y axis for the actors.
The #ClutterBehaviourScaleClass struct contains only private data
The alignment policies available on each axis for #ClutterBinLayout
Fixed position alignment; the #ClutterBinLayout will honour the fixed position provided by the actors themselves when allocating them
Fill the allocation size
Position the actors at the top or left side of the container, depending on the axis
Position the actors at the bottom or right side of the container, depending on the axis
Position the actors at the center of the container, depending on the axis
The #ClutterBinLayout structure contains only private data
and should be accessed using the provided API
Creates a new #ClutterBinLayout layout manager
the newly created layout manager
the default alignment policy to be used on the horizontal axis
the default alignment policy to be used on the vertical axis
Adds a #ClutterActor to the container using @self and
sets the alignment policies for it
This function is equivalent to clutter_container_add_actor()
and clutter_layout_manager_child_set_property() but it does not
require a pointer to the #ClutterContainer associated to the
#ClutterBinLayout
a #ClutterBinLayout
a #ClutterActor
horizontal alignment policy for @child
vertical alignment policy for @child
Retrieves the horizontal and vertical alignment policies for
a child of @self
If @child is %NULL the default alignment policies will be returned
instead
a #ClutterBinLayout
a child of @container
return location for the horizontal alignment policy
return location for the vertical alignment policy
Sets the horizontal and vertical alignment policies to be applied
to a @child of @self
If @child is %NULL then the @x_align and @y_align values will
be set as the default alignment policies
a #ClutterBinLayout
a child of @container
the horizontal alignment policy to be used for the @child inside @container
the vertical aligment policy to be used on the @child inside @container
The default horizontal alignment policy for actors managed
by the #ClutterBinLayout
The default vertical alignment policy for actors managed
by the #ClutterBinLayout
The #ClutterBinLayoutClass structure contains only private
data and should be accessed using the provided API
<structname>ClutterBindConstraint</structname> is an opaque structure
whose members cannot be directly accessed
Creates a new constraint, binding a #ClutterActor's position to
the given @coordinate of the position of @source
the newly created #ClutterBindConstraint
the #ClutterActor to use as the source of the binding, or %NULL
the coordinate to bind
the offset to apply to the binding, in pixels
Retrieves the bound coordinate of the constraint
the bound coordinate
a #ClutterBindConstraint
Retrieves the offset set using clutter_bind_constraint_set_offset()
the offset, in pixels
a #ClutterBindConstraint
Retrieves the #ClutterActor set using clutter_bind_constraint_set_source()
a pointer to the source actor
a #ClutterBindConstraint
Sets the coordinate to bind in the constraint
a #ClutterBindConstraint
the coordinate to bind
Sets the offset to be applied to the constraint
a #ClutterBindConstraint
the offset to apply, in pixels
Sets the source #ClutterActor for the constraint
a #ClutterBindConstraint
a #ClutterActor, or %NULL to unset the source
The coordinate to be bound
The offset, in pixels, to be applied to the binding
The #ClutterActor used as the source for the binding.
The #ClutterActor must not be contained inside the actor associated
to the constraint.
Specifies which property should be used in a binding
Bind the X coordinate
Bind the Y coordinate
Bind the width
Bind the height
Equivalent to to %CLUTTER_BIND_X and %CLUTTER_BIND_Y (added in Clutter 1.6)
Equivalent to %CLUTTER_BIND_WIDTH and %CLUTTER_BIND_HEIGHT (added in Clutter 1.6)
Equivalent to %CLUTTER_BIND_POSITION and %CLUTTER_BIND_SIZE (added in Clutter 1.10)
The prototype for the callback function registered with
clutter_binding_pool_install_action() and invoked by
clutter_binding_pool_activate().
the function should return %TRUE if the key binding has been handled, and return %FALSE otherwise
a #GObject
the name of the action
the key symbol
bitmask of the modifier flags
data passed to the function
Container of key bindings. The #ClutterBindingPool struct is
private.
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 clutter_binding_pool_find() will
be able to return the correct binding pool.
the newly created binding pool with the given name. Use g_object_unref() when done.
the name of the binding pool
Finds the #ClutterBindingPool with @name.
a pointer to the #ClutterBindingPool, or %NULL
the name of the binding pool to find
Retrieves the #ClutterBindingPool for the given #GObject class
and, eventually, creates it. This function is a wrapper around
clutter_binding_pool_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
clutter_binding_pool_find() with the class type name:
|[
pool = clutter_binding_pool_find (G_OBJECT_TYPE_NAME (instance));
]|
the binding pool for the given class. The returned #ClutterBindingPool is owned by Clutter and should not be freed directly
a #GObjectClass pointer
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
clutter_binding_pool_install_action().
If the action bound to the @key_val, @modifiers pair has been
blocked using clutter_binding_pool_block_action(), the callback
will not be invoked, and this function will return %FALSE.
%TRUE if an action was found and was activated
a #ClutterBindingPool
the key symbol
bitmask for the modifiers
a #GObject
Blocks all the actions with name @action_name inside @pool.
a #ClutterBindingPool
an action name
Retrieves the name of the action matching the given key symbol
and modifiers bitmask.
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
a #ClutterBindingPool
a key symbol
a bitmask for the modifiers
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 clutter_binding_pool_activate()
the passed @callback will be invoked (with @data).
Actions can be blocked with clutter_binding_pool_block_action()
and then unblocked using clutter_binding_pool_unblock_action().
a #ClutterBindingPool
the name of the action
key symbol
bitmask of modifiers
function to be called when the action is activated
data to be passed to @callback
function to be called when the action is removed from the pool
A #GClosure variant of clutter_binding_pool_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 clutter_binding_pool_activate()
the passed @closure will be invoked.
Actions can be blocked with clutter_binding_pool_block_action()
and then unblocked using clutter_binding_pool_unblock_action().
a #ClutterBindingPool
the name of the action
key symbol
bitmask of modifiers
a #GClosure
Allows overriding the action for @key_val and @modifiers inside a
#ClutterBindingPool. See clutter_binding_pool_install_action().
When an action has been activated using clutter_binding_pool_activate()
the passed @callback will be invoked (with @data).
Actions can be blocked with clutter_binding_pool_block_action()
and then unblocked using clutter_binding_pool_unblock_action().
a #ClutterBindingPool
key symbol
bitmask of modifiers
function to be called when the action is activated
data to be passed to @callback
function to be called when the action is removed from the pool
A #GClosure variant of clutter_binding_pool_override_action().
Allows overriding the action for @key_val and @modifiers inside a
#ClutterBindingPool. See clutter_binding_pool_install_closure().
When an action has been activated using clutter_binding_pool_activate()
the passed @callback will be invoked (with @data).
Actions can be blocked with clutter_binding_pool_block_action()
and then unblocked using clutter_binding_pool_unblock_action().
a #ClutterBindingPool
key symbol
bitmask of modifiers
a #GClosure
Removes the action matching the given @key_val, @modifiers pair,
if any exists.
a #ClutterBindingPool
a key symbol
a bitmask for the modifiers
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 clutter_binding_pool_activate() was called on
an action previously blocked with clutter_binding_pool_block_action().
a #ClutterBindingPool
an action name
The unique name of the #ClutterBindingPool.
<structname>ClutterBlurEffect</structname> is an opaque structure
whose members cannot be accessed directly
Creates a new #ClutterBlurEffect to be used with
clutter_actor_add_effect()
the newly created #ClutterBlurEffect or %NULL
The #ClutterBox structure contains only private data and should
be accessed using the provided API
Creates a new #ClutterBox. The children of the box will be layed
out by the passed @manager
the newly created #ClutterBox actor
a #ClutterLayoutManager
Retrieves the background color of @box
If the #ClutterBox:color-set property is set to %FALSE the
returned #ClutterColor is undefined
a #ClutterBox
return location for a #ClutterColor
Retrieves the #ClutterLayoutManager instance used by @box
a #ClutterLayoutManager. The returned #ClutterLayoutManager is owned by the #ClutterBox and it should not be unreferenced
a #ClutterBox
Adds @actor to @box and sets layout properties at the same time,
if the #ClutterLayoutManager used by @box has them
This function is a wrapper around clutter_container_add_actor()
and clutter_layout_manager_child_set()
Language bindings should use the vector-based clutter_box_packv()
variant instead
a #ClutterBox
a #ClutterActor
the name of the first property to set, or %NULL
Adds @actor to @box, placing it after @sibling, and sets layout
properties at the same time, if the #ClutterLayoutManager used by
@box supports them
If @sibling is %NULL then @actor is placed at the end of the
list of children, to be allocated and painted after every other child
This function is a wrapper around clutter_container_add_actor(),
clutter_container_raise_child() and clutter_layout_manager_child_set()
a #ClutterBox
a #ClutterActor
a #ClutterActor or %NULL
the name of the first property to set, or %NULL
Adds @actor to @box, placing it at @position, and sets layout
properties at the same time, if the #ClutterLayoutManager used by
@box supports them
If @position is a negative number, or is larger than the number of
children of @box, the new child is added at the end of the list of
children
a #ClutterBox
a #ClutterActor
the position to insert the @actor at
the name of the first property to set, or %NULL
Adds @actor to @box, placing it before @sibling, and sets layout
properties at the same time, if the #ClutterLayoutManager used by
@box supports them
If @sibling is %NULL then @actor is placed at the beginning of the
list of children, to be allocated and painted below every other child
This function is a wrapper around clutter_container_add_actor(),
clutter_container_lower_child() and clutter_layout_manager_child_set()
a #ClutterBox
a #ClutterActor
a #ClutterActor or %NULL
the name of the first property to set, or %NULL
Vector-based variant of clutter_box_pack(), intended for language
bindings to use
a #ClutterBox
a #ClutterActor
the number of properties to set
a vector containing the property names to set
a vector containing the property values to set
Sets (or unsets) the background color for @box
a #ClutterBox
the background color, or %NULL to unset
Sets the #ClutterLayoutManager for @box
A #ClutterLayoutManager is a delegate object that controls the
layout of the children of @box
a #ClutterBox
a #ClutterLayoutManager
The color to be used to paint the background of the
#ClutterBox. Setting this property will set the
#ClutterBox:color-set property as a side effect
Whether the #ClutterBox:color property has been set
The alignment policies available on each axis of the #ClutterBoxLayout
Align the child to the top or to to the left, depending on the used axis
Align the child to the bottom or to the right, depending on the used axis
Align the child to the center
The #ClutterBoxClass structure contains only private data
The #ClutterBoxLayout structure contains only private data
and should be accessed using the provided API
Creates a new #ClutterBoxLayout layout manager
the newly created #ClutterBoxLayout
Retrieves the horizontal and vertical alignment policies for @actor
as set using clutter_box_layout_pack() or clutter_box_layout_set_alignment()
a #ClutterBoxLayout
a #ClutterActor child of @layout
return location for the horizontal alignment policy
return location for the vertical alignment policy
Retrieves the duration set using clutter_box_layout_set_easing_duration()
the duration of the animations, in milliseconds
a #ClutterBoxLayout
Retrieves the easing mode set using clutter_box_layout_set_easing_mode()
an easing mode
a #ClutterBoxLayout
Retrieves whether @actor should expand inside @layout
%TRUE if the #ClutterActor should expand, %FALSE otherwise
a #ClutterBoxLayout
a #ClutterActor child of @layout
Retrieves the horizontal and vertical fill policies for @actor
as set using clutter_box_layout_pack() or clutter_box_layout_set_fill()
a #ClutterBoxLayout
a #ClutterActor child of @layout
return location for the horizontal fill policy
return location for the vertical fill policy
Retrieves if the children sizes are allocated homogeneously.
%TRUE if the #ClutterBoxLayout is arranging its children homogeneously, and %FALSE otherwise
a #ClutterBoxLayout
Retrieves the orientation of the @layout.
the orientation of the layout
a #ClutterBoxLayout
Retrieves the value set using clutter_box_layout_set_pack_start()
%TRUE if the #ClutterBoxLayout should pack children at the beginning of the layout, and %FALSE otherwise
a #ClutterBoxLayout
Retrieves the spacing set using clutter_box_layout_set_spacing()
the spacing between children of the #ClutterBoxLayout
a #ClutterBoxLayout
Retrieves whether @layout should animate changes in the layout properties.
%TRUE if the animations should be used, %FALSE otherwise
a #ClutterBoxLayout
Retrieves the orientation of the @layout as set using the
clutter_box_layout_set_vertical() function
%TRUE if the #ClutterBoxLayout is arranging its children vertically, and %FALSE otherwise
a #ClutterBoxLayout
Packs @actor inside the #ClutterContainer associated to @layout
and sets the layout properties
a #ClutterBoxLayout
a #ClutterActor
whether the @actor should expand
whether the @actor should fill horizontally
whether the @actor should fill vertically
the horizontal alignment policy for @actor
the vertical alignment policy for @actor
Sets the horizontal and vertical alignment policies for @actor
inside @layout
a #ClutterBoxLayout
a #ClutterActor child of @layout
Horizontal alignment policy for @actor
Vertical alignment policy for @actor
Sets the duration of the animations used by @layout when animating changes
in the layout properties.
a #ClutterBoxLayout
the duration of the animations, in milliseconds
Sets the easing mode to be used by @layout when animating changes in layout
properties.
a #ClutterBoxLayout
an easing mode, either from #ClutterAnimationMode or a logical id from clutter_alpha_register_func()
Sets whether @actor should expand inside @layout
a #ClutterBoxLayout
a #ClutterActor child of @layout
whether @actor should expand
Sets the horizontal and vertical fill policies for @actor
inside @layout
a #ClutterBoxLayout
a #ClutterActor child of @layout
whether @actor should fill horizontally the allocated space
whether @actor should fill vertically the allocated space
Sets whether the size of @layout children should be
homogeneous
a #ClutterBoxLayout
%TRUE if the layout should be homogeneous
Sets the orientation of the #ClutterBoxLayout layout manager.
a #ClutterBoxLayout
the orientation of the #ClutterBoxLayout
Sets whether children of @layout should be layed out by appending
them or by prepending them
a #ClutterBoxLayout
%TRUE if the @layout should pack children at the beginning of the layout
Sets the spacing between children of @layout
a #ClutterBoxLayout
the spacing between children of the layout, in pixels
Sets whether @layout should animate changes in the layout properties
The duration of the animations is controlled by
clutter_box_layout_set_easing_duration(); the easing mode to be used
by the animations is controlled by clutter_box_layout_set_easing_mode().
Enabling animations will override the easing state of each child
of the actor using @layout, and will use the #ClutterBoxLayout:easing-mode
and #ClutterBoxLayout:easing-duration properties instead.
a #ClutterBoxLayout
%TRUE if the @layout should use animations
Sets whether @layout should arrange its children vertically alongside
the Y axis, instead of horizontally alongside the X axis
a #ClutterBoxLayout
%TRUE if the layout should be vertical
The duration of the animations, in case #ClutterBoxLayout:use-animations
is set to %TRUE.
The duration is expressed in milliseconds.
The easing mode for the animations, in case
#ClutterBoxLayout:use-animations is set to %TRUE.
The easing mode has the same semantics of #ClutterAnimation:mode: it can
either be a value from the #ClutterAnimationMode enumeration, like
%CLUTTER_EASE_OUT_CUBIC, or a logical id as returned by
clutter_alpha_register_func().
The default value is %CLUTTER_EASE_OUT_CUBIC.
Whether the #ClutterBoxLayout should arrange its children
homogeneously, i.e. all childs get the same size
The orientation of the #ClutterBoxLayout, either horizontal
or vertical
Whether the #ClutterBoxLayout should pack items at the start
or append them at the end
The spacing between children of the #ClutterBoxLayout, in pixels
Whether the #ClutterBoxLayout should animate changes in the
layout, overriding the easing state of the children.
Whether the #ClutterBoxLayout should arrange its children
alongside the Y axis, instead of alongside the X axis
The #ClutterBoxLayoutClass structure contains only private
data and should be accessed using the provided API
<structname>ClutterBrightnessContrastEffect</structname> is an opaque structure
whose members cannot be directly accessed
Creates a new #ClutterBrightnessContrastEffect to be used with
clutter_actor_add_effect()
the newly created #ClutterBrightnessContrastEffect or %NULL. Use g_object_unref() when done.
Retrieves the change in brightness used by @effect.
a #ClutterBrightnessContrastEffect
return location for red component of the change in brightness
return location for green component of the change in brightness
return location for blue component of the change in brightness
Retrieves the contrast value used by @effect.
a #ClutterBrightnessContrastEffect
return location for red component of the change in contrast
return location for green component of the change in contrast
return location for blue component of the change in contrast
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.
a #ClutterBrightnessContrastEffect
the brightness change for all three components (r, g, b)
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.
a #ClutterBrightnessContrastEffect
red component of the change in brightness
green component of the change in brightness
blue component of the change in brightness
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.
a #ClutterBrightnessContrastEffect
contrast change for all three channels
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.
a #ClutterBrightnessContrastEffect
red component of the change in contrast
green component of the change in contrast
blue component of the change in contrast
The brightness change to apply to the effect.
This property uses a #ClutterColor 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.
The contrast change to apply to the effect.
This property uses a #ClutterColor 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.
Button event.
The event coordinates are relative to the stage that received the
event, and can be transformed into actor-relative coordinates by
using clutter_actor_transform_stage_point().
Cogl (internal GL abstraction utility library) backend. Can be "gl" or
"gles" currently
Default value for "now".
The #ClutterCairoTexture struct contains only private data.
Creates a new #ClutterCairoTexture actor, with a surface of @width by
@height pixels.
the newly created #ClutterCairoTexture actor
the width of the surface
the height of the surface
Clears @self's internal drawing surface, so that the next upload
will replace the previous contents of the #ClutterCairoTexture
rather than adding to it.
Calling this function from within a #ClutterCairoTexture::draw
signal handler will clear the invalidated area.
a #ClutterCairoTexture
Creates a new Cairo context for the @cairo texture. It is
similar to using clutter_cairo_texture_create_region() with @x_offset
and @y_offset of 0, @width equal to the @cairo texture surface width
and @height equal to the @cairo texture surface height.
<warning><para>Do not call this function within the paint virtual
function or from a callback to the #ClutterActor::paint
signal.</para></warning>
a newly created Cairo context. Use cairo_destroy() to upload the contents of the context when done drawing
a #ClutterCairoTexture
Creates a new Cairo context that will updat the region defined
by @x_offset, @y_offset, @width and @height.
<warning><para>Do not call this function within the paint virtual
function or from a callback to the #ClutterActor::paint
signal.</para></warning>
a newly created Cairo context. Use cairo_destroy() to upload the contents of the context when done drawing
a #ClutterCairoTexture
offset of the region on the X axis
offset of the region on the Y axis
width of the region, or -1 for the full surface width
height of the region, or -1 for the full surface height
Retrieves the value set using clutter_cairo_texture_set_auto_resize().
%TRUE if the #ClutterCairoTexture should track the allocation, and %FALSE otherwise
a #ClutterCairoTexture
Retrieves the surface width and height for @self.
a #ClutterCairoTexture
return location for the surface width, or %NULL
return location for the surface height, or %NULL
Invalidates the whole surface of a #ClutterCairoTexture.
This function will cause the #ClutterCairoTexture::draw signal
to be emitted.
See also: clutter_cairo_texture_invalidate_rectangle()
a #ClutterCairoTexture
Invalidates a rectangular region of a #ClutterCairoTexture.
The invalidation will cause the #ClutterCairoTexture::draw signal
to be emitted.
See also: clutter_cairo_texture_invalidate()
a #ClutterCairoTexture
a rectangle with the area to invalida, or %NULL to perform an unbounded invalidation
Sets whether the #ClutterCairoTexture should ensure that the
backing Cairo surface used matches the allocation assigned to
the actor. If the allocation changes, the contents of the
#ClutterCairoTexture will also be invalidated automatically.
a #ClutterCairoTexture
%TRUE if the #ClutterCairoTexture should bind the surface size to the allocation
Resizes the Cairo surface used by @self to @width and @height.
This function will not invalidate the contents of the Cairo
texture: you will have to explicitly call either
clutter_cairo_texture_invalidate_rectangle() or
clutter_cairo_texture_invalidate().
a #ClutterCairoTexture
the new width of the surface
the new height of the surface
Controls whether the #ClutterCairoTexture should automatically
resize the Cairo surface whenever the actor's allocation changes.
If :auto-resize is set to %TRUE the surface contents will also
be invalidated automatically.
The height of the Cairo surface used by the #ClutterCairoTexture
actor, in pixels.
The width of the Cairo surface used by the #ClutterCairoTexture
actor, in pixels.
The ::create-surface signal is emitted when a #ClutterCairoTexture
news its surface (re)created, which happens either when the Cairo
context is created with clutter_cairo_texture_create() or
clutter_cairo_texture_create_region(), or when the surface is resized
through clutter_cairo_texture_set_surface_size().
The first signal handler that returns a non-%NULL, valid surface will
stop any further signal emission, and the returned surface will be
the one used.
the newly created #cairo_surface_t for the texture
the width of the surface to create
the height of the surface to create
The ::draw signal is emitted each time a #ClutterCairoTexture has
been invalidated.
The passed Cairo context passed will be clipped to the invalidated
area.
It is safe to connect multiple callbacks to this signals; the state
of the Cairo context passed to each callback is automatically saved
and restored, so it's not necessary to call cairo_save() and
cairo_restore().
%TRUE if the signal emission should stop, and %FALSE to continue
the Cairo context to use to draw
The #ClutterCairoTextureClass struct contains only private data.
Generic callback
a #ClutterActor
user data
The <structname>ClutterCanvas</structname> structure contains
private data and should only be accessed using the provided
API.
Creates a new instance of #ClutterCanvas.
You should call clutter_canvas_set_size() to set the size of the canvas.
You should call clutter_content_invalidate() every time you wish to
draw the contents of the canvas.
The newly allocated instance of #ClutterCanvas. Use g_object_unref() when done.
Sets the size of the @canvas.
This function will cause the @canvas to be invalidated.
a #ClutterCanvas
the width of the canvas, in pixels
the height of the canvas, in pixels
The height of the canvas.
The width of the canvas.
The #ClutterCanvas::draw signal is emitted each time a canvas is
invalidated.
It is safe to connect multiple handlers to this signal: each
handler invocation will be automatically protected by cairo_save()
and cairo_restore() pairs.
%TRUE if the signal emission should stop, and %FALSE otherwise
the Cairo context used to draw
the width of the @canvas
the height of the @canvas
The <structname>ClutterCanvasClass</structname> structure contains
private data.
Base interface for container specific state for child actors. A child
data is meant to be used when you need to keep track of information
about each individual child added to a container.
In order to use it you should create your own subclass of
#ClutterChildMeta and set the #ClutterContainerIface child_meta_type
interface member to your subclass type, like:
|[
static void
my_container_iface_init (ClutterContainerIface *iface)
{
/* set the rest of the #ClutterContainer vtable */
container_iface->child_meta_type = MY_TYPE_CHILD_META;
}
]|
This will automatically create a #ClutterChildMeta of type
MY_TYPE_CHILD_META for every actor that is added to the container.
The child data for an actor can be retrieved using the
clutter_container_get_child_meta() function.
The properties of the data and your subclass can be manipulated with
clutter_container_child_set() and clutter_container_child_get() which
act like g_object_set() and g_object_get().
You can provide hooks for your own storage as well as control the
instantiation by overriding the #ClutterContainerIface virtual functions
<function>create_child_meta</function>,
<function>destroy_child_meta</function>,
and <function>get_child_meta</function>.
Retrieves the actor wrapped by @data
a #ClutterActor
a #ClutterChildMeta
Retrieves the container using @data
a #ClutterContainer
a #ClutterChildMeta
The #ClutterActor being wrapped by this #ClutterChildMeta
The #ClutterContainer that created this #ClutterChildMeta.
The #ClutterChildMetaClass contains only private data
The <structname>ClutterClickAction</structname> structure contains
only private data and should be accessed using the provided API
Creates a new #ClutterClickAction instance
the newly created #ClutterClickAction
Retrieves the button that was pressed.
the button value
a #ClutterClickAction
Retrieves the screen coordinates of the button press.
a #ClutterClickAction
return location for the X coordinate, or %NULL
return location for the Y coordinate, or %NULL
Retrieves the modifier state of the click action.
the modifier state parameter, or 0
a #ClutterClickAction
Emulates a release of the pointer button, which ungrabs the pointer
and unsets the #ClutterClickAction:pressed state.
This function will also cancel the long press gesture if one was
initiated.
This function is useful to break a grab, for instance after a certain
amount of time has passed.
a #ClutterClickAction
Whether the clickable actor has the pointer grabbed
The minimum duration of a press for it to be recognized as a long
press gesture, in milliseconds.
A value of -1 will make the #ClutterClickAction use the value of
the #ClutterSettings:long-press-duration property.
The maximum allowed distance that can be covered (on both axes) before
a long press gesture is cancelled, in pixels.
A value of -1 will make the #ClutterClickAction use the value of
the #ClutterSettings:dnd-drag-threshold property.
Whether the clickable actor should be in "pressed" state
The ::clicked signal is emitted when the #ClutterActor to which
a #ClutterClickAction has been applied should respond to a
pointer button press and release events
the #ClutterActor attached to the @action
The ::long-press signal is emitted during the long press gesture
handling.
This signal can be emitted multiple times with different states.
The %CLUTTER_LONG_PRESS_QUERY state will be emitted on button presses,
and its return value will determine whether the long press handling
should be initiated. If the signal handlers will return %TRUE, the
%CLUTTER_LONG_PRESS_QUERY state will be followed either by a signal
emission with the %CLUTTER_LONG_PRESS_ACTIVATE state if the long press
constraints were respected, or by a signal emission with the
%CLUTTER_LONG_PRESS_CANCEL state if the long press was cancelled.
It is possible to forcibly cancel a long press detection using
clutter_click_action_release().
Only the %CLUTTER_LONG_PRESS_QUERY state uses the returned value of the handler; other states will ignore it
the #ClutterActor attached to the @action
the long press state
The <structname>ClutterClickActionClass</structname> structure
contains only private data
The <structname>ClutterTextNode</structname> structure is an opaque
type whose members cannot be directly accessed.
Creates a new #ClutterPaintNode that will clip its child
nodes to the 2D regions added to it.
the newly created #ClutterPaintNode. Use clutter_paint_node_unref() when done.
The <structname>ClutterClipNodeClass</structname> structure is an opaque
type whose members cannot be directly accessed.
The #ClutterClone structure contains only private data
and should be accessed using the provided API
Creates a new #ClutterActor which clones @source/
the newly created #ClutterClone
a #ClutterActor, or %NULL
Retrieves the source #ClutterActor being cloned by @self.
the actor source for the clone
a #ClutterClone
Sets @source as the source actor to be cloned by @self.
a #ClutterClone
a #ClutterActor, or %NULL
This property specifies the source actor being cloned.
The #ClutterCloneClass structure contains only private data
Color representation.
Allocates a new, transparent black #ClutterColor.
the newly allocated #ClutterColor; use clutter_color_free() to free its resources
Creates a new #ClutterColor with the given values.
This function is the equivalent of:
|[
clutter_color_init (clutter_color_alloc (), red, green, blue, alpha);
]|
the newly allocated color. Use clutter_color_free() when done
red component of the color, between 0 and 255
green component of the color, between 0 and 255
blue component of the color, between 0 and 255
alpha component of the color, between 0 and 255
Adds @a to @b and saves the resulting color inside @result.
The alpha channel of @result is set as as the maximum value
between the alpha channels of @a and @b.
a #ClutterColor
a #ClutterColor
return location for the result
Makes a copy of the color structure. The result must be
freed using clutter_color_free().
an allocated copy of @color.
a #ClutterColor
Darkens @color by a fixed amount, and saves the changed color
in @result.
a #ClutterColor
return location for the darker color
Compares two #ClutterColor<!-- -->s and checks if they are the same.
This function can be passed to g_hash_table_new() as the @key_equal_func
parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable.
%TRUE if the two colors are the same.
a #ClutterColor
a #ClutterColor
Frees a color structure created with clutter_color_copy().
a #ClutterColor
Converts a #ClutterColor to a hash value.
This function can be passed to g_hash_table_new() as the @hash_func
parameter, when using #ClutterColor<!-- -->s as keys in a #GHashTable.
a hash value corresponding to the color
a #ClutterColor
Initializes @color with the given values.
the initialized #ClutterColor
a #ClutterColor
red component of the color, between 0 and 255
green component of the color, between 0 and 255
blue component of the color, between 0 and 255
alpha component of the color, between 0 and 255
Interpolates between @initial and @final #ClutterColor<!-- -->s
using @progress
the initial #ClutterColor
the final #ClutterColor
the interpolation progress
return location for the interpolation
Lightens @color by a fixed amount, and saves the changed color
in @result.
a #ClutterColor
return location for the lighter color
Shades @color by @factor and saves the modified color into @result.
a #ClutterColor
the shade factor to apply
return location for the shaded color
Subtracts @b from @a and saves the resulting color inside @result.
This function assumes that the components of @a are greater than the
components of @b; the result is, otherwise, undefined.
The alpha channel of @result is set as the minimum value
between the alpha channels of @a and @b.
a #ClutterColor
a #ClutterColor
return location for the result
Converts @color to the HLS format.
The @hue value is in the 0 .. 360 range. The @luminance and
@saturation values are in the 0 .. 1 range.
a #ClutterColor
return location for the hue value or %NULL
return location for the luminance value or %NULL
return location for the saturation value or %NULL
Converts @color into a packed 32 bit integer, containing
all the four 8 bit channels used by #ClutterColor.
a packed color
a #ClutterColor
Returns a textual specification of @color in the hexadecimal form
<literal>#rrggbbaa</literal>, where <literal>r</literal>,
<literal>g</literal>, <literal>b</literal> and <literal>a</literal> are
hexadecimal digits representing the red, green, blue and alpha components
respectively.
a newly-allocated text string
a #ClutterColor
Converts a color expressed in HLS (hue, luminance and saturation)
values into a #ClutterColor.
return location for a #ClutterColor
hue value, in the 0 .. 360 range
luminance value, in the 0 .. 1 range
saturation value, in the 0 .. 1 range
Converts @pixel from the packed representation of a four 8 bit channel
color to a #ClutterColor.
return location for a #ClutterColor
a 32 bit packed integer containing a color
Parses a string definition of a color, filling the
<structfield>red</structfield>, <structfield>green</structfield>,
<structfield>blue</structfield> and <structfield>alpha</structfield>
channels of @color.
The @color is not allocated.
The format of @str can be either one of:
<itemizedlist>
<listitem>
<para>a standard name (as taken from the X11 rgb.txt file)</para>
</listitem>
<listitem>
<para>an hexadecimal value in the form: <literal>#rgb</literal>,
<literal>#rrggbb</literal>, <literal>#rgba</literal> or
<literal>#rrggbbaa</literal></para>
</listitem>
<listitem>
<para>a RGB color in the form: <literal>rgb(r, g, b)</literal></para>
</listitem>
<listitem>
<para>a RGB color in the form: <literal>rgba(r, g, b, a)</literal></para>
</listitem>
<listitem>
<para>a HSL color in the form: <literal>hsl(h, s, l)</literal></para>
</listitem>
<listitem>
<para>a HSL color in the form: <literal>hsla(h, s, l, a)</literal></para>
</listitem>
</itemizedlist>
where 'r', 'g', 'b' and 'a' are (respectively) the red, green, blue color
intensities and the opacity. The 'h', 's' and 'l' are (respectively) the
hue, saturation and luminance values.
In the rgb() and rgba() formats, the 'r', 'g', and 'b' values are either
integers between 0 and 255, or percentage values in the range between 0%
and 100%; the percentages require the '%' character. The 'a' value, if
specified, can only be a floating point value between 0.0 and 1.0.
In the hls() and hlsa() formats, the 'h' value (hue) it's an angle between
0 and 360.0 degrees; the 'l' and 's' values (luminance and saturation) are
a floating point value between 0.0 and 1.0. The 'a' value, if specified,
can only be a floating point value between 0.0 and 1.0.
Whitespace inside the definitions is ignored; no leading whitespace
is allowed.
If the alpha component is not specified then it is assumed to be set to
be fully opaque.
%TRUE if parsing succeeded, and %FALSE otherwise
return location for a #ClutterColor
a string specifiying a color
Retrieves a static color for the given @color name
Static colors are created by Clutter and are guaranteed to always be
available and valid
a pointer to a static color; the returned pointer is owned by Clutter and it should never be modified or freed
the named global color
The <structname>ClutterTextNode</structname> structure is an opaque
type whose members cannot be directly accessed.
Creates a new #ClutterPaintNode that will paint a solid color
fill using @color.
the newly created #ClutterPaintNode. Use clutter_paint_node_unref() when done
the color to paint, or %NULL
The <structname>ClutterColorNodeClass</structname> structure is an
opaque type whose members cannot be directly accessed.
<structname>ClutterColorizeEffect</structname> is an opaque structure
whose members cannot be directly accessed
Creates a new #ClutterColorizeEffect to be used with
clutter_actor_add_effect()
the newly created #ClutterColorizeEffect or %NULL
the color to be used
Retrieves the tint used by @effect
a #ClutterColorizeEffect
return location for the color used
Sets the tint to be used when colorizing
a #ClutterColorizeEffect
the color to be used
The tint to apply to the actor
The <structname>ClutterConstraint</structname> structure contains only
private data and should be accessed using the provided API
The <structname>ClutterConstraintClass</structname> structure contains
only private data
#ClutterContainer is an opaque structure whose members cannot be directly
accessed
Looks up the #GParamSpec for a child property of @klass.
The #GParamSpec for the property or %NULL if no such property exist.
a #GObjectClass implementing the #ClutterContainer interface.
a property name.
Returns an array of #GParamSpec for all child properties.
an array of #GParamSpec<!-- -->s which should be freed after use.
a #GObjectClass implementing the #ClutterContainer interface.
return location for length of returned array.
Adds a #ClutterActor to @container. This function will emit the
"actor-added" signal. The actor should be parented to
@container. You cannot add a #ClutterActor to more than one
#ClutterContainer.
This function will call #ClutterContainerIface.add(), which is a
deprecated virtual function. The default implementation will
call clutter_actor_add_child().
the first #ClutterActor to add
Calls the #ClutterContainerIface.child_notify() virtual function
of #ClutterContainer. The default implementation will emit the
#ClutterContainer::child-notify signal.
a #ClutterActor
a #GParamSpec
Creates the #ClutterChildMeta wrapping @actor inside the
@container, if the #ClutterContainerIface::child_meta_type
class member is not set to %G_TYPE_INVALID.
This function is only useful when adding a #ClutterActor to
a #ClutterContainer implementation outside of the
#ClutterContainer::add() virtual function implementation.
Applications should not call this function.
a #ClutterActor
Destroys the #ClutterChildMeta wrapping @actor inside the
@container, if any.
This function is only useful when removing a #ClutterActor to
a #ClutterContainer implementation outside of the
#ClutterContainer::add() virtual function implementation.
Applications should not call this function.
a #ClutterActor
Calls @callback for each child of @container that was added
by the application (with clutter_container_add_actor()). Does
not iterate over "internal" children that are part of the
container's own implementation, if any.
This function calls the #ClutterContainerIface.foreach()
virtual function, which has been deprecated.
a function to be called for each child
data to be passed to the function, or %NULL
Calls @callback for each child of @container, including "internal"
children built in to the container itself that were never added
by the application.
This function calls the #ClutterContainerIface.foreach_with_internals()
virtual function, which has been deprecated.
a function to be called for each child
data to be passed to the function, or %NULL
Retrieves the #ClutterChildMeta which contains the data about the
@container specific state for @actor.
the #ClutterChildMeta for the @actor child of @container or %NULL if the specifiec actor does not exist or the container is not configured to provide #ClutterChildMeta<!-- -->s
a #ClutterActor that is a child of @container.
Lowers @actor to @sibling level, in the depth ordering.
This function calls the #ClutterContainerIface.lower() virtual function,
which has been deprecated. The default implementation will call
clutter_actor_set_child_below_sibling().
the actor to raise
the sibling to lower to, or %NULL to lower to the bottom
Raises @actor to @sibling level, in the depth ordering.
This function calls the #ClutterContainerIface.raise() virtual function,
which has been deprecated. The default implementation will call
clutter_actor_set_child_above_sibling().
the actor to raise
the sibling to raise to, or %NULL to raise to the top
Removes @actor from @container. The actor should be unparented, so
if you want to keep it around you must hold a reference to it
yourself, using g_object_ref(). When the actor has been removed,
the "actor-removed" signal is emitted by @container.
This function will call #ClutterContainerIface.remove(), which is a
deprecated virtual function. The default implementation will call
clutter_actor_remove_child().
a #ClutterActor
Sorts a container's children using their depth. This function should not
be normally used by applications.
Adds a list of #ClutterActor<!-- -->s to @container. Each time and
actor is added, the "actor-added" signal is emitted. Each actor should
be parented to @container, which takes a reference on the actor. You
cannot add a #ClutterActor to more than one #ClutterContainer.
This function will call #ClutterContainerIface.add(), which is a
deprecated virtual function. The default implementation will
call clutter_actor_add_child().
a #ClutterContainer
the first #ClutterActor to add
Adds a #ClutterActor to @container. This function will emit the
"actor-added" signal. The actor should be parented to
@container. You cannot add a #ClutterActor to more than one
#ClutterContainer.
This function will call #ClutterContainerIface.add(), which is a
deprecated virtual function. The default implementation will
call clutter_actor_add_child().
a #ClutterContainer
the first #ClutterActor to add
Alternative va_list version of clutter_container_add().
This function will call #ClutterContainerIface.add(), which is a
deprecated virtual function. The default implementation will
call clutter_actor_add_child().
a #ClutterContainer
the first #ClutterActor to add
list of actors to add, followed by %NULL
Gets @container specific properties of an actor.
In general, a copy is made of the property contents and the caller is
responsible for freeing the memory in the appropriate manner for the type, for
instance by calling g_free() or g_object_unref().
a #ClutterContainer
a #ClutterActor that is a child of @container.
name of the first property to be set.
Gets a container specific property of a child of @container, In general,
a copy is made of the property contents and the caller is responsible for
freeing the memory by calling g_value_unset().
Note that clutter_container_child_set_property() is really intended for
language bindings, clutter_container_child_set() is much more convenient
for C programming.
a #ClutterContainer
a #ClutterActor that is a child of @container.
the name of the property to set.
the value.
Calls the #ClutterContainerIface.child_notify() virtual function
of #ClutterContainer. The default implementation will emit the
#ClutterContainer::child-notify signal.
a #ClutterContainer
a #ClutterActor
a #GParamSpec
Sets container specific properties on the child of a container.
a #ClutterContainer
a #ClutterActor that is a child of @container.
name of the first property to be set.
Sets a container-specific property on a child of @container.
a #ClutterContainer
a #ClutterActor that is a child of @container.
the name of the property to set.
the value.
Creates the #ClutterChildMeta wrapping @actor inside the
@container, if the #ClutterContainerIface::child_meta_type
class member is not set to %G_TYPE_INVALID.
This function is only useful when adding a #ClutterActor to
a #ClutterContainer implementation outside of the
#ClutterContainer::add() virtual function implementation.
Applications should not call this function.
a #ClutterContainer
a #ClutterActor
Destroys the #ClutterChildMeta wrapping @actor inside the
@container, if any.
This function is only useful when removing a #ClutterActor to
a #ClutterContainer implementation outside of the
#ClutterContainer::add() virtual function implementation.
Applications should not call this function.
a #ClutterContainer
a #ClutterActor
Finds a child actor of a container by its name. Search recurses
into any child container.
The child actor with the requested name, or %NULL if no actor with that name was found.
a #ClutterContainer
the name of the requested child.
Calls @callback for each child of @container that was added
by the application (with clutter_container_add_actor()). Does
not iterate over "internal" children that are part of the
container's own implementation, if any.
This function calls the #ClutterContainerIface.foreach()
virtual function, which has been deprecated.
a #ClutterContainer
a function to be called for each child
data to be passed to the function, or %NULL
Calls @callback for each child of @container, including "internal"
children built in to the container itself that were never added
by the application.
This function calls the #ClutterContainerIface.foreach_with_internals()
virtual function, which has been deprecated.
a #ClutterContainer
a function to be called for each child
data to be passed to the function, or %NULL
Retrieves the #ClutterChildMeta which contains the data about the
@container specific state for @actor.
the #ClutterChildMeta for the @actor child of @container or %NULL if the specifiec actor does not exist or the container is not configured to provide #ClutterChildMeta<!-- -->s
a #ClutterContainer
a #ClutterActor that is a child of @container.
Retrieves all the children of @container.
a list of #ClutterActor<!-- -->s. Use g_list_free() on the returned list when done.
a #ClutterContainer
Lowers @actor to @sibling level, in the depth ordering.
This function calls the #ClutterContainerIface.lower() virtual function,
which has been deprecated. The default implementation will call
clutter_actor_set_child_below_sibling().
a #ClutterContainer
the actor to raise
the sibling to lower to, or %NULL to lower to the bottom
Raises @actor to @sibling level, in the depth ordering.
This function calls the #ClutterContainerIface.raise() virtual function,
which has been deprecated. The default implementation will call
clutter_actor_set_child_above_sibling().
a #ClutterContainer
the actor to raise
the sibling to raise to, or %NULL to raise to the top
Removes a %NULL terminated list of #ClutterActor<!-- -->s from
@container. Each actor should be unparented, so if you want to keep it
around you must hold a reference to it yourself, using g_object_ref().
Each time an actor is removed, the "actor-removed" signal is
emitted by @container.
This function will call #ClutterContainerIface.remove(), which is a
deprecated virtual function. The default implementation will call
clutter_actor_remove_child().
a #ClutterContainer
first #ClutterActor to remove
Removes @actor from @container. The actor should be unparented, so
if you want to keep it around you must hold a reference to it
yourself, using g_object_ref(). When the actor has been removed,
the "actor-removed" signal is emitted by @container.
This function will call #ClutterContainerIface.remove(), which is a
deprecated virtual function. The default implementation will call
clutter_actor_remove_child().
a #ClutterContainer
a #ClutterActor
Alternative va_list version of clutter_container_remove().
This function will call #ClutterContainerIface.remove(), which is a
deprecated virtual function. The default implementation will call
clutter_actor_remove_child().
a #ClutterContainer
the first #ClutterActor to add
list of actors to remove, followed by %NULL
Sorts a container's children using their depth. This function should not
be normally used by applications.
a #ClutterContainer
The ::actor-added signal is emitted each time an actor
has been added to @container.
the new child that has been added to @container
The ::actor-removed signal is emitted each time an actor
is removed from @container.
the child that has been removed from @container
The ::child-notify signal is emitted each time a property is
being set through the clutter_container_child_set() and
clutter_container_child_set_property() calls.
the child that has had a property set
the #GParamSpec of the property set
Base interface for container actors. The @add, @remove and @foreach
virtual functions must be provided by any implementation; the other
virtual functions are optional.
the first #ClutterActor to add
a #ClutterActor
a function to be called for each child
data to be passed to the function, or %NULL
a function to be called for each child
data to be passed to the function, or %NULL
the actor to raise
the sibling to raise to, or %NULL to raise to the top
the actor to raise
the sibling to lower to, or %NULL to lower to the bottom
a #ClutterActor
a #ClutterActor
the #ClutterChildMeta for the @actor child of @container or %NULL if the specifiec actor does not exist or the container is not configured to provide #ClutterChildMeta<!-- -->s
a #ClutterActor that is a child of @container.
a #ClutterActor
a #GParamSpec
The <structname>ClutterContent</structname> structure is an opaque type
whose members cannot be acccessed directly.
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.
%TRUE if the content has a preferred size, and %FALSE otherwise
return location for the natural width of the content
return location for the natural height of the content
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.
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.
%TRUE if the content has a preferred size, and %FALSE otherwise
a #ClutterContent
return location for the natural width of the content
return location for the natural height of the content
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.
a #ClutterContent
This signal is emitted each time a #ClutterContent implementation is
assigned to a #ClutterActor.
a #ClutterActor
This signal is emitted each time a #ClutterContent implementation is
removed from a #ClutterActor.
a #ClutterActor
Controls the alignment of the #ClutterContent inside a #ClutterActor.
Align the content to the top left corner
Align the content to the top edge
Align the content to the top right corner
Align the content to the left edge
Align the content to the center
Align the content to the right edge
Align the content to the bottom left corner
Align the content to the bottom edge
Align the content to the bottom right corner
Resize the content to fill the allocation
Resize the content to remain within the allocation, while maintaining the aspect ratio
The <structname>ClutterContentIface</structname> structure contains only
private data.
%TRUE if the content has a preferred size, and %FALSE otherwise
return location for the natural width of the content
return location for the natural height of the content
Content repeat modes.
No repeat
Repeat the content on the X axis
Repeat the content on the Y axis
Repeat the content on both axis
Event for the movement of the pointer across different actors
The <structname>ClutterDeformEffect</structname> structure contains
only private data and should be accessed using the provided API
Retrieves the handle to the back face material used by @effect
a handle for the material, or %NULL. The returned material is owned by the #ClutterDeformEffect and it should not be freed directly
a #ClutterDeformEffect
Retrieves the number of horizontal and vertical tiles used to sub-divide
the actor's geometry during the effect
a #ClutterDeformEffect
return location for the number of horizontal tiles, or %NULL
return location for the number of vertical tiles, or %NULL
Invalidates the @effect<!-- -->'s vertices and, if it is associated
to an actor, it will queue a redraw
a #ClutterDeformEffect
Sets the material that should be used when drawing the back face
of the actor during a deformation
The #ClutterDeformEffect will take a reference on the material's
handle
a #ClutterDeformEffect
a handle to a Cogl material
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
a #ClutterDeformEffect
number of horizontal tiles
number of vertical tiles
A material to be used when painting the back of the actor
to which this effect has been applied
By default, no material will be used
The number of horizontal tiles. The bigger the number, the
smaller the tiles
The number of vertical tiles. The bigger the number, the
smaller the tiles
The <structname>ClutterDeformEffectClass</structname> structure contains
only private data
<structname>ClutterDesaturateEffect</structname> is an opaque structure
whose members cannot be directly accessed
Creates a new #ClutterDesaturateEffect to be used with
clutter_actor_add_effect()
the newly created #ClutterDesaturateEffect or %NULL
the desaturation factor, between 0.0 and 1.0
Retrieves the desaturation factor of @effect
the desaturation factor
a #ClutterDesaturateEffect
Sets the desaturation factor for @effect, with 0.0 being "do not desaturate"
and 1.0 being "fully desaturate"
a #ClutterDesaturateEffect
the desaturation factor, between 0.0 and 1.0
The desaturation factor, between 0.0 (no desaturation) and 1.0 (full
desaturation).
The #ClutterDeviceManager structure contains only private data
Retrieves the device manager singleton
the #ClutterDeviceManager singleton. The returned instance is owned by Clutter and it should not be modified or freed
Retrieves the core #ClutterInputDevice of type @device_type
Core devices are devices created automatically by the default
Clutter backend
a #ClutterInputDevice or %NULL. The returned device is owned by the #ClutterDeviceManager and should not be modified or freed
the type of the core device
Retrieves the #ClutterInputDevice with the given @device_id
a #ClutterInputDevice or %NULL. The returned device is owned by the #ClutterDeviceManager and should never be modified or freed
the integer id of a device
Retrieves the core #ClutterInputDevice of type @device_type
Core devices are devices created automatically by the default
Clutter backend
a #ClutterInputDevice or %NULL. The returned device is owned by the #ClutterDeviceManager and should not be modified or freed
a #ClutterDeviceManager
the type of the core device
Retrieves the #ClutterInputDevice with the given @device_id
a #ClutterInputDevice or %NULL. The returned device is owned by the #ClutterDeviceManager and should never be modified or freed
a #ClutterDeviceManager
the integer id of a device
Lists all currently registered input devices
a newly allocated list of #ClutterInputDevice objects. Use g_slist_free() to deallocate it when done
a #ClutterDeviceManager
Lists all currently registered input devices
a pointer to the internal list of #ClutterInputDevice objects. The returned list is owned by the #ClutterDeviceManager and should never be modified or freed
a #ClutterDeviceManager
The ::device-added signal is emitted each time a device has been
added to the #ClutterDeviceManager
the newly added #ClutterInputDevice
The ::device-removed signal is emitted each time a device has been
removed from the #ClutterDeviceManager
the removed #ClutterInputDevice
The #ClutterDeviceManagerClass structure contains only private data
a #ClutterInputDevice or %NULL. The returned device is owned by the #ClutterDeviceManager and should not be modified or freed
the type of the core device
a #ClutterInputDevice or %NULL. The returned device is owned by the #ClutterDeviceManager and should never be modified or freed
the integer id of a device
The <structname>ClutterDragAction</structname> structure contains only
private data and should be accessed using the provided API
Creates a new #ClutterDragAction instance
the newly created #ClutterDragAction
Retrieves the "drag area" associated with @action, that
is a #ClutterRect that constrains the actor movements,
in parents coordinates.
%TRUE if the actor is actually constrained (and thus @drag_area is valid), %FALSE otherwise
a #ClutterDragAction
a #ClutterRect to be filled
Retrieves the axis constraint set by clutter_drag_action_set_drag_axis()
the axis constraint
a #ClutterDragAction
Retrieves the drag handle set by clutter_drag_action_set_drag_handle()
a #ClutterActor, used as the drag handle, or %NULL if none was set
a #ClutterDragAction
Retrieves the values set by clutter_drag_action_set_drag_threshold().
If the #ClutterDragAction:x-drag-threshold property or the
#ClutterDragAction:y-drag-threshold property have been set to -1 then
this function will return the default drag threshold value as stored
by the #ClutterSettings:dnd-drag-threshold property of #ClutterSettings.
a #ClutterDragAction
return location for the horizontal drag threshold value, in pixels
return location for the vertical drag threshold value, in pixels
Retrieves the coordinates, in stage space, of the latest motion
event during the dragging
a #ClutterDragAction
return location for the latest motion event's X coordinate
return location for the latest motion event's Y coordinate
Retrieves the coordinates, in stage space, of the press event
that started the dragging
a #ClutterDragAction
return location for the press event's X coordinate
return location for the press event's Y coordinate
Sets @drag_area to constrain the dragging of the actor associated
with @action, so that it position is always within @drag_area, expressed
in parent's coordinates.
If @drag_area is %NULL, the actor is not constrained.
a #ClutterDragAction
a #ClutterRect
Restricts the dragging action to a specific axis
a #ClutterDragAction
the axis to constraint the dragging to
Sets the actor to be used as the drag handle.
a #ClutterDragAction
a #ClutterActor, or %NULL to unset
Sets the horizontal and vertical drag thresholds that must be
cleared by the pointer before @action can begin the dragging.
If @x_threshold or @y_threshold are set to -1 then the default
drag threshold stored in the #ClutterSettings:dnd-drag-threshold
property of #ClutterSettings will be used.
a #ClutterDragAction
a distance on the horizontal axis, in pixels, or -1 to use the default drag threshold from #ClutterSettings
a distance on the vertical axis, in pixels, or -1 to use the default drag threshold from #ClutterSettings
Constains the dragging action (or in particular, the resulting
actor position) to the specified #ClutterRect, in parent's
coordinates.
Whether the #ClutterDragAction:drag-area property has been set.
Constraints the dragging action to the specified axis
The #ClutterActor that is effectively being dragged
A #ClutterDragAction will, be default, use the #ClutterActor that
has been attached to the action; it is possible to create a
separate #ClutterActor and use it instead.
Setting this property has no effect on the #ClutterActor argument
passed to the #ClutterDragAction signals
The horizontal threshold, in pixels, that the cursor must travel
in order to begin a drag action.
When set to a positive value, #ClutterDragAction will only emit
#ClutterDragAction::drag-begin if the pointer has moved
horizontally at least of the given amount of pixels since
the button press event.
When set to -1, #ClutterDragAction will use the default threshold
stored in the #ClutterSettings:dnd-drag-threshold property of
#ClutterSettings.
When read, this property will always return a valid drag
threshold, either as set or the default one.
The vertical threshold, in pixels, that the cursor must travel
in order to begin a drag action.
When set to a positive value, #ClutterDragAction will only emit
#ClutterDragAction::drag-begin if the pointer has moved
vertically at least of the given amount of pixels since
the button press event.
When set to -1, #ClutterDragAction will use the value stored
in the #ClutterSettings:dnd-drag-threshold property of
#ClutterSettings.
When read, this property will always return a valid drag
threshold, either as set or the default one.
The ::drag-begin signal is emitted when the #ClutterDragAction
starts the dragging
The emission of this signal can be delayed by using the
#ClutterDragAction:x-drag-threshold and
#ClutterDragAction:y-drag-threshold properties
the #ClutterActor attached to the action
the X coordinate (in stage space) of the press event
the Y coordinate (in stage space) of the press event
the modifiers of the press event
The ::drag-end signal is emitted at the end of the dragging,
when the pointer button's is released
This signal is emitted if and only if the #ClutterDragAction::drag-begin
signal has been emitted first
the #ClutterActor attached to the action
the X coordinate (in stage space) of the release event
the Y coordinate (in stage space) of the release event
the modifiers of the release event
The ::drag-motion signal is emitted for each motion event after
the #ClutterDragAction::drag-begin signal has been emitted.
The components of the distance between the press event and the
latest motion event are computed in the actor's coordinate space,
to take into account eventual transformations. If you want the
stage coordinates of the latest motion event you can use
clutter_drag_action_get_motion_coords().
The default handler of the signal will call clutter_actor_move_by()
either on @actor or, if set, of #ClutterDragAction:drag-handle using
the @delta_x and @delta_y components of the dragging motion. If you
want to override the default behaviour, you can connect to the
#ClutterDragAction::drag-progress signal and return %FALSE from the
handler.
the #ClutterActor attached to the action
the X component of the distance between the press event that began the dragging and the current position of the pointer, as of the latest motion event
the Y component of the distance between the press event that began the dragging and the current position of the pointer, as of the latest motion event
The ::drag-progress signal is emitted for each motion event after
the #ClutterDragAction::drag-begin signal has been emitted.
The components of the distance between the press event and the
latest motion event are computed in the actor's coordinate space,
to take into account eventual transformations. If you want the
stage coordinates of the latest motion event you can use
clutter_drag_action_get_motion_coords().
The default handler will emit #ClutterDragAction::drag-motion,
if #ClutterDragAction::drag-progress emission returns %TRUE.
%TRUE if the drag should continue, and %FALSE if it should be stopped.
the #ClutterActor attached to the action
the X component of the distance between the press event that began the dragging and the current position of the pointer, as of the latest motion event
the Y component of the distance between the press event that began the dragging and the current position of the pointer, as of the latest motion event
The <structname>ClutterDragActionClass</structname> structure contains
only private data
The axis of the constraint that should be applied on the
dragging action
No constraint
Set a constraint on the X axis
Set a constraint on the Y axis
The <structname>ClutterDropAction</structname> structure contains only
private data and should be accessed using the provided API.
Creates a new #ClutterDropAction.
Use clutter_actor_add_action() to add the action to a #ClutterActor.
the newly created #ClutterDropAction
The ::can-drop signal is emitted when the dragged actor is dropped
on @actor. The return value of the ::can-drop signal will determine
whether or not the #ClutterDropAction::drop signal is going to be
emitted on @action.
The default implementation of #ClutterDropAction returns %TRUE for
this signal.
%TRUE if the drop is accepted, and %FALSE otherwise
the #ClutterActor attached to the @action
the X coordinate (in stage space) of the drop event
the Y coordinate (in stage space) of the drop event
The ::drop signal is emitted when the dragged actor is dropped
on @actor. This signal is only emitted if at least an handler of
#ClutterDropAction::can-drop returns %TRUE.
the #ClutterActor attached to the @action
the X coordinate (in stage space) of the drop event
the Y coordinate (in stage space) of the drop event
The ::drop-cancel signal is emitted when the drop is refused
by an emission of the #ClutterDropAction::can-drop signal.
After the ::drop-cancel signal is fired the active drag is
terminated.
the #ClutterActor attached to the @action
the X coordinate (in stage space) of the drop event
the Y coordinate (in stage space) of the drop event
The ::over-in signal is emitted when the dragged actor crosses
into @actor.
the #ClutterActor attached to the @action
The ::over-out signal is emitted when the dragged actor crosses
outside @actor.
the #ClutterActor attached to the @action
The <structname>ClutterDropActionClass</structname> structure contains
only private data.
The #ClutterEffect structure contains only private data and should
be accessed using the provided API
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
veryifying 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.
A #ClutterEffect which needs redrawing
The #ClutterEffectClass structure contains only private data
Flags passed to the ‘paint’ or ‘pick’ method of #ClutterEffect.
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.
Generic event wrapper.
Creates a new #ClutterEvent of the specified type.
A newly allocated #ClutterEvent.
The type of event.
Copies @event.
A newly allocated #ClutterEvent
A #ClutterEvent.
Frees all resources used by @event.
A #ClutterEvent.
Retrieves the angle relative from @source to @target.
The direction of the angle is from the position X axis towards
the positive Y axis.
the angle between two #ClutterEvent
a #ClutterEvent
a #ClutterEvent
Retrieves the array of axes values attached to the event.
an array of axis values
a #ClutterEvent
return location for the number of axes returned
Retrieves the button number of @event
the button number
a #ClutterEvent of type %CLUTTER_BUTTON_PRESS or of type %CLUTTER_BUTTON_RELEASE
Retrieves the number of clicks of @event
the click count
a #ClutterEvent of type %CLUTTER_BUTTON_PRESS or of type %CLUTTER_BUTTON_RELEASE
Retrieves the coordinates of @event and puts them into @x and @y.
a #ClutterEvent
return location for the X coordinate, or %NULL
return location for the Y coordinate, or %NULL
Retrieves the #ClutterInputDevice for the event.
The #ClutterInputDevice structure is completely opaque and should
be cast to the platform-specific implementation.
the #ClutterInputDevice or %NULL. The returned device is owned by the #ClutterEvent and it should not be unreferenced
a #ClutterEvent
Retrieves the events device id if set.
A unique identifier for the device or -1 if the event has no specific device set.
a clutter event
Retrieves the type of the device for @event
the #ClutterInputDeviceType for the device, if any is set
a #ClutterEvent
Retrieves the distance between two events, a @source and a @target.
the distance between two #ClutterEvent
a #ClutterEvent
a #ClutterEvent
Retrieves the #ClutterEventSequence of @event.
the event sequence, or %NULL
a #ClutterEvent of type %CLUTTER_TOUCH_BEGIN, %CLUTTER_TOUCH_UPDATE, %CLUTTER_TOUCH_END, or %CLUTTER_TOUCH_CANCEL
Retrieves the #ClutterEventFlags of @event
the event flags
a #ClutterEvent
Retrieves the keycode of the key that caused @event
The keycode representing the key
a #ClutterEvent of type %CLUTTER_KEY_PRESS or of type %CLUTTER_KEY_RELEASE
Retrieves the key symbol of @event
the key symbol representing the key
a #ClutterEvent of type %CLUTTER_KEY_PRESS or of type %CLUTTER_KEY_RELEASE
Retrieves the unicode value for the key that caused @keyev.
The unicode value representing the key
a #ClutterEvent of type %CLUTTER_KEY_PRESS or %CLUTTER_KEY_RELEASE
Retrieves the event coordinates as a #ClutterPoint.
a #ClutterEvent
a #ClutterPoint
Retrieves the related actor of a crossing event.
the related #ClutterActor, or %NULL
a #ClutterEvent of type %CLUTTER_ENTER or of type %CLUTTER_LEAVE
Retrieves the precise scrolling information of @event.
The @event has to have a #ClutterScrollEvent.direction value
of %CLUTTER_SCROLL_SMOOTH.
a #ClutterEvent of type %CLUTTER_SCROLL
return location for the delta on the horizontal axis
return location for the delta on the vertical axis
Retrieves the direction of the scrolling of @event
the scrolling direction
a #ClutterEvent of type %CLUTTER_SCROLL
Retrieves the source #ClutterActor the event originated from, or
NULL if the event has no source.
a #ClutterActor
a #ClutterEvent
Retrieves the hardware device that originated the event.
If you need the virtual device, use clutter_event_get_device().
If no hardware device originated this event, this function will
return the same device as clutter_event_get_device().
a pointer to a #ClutterInputDevice or %NULL
a #ClutterEvent
Retrieves the source #ClutterStage the event originated for, or
%NULL if the event has no stage.
a #ClutterStage
a #ClutterEvent
Retrieves the modifier state of the event.
the modifier state parameter, or 0
a #ClutterEvent
Retrieves the time of the event.
the time of the event, or %CLUTTER_CURRENT_TIME
a #ClutterEvent
Checks whether @event has the Control modifier mask set.
%TRUE if the event has the Control modifier mask set
a #ClutterEvent
Checks whether @event has the Shift modifier mask set.
%TRUE if the event has the Shift modifier mask set
a #ClutterEvent
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).
%TRUE if the event is pointer emulated
a #ClutterEvent
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
a #ClutterEvent
Sets the button number of @event
a #ClutterEvent or type %CLUTTER_BUTTON_PRESS or of type %CLUTTER_BUTTON_RELEASE
the button number
Sets the coordinates of the @event.
a #ClutterEvent
the X coordinate of the event
the Y coordinate of the event
Sets the device for @event.
a #ClutterEvent
a #ClutterInputDevice, or %NULL
Sets the #ClutterEventFlags of @event
a #ClutterEvent
a binary OR of #ClutterEventFlags values
Sets the keycode of the @event.
a #ClutterEvent of type %CLUTTER_KEY_PRESS or %CLUTTER_KEY_RELEASE
the keycode representing the key
Sets the key symbol of @event.
a #ClutterEvent of type %CLUTTER_KEY_PRESS or %CLUTTER_KEY_RELEASE
the key symbol representing the key
Sets the Unicode value of @event.
a #ClutterEvent of type %CLUTTER_KEY_PRESS or %CLUTTER_KEY_RELEASE
the Unicode value representing the key
Sets the related actor of a crossing event
a #ClutterEvent of type %CLUTTER_ENTER or %CLUTTER_LEAVE
a #ClutterActor or %NULL
Sets the precise scrolling information of @event.
a #ClutterEvent of type %CLUTTER_SCROLL
delta on the horizontal axis
delta on the vertical axis
Sets the direction of the scrolling of @event
a #ClutterEvent
the scrolling direction
Sets the source #ClutterActor of @event.
a #ClutterEvent
a #ClutterActor, or %NULL
Sets the source #ClutterInputDevice for @event.
The #ClutterEvent must have been created using clutter_event_new().
a #ClutterEvent
a #ClutterInputDevice
Sets the source #ClutterStage of the event.
a #ClutterEvent
a #ClutterStage, or %NULL
Sets the modifier state of the event.
a #ClutterEvent
the modifier state to set
Sets the time of the event.
a #ClutterEvent
the time of the event
Retrieves the type of the event.
a #ClutterEventType
a #ClutterEvent
Pops an event off the event queue. Applications should not need to call
this.
A #ClutterEvent or NULL if queue empty
Returns a pointer to the first event from the event queue but
does not remove it.
A #ClutterEvent or NULL if queue empty.
Flags for the #ClutterEvent
No flag set
Synthetic event
The <structname>ClutterEventSequence</structname> structure is an opaque
type used to denote the event sequence of a touch event.
Types of events.
Empty event
Key press event
Key release event
Pointer motion event
Actor enter event
Actor leave event
Pointer button press event
Pointer button release event
Pointer scroll event
Stage state change event
Destroy notification event
Client message event
Stage delete event
A new touch event sequence has started; event added in 1.10
A touch event sequence has been updated; event added in 1.10
A touch event sequence has finished; event added in 1.10
A touch event sequence has been canceled; event added in 1.10
Marks the end of the #ClutterEventType enumeration; added in 1.10
GL Windowing system used
Runtime flags indicating specific features available via Clutter window
sysytem and graphics backend.
Set if NPOTS textures supported.
Set if vblank syncing supported.
Set if YUV based textures supported.
Set if texture pixels can be read.
Set if stage size if fixed (i.e framebuffer)
Set if stage is able to be user resized.
Set if stage has a graphical cursor.
Set if the backend supports GLSL shaders.
Set if the backend supports offscreen rendering.
Set if multiple stages are supported.
Set if the GLX_INTEL_swap_event is supported.
The #ClutterFixedLayout structure contains only private data and
it should be accessed using the provided API
Creates a new #ClutterFixedLayout
the newly created #ClutterFixedLayout
The #ClutterFixedLayoutClass structure contains only private data
and it should be accessed using the provided API
The #ClutterFlowLayout structure contains only private data
and should be accessed using the provided API
Creates a new #ClutterFlowLayout with the given @orientation
the newly created #ClutterFlowLayout
the orientation of the flow layout
Retrieves the spacing between columns
the spacing between columns of the #ClutterFlowLayout, in pixels
a #ClutterFlowLayout
Retrieves the minimum and maximum column widths
a #ClutterFlowLayout
return location for the minimum column width, or %NULL
return location for the maximum column width, or %NULL
Retrieves whether the @layout is homogeneous
%TRUE if the #ClutterFlowLayout is homogeneous
a #ClutterFlowLayout
Retrieves the orientation of the @layout
the orientation of the #ClutterFlowLayout
a #ClutterFlowLayout
Retrieves the minimum and maximum row heights
a #ClutterFlowLayout
return location for the minimum row height, or %NULL
return location for the maximum row height, or %NULL
Retrieves the spacing between rows
the spacing between rows of the #ClutterFlowLayout, in pixels
a #ClutterFlowLayout
Sets the space between columns, in pixels
a #ClutterFlowLayout
the space between columns
Sets the minimum and maximum widths that a column can have
a #ClutterFlowLayout
minimum width of a column
maximum width of a column
Sets whether the @layout should allocate the same space for
each child
a #ClutterFlowLayout
whether the layout should be homogeneous or not
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
a #ClutterFlowLayout
the orientation of the layout
Sets the minimum and maximum heights that a row can have
a #ClutterFlowLayout
the minimum height of a row
the maximum height of a row
Sets the spacing between rows, in pixels
a #ClutterFlowLayout
the space between rows
The spacing between columns, in pixels; the value of this
property is honoured by horizontal non-overflowing layouts
and by vertical overflowing layouts
Whether each child inside the #ClutterFlowLayout should receive
the same allocation
Maximum width for each column in the layout, in pixels. If
set to -1 the width will be the maximum child width
Maximum height for each row in the layout, in pixels. If
set to -1 the width will be the maximum child height
Minimum width for each column in the layout, in pixels
Minimum height for each row in the layout, in pixels
The orientation of the #ClutterFlowLayout. The children
of the layout will be layed out following the orientation.
This property also controls the overflowing directions
The spacing between rows, in pixels; the value of this
property is honoured by vertical non-overflowing layouts and
by horizontal overflowing layouts
The #ClutterFlowLayoutClass structure contains only private data
and should be accessed using the provided API
The direction of the arrangement of the children inside
a #ClutterFlowLayout
Arrange the children of the flow layout horizontally first
Arrange the children of the flow layout vertically first
Fog settings used to create the depth cueing effect.
Runtime flags to change the font quality. To be used with
clutter_set_font_flags().
Set to use mipmaps for the glyph cache textures.
Set to enable hinting on the glyphs.
The rectangle containing an actor's bounding box, measured in pixels.
<warning>You should not use #ClutterGeometry, or operate on its fields
directly; you should use #cairo_rectangle_int_t or #ClutterRect if you
need a rectangle type, depending on the precision required.</warning>
Determines if @geometry0 and geometry1 intersect returning %TRUE if
they do else %FALSE.
%TRUE of @geometry0 and geometry1 intersect else %FALSE.
The first geometry to test
The second geometry to test
Find the union of two rectangles represented as #ClutterGeometry.
a #ClutterGeometry
another #ClutterGeometry
location to store the result
The <structname>ClutterGestureAction</structname> structure contains
only private data and should be accessed using the provided API
Creates a new #ClutterGestureAction instance.
the newly created #ClutterGestureAction
Cancel a #ClutterGestureAction before it begins
a #ClutterGestureAction
Retrieves the #ClutterInputDevice of a touch point.
the #ClutterInputDevice of a touch point.
a #ClutterGestureAction
the touch point index, with 0 being the first touch point received by the action
Retrieves a reference to the last #ClutterEvent for a touch point. Call
clutter_event_copy() if you need to store the reference somewhere.
the last #ClutterEvent for a touch point.
a #ClutterGestureAction
index of a point currently active
Retrieves the coordinates, in stage space, of the latest motion
event during the dragging.
a #ClutterGestureAction
the touch point index, with 0 being the first touch point received by the action
return location for the latest motion event's X coordinate
return location for the latest motion event's Y coordinate
Retrieves the incremental delta since the last motion event
during the dragging.
the distance since last motion event
a #ClutterGestureAction
the touch point index, with 0 being the first touch point received by the action
return location for the X axis component of the incremental motion delta
return location for the Y axis component of the incremental motion delta
Retrieves the number of points currently active.
the number of points currently active.
a #ClutterGestureAction
Retrieves the number of requested points to trigger the gesture.
the number of points to trigger the gesture.
a #ClutterGestureAction
Retrieves the coordinates, in stage space, of the press event
that started the dragging for a specific touch point.
a #ClutterGestureAction
the touch point index, with 0 being the first touch point received by the action
return location for the press event's X coordinate
return location for the press event's Y coordinate
Retrieves the coordinates, in stage space, where the touch point was
last released.
a #ClutterGestureAction
the touch point index, with 0 being the first touch point received by the action
return location for the X coordinate of the last release
return location for the Y coordinate of the last release
Retrieves the #ClutterEventSequence of a touch point.
the #ClutterEventSequence of a touch point.
a #ClutterGestureAction
index of a point currently active
Retrieves the velocity, in stage pixels per millisecond, of the
latest motion event during the dragging.
a #ClutterGestureAction
the touch point index, with 0 being the first touch point received by the action
return location for the latest motion event's X velocity
return location for the latest motion event's Y velocity
Sets the number of points needed to trigger the gesture.
a #ClutterGestureAction
a number of points
The ::gesture_begin signal is emitted when the #ClutterActor to which
a #ClutterGestureAction has been applied starts receiving a gesture.
%TRUE if the gesture should start, and %FALSE if the gesture should be ignored.
the #ClutterActor attached to the @action
The ::gesture-cancel signal is emitted when the ongoing gesture gets
cancelled from the #ClutterGestureAction::gesture-progress signal handler.
This signal is emitted if and only if the #ClutterGestureAction::gesture-begin
signal has been emitted first.
the #ClutterActor attached to the @action
The ::gesture-end signal is emitted at the end of the gesture gesture,
when the pointer's button is released
This signal is emitted if and only if the #ClutterGestureAction::gesture-begin
signal has been emitted first.
the #ClutterActor attached to the @action
The ::gesture-progress signal is emitted for each motion event after
the #ClutterGestureAction::gesture-begin signal has been emitted.
%TRUE if the gesture should continue, and %FALSE if the gesture should be cancelled.
the #ClutterActor attached to the @action
The <structname>ClutterGestureClass</structname> structure contains only
private data.
Gravity of the scaling operations. When a gravity different than
%CLUTTER_GRAVITY_NONE is used, an actor is scaled keeping the position
of the specified portion at the same coordinates.
Do not apply any gravity
Scale from topmost downwards
Scale from the top right corner
Scale from the right side
Scale from the bottom right corner
Scale from the bottom upwards
Scale from the bottom left corner
Scale from the left side
Scale from the top left corner
Scale from the center.
The #ClutterGridLayout structure contains only private data
and should be accessed using the provided API
Creates a new #ClutterGridLayout
the new #ClutterGridLayout
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.
a #ClutterGridLayout
the #ClutterActor to add
the column number to attach the left side of @child to
the row number to attach the top side of @child to
the number of columns that @child will span
the number of rows that @child will span
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].
a #ClutterGridLayout
the actor to add
the child of @layout that @child will be placed next to, or %NULL to place @child at the beginning or end
the side of @sibling that @child is positioned next to
the number of columns that @child will span
the number of rows that @child will span
Gets the child of @layout whose area covers the grid
cell whose upper left corner is at @left, @top.
the child at the given position, or %NULL
a #ClutterGridLayout
the left edge of the cell
the top edge of the cell
Returns whether all columns of @layout have the same width.
whether all columns of @layout have the same width.
a #ClutterGridLayout
Retrieves the spacing set using clutter_grid_layout_set_column_spacing()
the spacing between coluns of @layout
a #ClutterGridLayout
Retrieves the orientation of the @layout.
the orientation of the layout
a #ClutterGridLayout
Returns whether all rows of @layout have the same height.
whether all rows of @layout have the same height.
a #ClutterGridLayout
Retrieves the spacing set using clutter_grid_layout_set_row_spacing()
the spacing between rows of @layout
a #ClutterGridLayout
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.
a #ClutterGridLayout
the position to insert the column at
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.
a #ClutterGridLayout
the child of @layout that the new row or column will be placed next to
the side of @sibling that @child is positioned next to
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.
a #ClutterGridLayout
the position to insert the row at
Sets whether all columns of @layout will have the same width.
a #ClutterGridLayout
%TRUE to make columns homogeneous
Sets the spacing between columns of @layout
a #ClutterGridLayout
the spacing between columns of the layout, in pixels
Sets the orientation of the @layout
a #ClutterGridLayout
the orientation of the #ClutterGridLayout
Sets whether all rows of @layout will have the same height.
a #ClutterGridLayout
%TRUE to make rows homogeneous
Sets the spacing between rows of @layout
a #ClutterGridLayout
the spacing between rows of the layout, in pixels
Whether all columns of the layout should have the same width
The amount of space in pixels between two consecutive columns
The orientation of the layout, either horizontal or vertical
Whether all rows of the layout should have the same height
The amount of space in pixels between two consecutive rows
The #ClutterGridLayoutClass structure contains only private
data and should be accessed using the provided API
Grid position modes.
left position
right position
top position
bottom position
The #ClutterGroup structure contains only private data
and should be accessed using the provided API
Create a new #ClutterGroup.
the newly created #ClutterGroup actor
Gets the number of actors held in the group.
The number of child actors held in the group.
A #ClutterGroup
Gets a groups child held at @index_ in stack.
A Clutter actor, or %NULL if @index_ is invalid.
A #ClutterGroup
the position of the requested actor.
Removes all children actors from the #ClutterGroup.
A #ClutterGroup
The #ClutterGroupClass structure contains only private data
The <structname>ClutterImage</structname> structure contains
private data and should only be accessed using the provided
API.
Creates a new #ClutterImage instance.
the newly created #ClutterImage instance. Use g_object_unref() when done.
Sets the image data to be display by @image, using @rect to indicate
the position and size of the image data to be set.
If the @image does not have any image data set when this function is
called, a new texture will be created with the size of the width and
height of the rectangle, i.e. calling this function on a newly created
#ClutterImage will be the equivalent of calling clutter_image_set_data().
If the image data was successfully loaded, the @image will be invalidated.
In case of error, the @error value will be set, and this function will
return %FALSE.
The image data is copied in texture memory.
%TRUE if the image data was successfully loaded, and %FALSE otherwise.
a #ClutterImage
the image data, as an array of bytes
the Cogl pixel format of the image data
a rectangle indicating the area that should be set
the length of each row inside @data
Sets the image data stored inside a #GBytes to be displayed by @image.
If the image data was successfully loaded, the @image will be invalidated.
In case of error, the @error value will be set, and this function will
return %FALSE.
The image data contained inside the #GBytes is copied in texture memory,
and no additional reference is acquired on the @data.
%TRUE if the image data was successfully loaded, and %FALSE otherwise.
a #ClutterImage
the image data, as a #GBytes
the Cogl pixel format of the image data
the width of the image data
the height of the image data
the length of each row inside @data
Sets the image data to be displayed by @image.
If the image data was successfully loaded, the @image will be invalidated.
In case of error, the @error value will be set, and this function will
return %FALSE.
The image data is copied in texture memory.
%TRUE if the image data was successfully loaded, and %FALSE otherwise.
a #ClutterImage
the image data, as an array of bytes
the Cogl pixel format of the image data
the width of the image data
the height of the image data
the length of each row inside @data
The <structname>ClutterImageClass</structname> structure contains
private data.
Error enumeration for #ClutterImage.
Invalid data passed to the clutter_image_set_data() function.
Error conditions returned by clutter_init() and clutter_init_with_args().
Initialisation successful
Unknown error
Thread initialisation failed
Backend initialisation failed
Internal error
The type of axes Clutter recognizes on a #ClutterInputDevice
Unused axis
The position on the X axis
The position of the Y axis
The pressure information
The tilt on the X axis
The tile on the Y axis
A wheel
Distance (Since 1.12)
Last value of the enumeration; this value is useful when iterating over the enumeration values (Since 1.12)
Generic representation of an input device. The actual contents of this
structure depend on the backend used.
Retrieves a pointer to the #ClutterInputDevice that has been
associated to @device.
If the #ClutterInputDevice:device-mode property of @device is
set to %CLUTTER_INPUT_MODE_MASTER, this function will return
%NULL.
a #ClutterInputDevice, or %NULL
a #ClutterInputDevice
Retrieves the type of axis on @device at the given index.
the axis type
a #ClutterInputDevice
the index of the axis
Extracts the value of the given @axis of a #ClutterInputDevice from
an array of axis values.
An example of typical usage for this function is:
|[
ClutterInputDevice *device = clutter_event_get_device (event);
gdouble *axes = clutter_event_get_axes (event, NULL);
gdouble pressure_value = 0;
clutter_input_device_get_axis_value (device, axes,
CLUTTER_INPUT_AXIS_PRESSURE,
&pressure_value);
]|
%TRUE if the value was set, and %FALSE otherwise
a #ClutterInputDevice
an array of axes values, typically coming from clutter_event_get_axes()
the axis to extract
return location for the axis value
Retrieves the latest coordinates of a pointer or touch point of
@device.
%FALSE if the device's sequence hasn't been found, and %TRUE otherwise.
a #ClutterInputDevice
a #ClutterEventSequence, or %NULL if the device is not touch-based
return location for the pointer or touch point
Retrieves the latest coordinates of the pointer of @device
a #ClutterInputDevice of type %CLUTTER_POINTER_DEVICE
return location for the X coordinate
return location for the Y coordinate
Retrieves the unique identifier of @device
the identifier of the device
a #ClutterInputDevice
Retrieves the #ClutterInputMode of @device.
the device mode
a #ClutterInputDevice
Retrieves the name of the @device
the name of the device, or %NULL. The returned string is owned by the #ClutterInputDevice and should never be modified or freed
a #ClutterInputDevice
Retrieves the type of @device
the type of the device
a #ClutterInputDevice
Retrieves whether @device is enabled.
%TRUE if the device is enabled
a #ClutterInputDevice
Retrieves a pointer to the #ClutterActor currently grabbing all
the events coming from @device.
a #ClutterActor, or %NULL
a #ClutterInputDevice
Retrieves whether @device has a pointer that follows the
device motion.
%TRUE if the device has a cursor
a #ClutterInputDevice
Retrieves the key set using clutter_input_device_set_key()
%TRUE if a key was set at the given index
a #ClutterInputDevice
the index of the key
return location for the keyval at @index_
return location for the modifiers at @index_
Retrieves the number of axes available on @device.
the number of axes on the device
a #ClutterInputDevice
Retrieves the number of keys registered for @device.
the number of registered keys
a #ClutterInputDevice
Retrieves the #ClutterActor underneath the pointer of @device
a pointer to the #ClutterActor or %NULL
a #ClutterInputDevice of type %CLUTTER_POINTER_DEVICE
Retrieves the #ClutterStage underneath the pointer of @device
a pointer to the #ClutterStage or %NULL
a #ClutterInputDevice of type %CLUTTER_POINTER_DEVICE
Retrieves the slave devices attached to @device.
a list of #ClutterInputDevice, or %NULL. The contents of the list are owned by the device. Use g_list_free() when done
a #ClutterInputDevice
Acquires a grab on @actor for the given @device.
Any event coming from @device will be delivered to @actor, bypassing
the usual event delivery mechanism, until the grab is released by
calling clutter_input_device_ungrab().
The grab is client-side: even if the windowing system used by the Clutter
backend has the concept of "device grabs", Clutter will not use them.
Only #ClutterInputDevice of types %CLUTTER_POINTER_DEVICE and
%CLUTTER_KEYBOARD_DEVICE can hold a grab.
a #ClutterInputDevice
a #ClutterActor
Translates a hardware keycode from a #ClutterKeyEvent to the
equivalent evdev keycode. Note that depending on the input backend
used by Clutter this function can fail if there is no obvious
mapping between the key codes. The hardware keycode can be taken
from the #ClutterKeyEvent.hardware_keycode member of #ClutterKeyEvent.
%TRUE if the conversion succeeded, %FALSE otherwise.
A #ClutterInputDevice
The hardware keycode from a #ClutterKeyEvent
The return location for the evdev keycode
Retrieves a pointer to the #ClutterActor currently grabbing the
touch events coming from @device given the @sequence.
a #ClutterActor, or %NULL
a #ClutterInputDevice
a #ClutterEventSequence
Acquires a grab on @actor for the given @device and the given touch
@sequence.
Any touch event coming from @device and from @sequence will be
delivered to @actor, bypassing the usual event delivery mechanism,
until the grab is released by calling
clutter_input_device_sequence_ungrab().
The grab is client-side: even if the windowing system used by the Clutter
backend has the concept of "device grabs", Clutter will not use them.
a #ClutterInputDevice
a #ClutterEventSequence
a #ClutterActor
Releases the grab on the @device for the given @sequence, if one is
in place.
a #ClutterInputDevice
a #ClutterEventSequence
Enables or disables a #ClutterInputDevice.
Only devices with a #ClutterInputDevice:device-mode property set
to %CLUTTER_INPUT_MODE_SLAVE or %CLUTTER_INPUT_MODE_FLOATING can
be disabled.
a #ClutterInputDevice
%TRUE to enable the @device
Sets the keyval and modifiers at the given @index_ for @device.
Clutter will use the keyval and modifiers set when filling out
an event coming from the same input device.
a #ClutterInputDevice
the index of the key
the keyval
a bitmask of modifiers
Releases the grab on the @device, if one is in place.
a #ClutterInputDevice
Forcibly updates the state of the @device using a #ClutterEvent
This function should never be used by applications: it is meant
for integration with embedding toolkits, like clutter-gtk
Embedding toolkits that disable the event collection inside Clutter
need to use this function to update the state of input devices depending
on a #ClutterEvent that they are going to submit to the event handling code
in Clutter though clutter_do_event(). Since the input devices hold the state
that is going to be used to fill in fields like the #ClutterButtonEvent
click count, or to emit synthesized events like %CLUTTER_ENTER and
%CLUTTER_LEAVE, it is necessary for embedding toolkits to also be
responsible of updating the input device state.
For instance, this might be the code to translate an embedding toolkit
native motion notification into a Clutter #ClutterMotionEvent and ask
Clutter to process it:
|[
ClutterEvent c_event;
translate_native_event_to_clutter (native_event, &c_event);
clutter_do_event (&c_event);
]|
Before letting clutter_do_event() process the event, it is necessary to call
clutter_input_device_update_from_event():
|[
ClutterEvent c_event;
ClutterDeviceManager *manager;
ClutterInputDevice *device;
translate_native_event_to_clutter (native_event, &c_event);
/* get the device manager */
manager = clutter_device_manager_get_default ();
/* use the default Core Pointer that Clutter
* backends register by default
*/
device = clutter_device_manager_get_core_device (manager, %CLUTTER_POINTER_DEVICE);
/* update the state of the input device */
clutter_input_device_update_from_event (device, &c_event, FALSE);
clutter_do_event (&c_event);
]|
The @update_stage boolean argument should be used when the input device
enters and leaves a #ClutterStage; it will use the #ClutterStage field
of the passed @event to update the stage associated to the input device.
a #ClutterInputDevice
a #ClutterEvent
whether to update the #ClutterStage of the @device using the stage of the event
The #ClutterBackend that created the device.
The #ClutterDeviceManager instance which owns the device
The type of the device
Whether the device is enabled.
A device with the #ClutterInputDevice:device-mode property set
to %CLUTTER_INPUT_MODE_MASTER cannot be disabled.
A device must be enabled in order to receive events from it.
Whether the device has an on screen cursor following its movement.
The unique identifier of the device
The number of axes of the device.
The name of the device
The types of input devices available.
The #ClutterInputDeviceType enumeration can be extended at later
date; not every platform supports every input device type.
A pointer device
A keyboard device
A generic extension device
A joystick device
A tablet device
A touchpad device
A touch screen device
A pen device
An eraser device
A cursor device
The number of device types
The mode for input devices available.
A master, virtual device
A slave, physical device, attached to a master device
A slave, physical device, not attached to a master device
The mode of interpolation between key frames
linear interpolation
cubic interpolation
The #ClutterInterval structure contains only private data and should
be accessed using the provided functions.
Creates a new #ClutterInterval holding values of type @gtype.
This function avoids using a #GValue for the initial and final values
of the interval:
|[
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);
]|
the newly created #ClutterInterval
the type of the values in the interval
Creates a new #ClutterInterval of type @gtype, between @initial
and @final.
This function is useful for language bindings.
the newly created #ClutterInterval
the type of the values in the interval
a #GValue holding the initial value of the interval
a #GValue holding the final value of the interval
Sets the progress function for a given @value_type, like:
|[
clutter_interval_register_progress_func (MY_TYPE_FOO,
my_foo_progress);
]|
Whenever a #ClutterInterval instance using the default
#ClutterInterval::compute_value implementation is set as an
interval between two #GValue of type @value_type, it will call
@func to establish the value depending on the given progress,
for instance:
|[
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 #GType, pass %NULL
for @func.
a #GType
a #ClutterProgressFunc, or %NULL to unset a previously set progress function
Computes the value between the @interval boundaries given the
progress @factor and copies it into @value.
%TRUE if the operation was successful
the progress factor, between 0 and 1
return location for an initialized #GValue
Validates the initial and final values of @interval against
a #GParamSpec.
%TRUE if the #ClutterInterval is valid, %FALSE otherwise
a #GParamSpec
Creates a copy of @interval.
the newly created #ClutterInterval
a #ClutterInterval
Computes the value between the @interval boundaries given the
progress @factor
Unlike 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()
a pointer to the computed value, or %NULL if the computation was not successfull
a #ClutterInterval
the progress factor, between 0 and 1
Computes the value between the @interval boundaries given the
progress @factor and copies it into @value.
%TRUE if the operation was successful
a #ClutterInterval
the progress factor, between 0 and 1
return location for an initialized #GValue
Retrieves the final value of @interval and copies
it into @value.
The passed #GValue must be initialized to the value held by
the #ClutterInterval.
a #ClutterInterval
a #GValue
Retrieves the initial value of @interval and copies
it into @value.
The passed #GValue must be initialized to the value held by
the #ClutterInterval.
a #ClutterInterval
a #GValue
Variable arguments wrapper for clutter_interval_get_initial_value()
and clutter_interval_get_final_value() that avoids using the
#GValue arguments:
|[
gint a = 0, b = 0;
clutter_interval_get_interval (interval, &a, &b);
]|
This function is meant for the convenience of the C API; bindings
should reimplement this function using the #GValue-based API.
a #ClutterInterval
Retrieves the #GType of the values inside @interval.
the type of the value, or G_TYPE_INVALID
a #ClutterInterval
Checks if the @interval has a valid initial and final values.
%TRUE if the #ClutterInterval has an initial and final values, and %FALSE otherwise
a #ClutterInterval
Gets the pointer to the final value of @interval
the final value of the interval. The value is owned by the #ClutterInterval and it should not be modified or freed
a #ClutterInterval
Gets the pointer to the initial value of @interval
the initial value of the interval. The value is owned by the #ClutterInterval and it should not be modified or freed
a #ClutterInterval
Variadic arguments version of clutter_interval_set_final_value().
This function is meant as a convenience for the C API.
Language bindings should use clutter_interval_set_final_value() instead.
a #ClutterInterval
Sets the final value of @interval to @value. The value is
copied inside the #ClutterInterval.
a #ClutterInterval
a #GValue
Variadic arguments version of clutter_interval_set_initial_value().
This function is meant as a convenience for the C API.
Language bindings should use clutter_interval_set_initial_value()
instead.
a #ClutterInterval
Sets the initial value of @interval to @value. The value is copied
inside the #ClutterInterval.
a #ClutterInterval
a #GValue
Variable arguments wrapper for clutter_interval_set_initial_value()
and clutter_interval_set_final_value() that avoids using the
#GValue arguments:
|[
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.
a #ClutterInterval
Validates the initial and final values of @interval against
a #GParamSpec.
%TRUE if the #ClutterInterval is valid, %FALSE otherwise
a #ClutterInterval
a #GParamSpec
The final value of the interval.
The initial value of the interval.
The type of the values in the interval.
The #ClutterIntervalClass contains only private data.
%TRUE if the #ClutterInterval is valid, %FALSE otherwise
a #GParamSpec
%TRUE if the operation was successful
the progress factor, between 0 and 1
return location for an initialized #GValue
Key event
FIXME
Creates a new #ClutterKeyframeTransition for @property_name.
the newly allocated #ClutterKeyframeTransition instance. Use g_object_unref() when done to free its resources.
the property to animate
Removes all key frames from @transition.
a #ClutterKeyframeTransition
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.
a #ClutterKeyframeTransition
the index of the key frame
return location for the key, or %NULL
return location for the easing mode, or %NULL
a #GValue initialized with the type of the values
Retrieves the number of key frames inside @transition.
the number of key frames
a #ClutterKeyframeTransition
Sets the key frames of the @transition.
This variadic arguments function is a convenience for C developers;
language bindings should use clutter_keyframe_transition_set_key_frames(),
clutter_keyframe_transition_set_modes(), and
clutter_keyframe_transition_set_values() instead.
a #ClutterKeyframeTransition
the type of the values to use for the key frames
the number of key frames between the initial and final values
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.
a #ClutterKeyframeTransition
the index of the key frame
the key of the key frame
the easing mode of the key frame
a #GValue containing the value of the key frame
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.
a #ClutterKeyframeTransition
the number of values
an array of keys between 0.0 and 1.0, one for each key frame
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.
a #ClutterKeyframeTransition
the number of easing modes
an array of easing modes, one for each key frame
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.
a #ClutterKeyframeTransition
the number of values
an array of values, one for each key frame
FIXME
Point in a path behaviour.
Makes an allocated copy of a knot.
the copied knot.
a #ClutterKnot
Compares to knot and checks if the point to the same location.
%TRUE if the knots point to the same location.
First knot
Second knot
Frees the memory of an allocated knot.
a #ClutterKnot
The #ClutterLayoutManager structure contains only private data
and should be accessed using the provided API
Allocates the children of @container given an area
See also clutter_actor_allocate()
the #ClutterContainer using @manager
the #ClutterActorBox containing the allocated area of @container
the allocation flags
Begins an animation of @duration milliseconds, using the provided
easing @mode
The easing mode can be specified either as a #ClutterAnimationMode
or as a logical id returned by clutter_alpha_register_func()
The result of this function depends on the @manager implementation
The #ClutterAlpha created by the layout manager; the returned instance is owned by the layout manager and should not be unreferenced
the duration of the animation, in milliseconds
the easing mode of the animation
Ends an animation started by clutter_layout_manager_begin_animation()
The result of this call depends on the @manager implementation
Retrieves the progress of the animation, if one has been started by
clutter_layout_manager_begin_animation()
The returned value has the same semantics of the #ClutterAlpha:alpha
value
the progress of the animation
Computes the minimum and natural heights of the @container according
to @manager.
See also clutter_actor_get_preferred_height()
the #ClutterContainer using @manager
the width for which the height should be computed, or -1
return location for the minimum height of the layout, or %NULL
return location for the natural height of the layout, or %NULL
Computes the minimum and natural widths of the @container according
to @manager.
See also clutter_actor_get_preferred_width()
the #ClutterContainer using @manager
the height for which the width should be computed, or -1
return location for the minimum width of the layout, or %NULL
return location for the natural width of the layout, or %NULL
Emits the #ClutterLayoutManager::layout-changed signal on @manager
This function should only be called by implementations of the
#ClutterLayoutManager class
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
a #ClutterContainer using @manager
Allocates the children of @container given an area
See also clutter_actor_allocate()
a #ClutterLayoutManager
the #ClutterContainer using @manager
the #ClutterActorBox containing the allocated area of @container
the allocation flags
Begins an animation of @duration milliseconds, using the provided
easing @mode
The easing mode can be specified either as a #ClutterAnimationMode
or as a logical id returned by clutter_alpha_register_func()
The result of this function depends on the @manager implementation
The #ClutterAlpha created by the layout manager; the returned instance is owned by the layout manager and should not be unreferenced
a #ClutterLayoutManager
the duration of the animation, in milliseconds
the easing mode of the animation
Retrieves the values for a list of properties out of the
#ClutterLayoutMeta created by @manager and attached to the
child of a @container
a #ClutterLayoutManager
a #ClutterContainer using @manager
a #ClutterActor child of @container
the name of the first property
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
a #ClutterLayoutManager
a #ClutterContainer using @manager
a #ClutterActor child of @container
the name of the property to get
a #GValue with the value of the property to get
Sets a list of properties and their values on the #ClutterLayoutMeta
associated by @manager to a child of @container
Languages bindings should use clutter_layout_manager_child_set_property()
instead
a #ClutterLayoutManager
a #ClutterContainer using @manager
a #ClutterActor child of @container
the first property name
Sets a property on the #ClutterLayoutMeta created by @manager and
attached to a child of @container
a #ClutterLayoutManager
a #ClutterContainer using @manager
a #ClutterActor child of @container
the name of the property to set
a #GValue with the value of the property to set
Ends an animation started by clutter_layout_manager_begin_animation()
The result of this call depends on the @manager implementation
a #ClutterLayoutManager
Retrieves the #GParamSpec for the layout property @name inside
the #ClutterLayoutMeta sub-class used by @manager
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
a #ClutterLayoutManager
the name of the property
Retrieves the progress of the animation, if one has been started by
clutter_layout_manager_begin_animation()
The returned value has the same semantics of the #ClutterAlpha:alpha
value
the progress of the animation
a #ClutterLayoutManager
Retrieves the #ClutterLayoutMeta that the layout @manager associated
to the @actor child of @container, eventually by creating one if the
#ClutterLayoutManager supports layout properties
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
a #ClutterLayoutManager
a #ClutterContainer using @manager
a #ClutterActor child of @container
Computes the minimum and natural heights of the @container according
to @manager.
See also clutter_actor_get_preferred_height()
a #ClutterLayoutManager
the #ClutterContainer using @manager
the width for which the height should be computed, or -1
return location for the minimum height of the layout, or %NULL
return location for the natural height of the layout, or %NULL
Computes the minimum and natural widths of the @container according
to @manager.
See also clutter_actor_get_preferred_width()
a #ClutterLayoutManager
the #ClutterContainer using @manager
the height for which the width should be computed, or -1
return location for the minimum width of the layout, or %NULL
return location for the natural width of the layout, or %NULL
Emits the #ClutterLayoutManager::layout-changed signal on @manager
This function should only be called by implementations of the
#ClutterLayoutManager class
a #ClutterLayoutManager
Retrieves all the #GParamSpec<!-- -->s for the layout properties
stored inside the #ClutterLayoutMeta sub-class used by @manager
the newly-allocated, %NULL-terminated array of #GParamSpec<!-- -->s. Use g_free() to free the resources allocated for the array
a #ClutterLayoutManager
return location for the number of returned #GParamSpec<!-- -->s
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
a #ClutterLayoutManager
a #ClutterContainer using @manager
The ::layout-changed 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 ::layout-changed
signal and queue a relayout on themselves:
|[
static void layout_changed (ClutterLayoutManager *manager,
ClutterActor *self)
{
clutter_actor_queue_relayout (self);
}
...
self->manager = g_object_ref_sink (manager);
g_signal_connect (self->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 clutter_layout_manager_layout_changed().
The #ClutterLayoutManagerClass structure contains only private
data and should be accessed using the provided API
the #ClutterContainer using @manager
the height for which the width should be computed, or -1
return location for the minimum width of the layout, or %NULL
return location for the natural width of the layout, or %NULL
the #ClutterContainer using @manager
the width for which the height should be computed, or -1
return location for the minimum height of the layout, or %NULL
return location for the natural height of the layout, or %NULL
the #ClutterContainer using @manager
the #ClutterActorBox containing the allocated area of @container
the allocation flags
a #ClutterContainer using @manager
The #ClutterAlpha created by the layout manager; the returned instance is owned by the layout manager and should not be unreferenced
the duration of the animation, in milliseconds
the easing mode of the animation
the progress of the animation
Sub-class of #ClutterChildMeta specific for layout managers
A #ClutterLayoutManager sub-class should create a #ClutterLayoutMeta
instance by overriding the #ClutterLayoutManager::create_child_meta()
virtual function
Retrieves the actor wrapped by @data
a #ClutterLayoutManager
a #ClutterLayoutMeta
The #ClutterLayoutManager that created this #ClutterLayoutMeta.
The #ClutterLayoutMetaClass contains only private data and
should never be accessed directly
The #ClutterListModel struct contains only private data.
Creates a new default model with @n_columns columns with the types
and names passed in.
For example:
<informalexample><programlisting>
model = clutter_list_model_new (3,
G_TYPE_INT, "Score",
G_TYPE_STRING, "Team",
GDK_TYPE_PIXBUF, "Logo");
</programlisting></informalexample>
will create a new #ClutterModel with three columns of type int,
string and #GdkPixbuf respectively.
Note that the name of the column can be set to %NULL, in which case
the canonical name of the type held by the column will be used as
the title.
a new #ClutterListModel
number of columns in the model
Non-vararg version of clutter_list_model_new(). This function is
useful for language bindings.
a new default #ClutterModel
number of columns in the model
an array of #GType types for the columns, from first to last
an array of names for the columns, from first to last
The #ClutterListModelClass struct contains only private data.
The states for the #ClutterClickAction::long-press signal.
Queries the action whether it supports long presses
Activates the action on a long press
The long press was cancelled
The major version of the Clutter library (1, if %CLUTTER_VERSION is 1.2.3)
The micro version of the Clutter library (3, if %CLUTTER_VERSION is 1.2.3)
The minor version of the Clutter library (2, if %CLUTTER_VERSION is 1.2.3)
A representation of the components of a margin.
Creates a new #ClutterMargin.
a newly allocated #ClutterMargin. Use clutter_margin_free() to free the resources associated with it when done.
Creates a new #ClutterMargin and copies the contents of @margin_ into
the newly created structure.
a copy of the #ClutterMargin.
a #ClutterMargin
Frees the resources allocated by clutter_margin_new() and
clutter_margin_copy().
a #ClutterMargin
#ClutterMedia is an opaque structure whose members cannot be directly
accessed
Retrieves the playback volume of @media.
The playback volume between 0.0 and 1.0
a #ClutterMedia
Retrieves the amount of the stream that is buffered.
the fill level, between 0.0 and 1.0
a #ClutterMedia
Retrieves whether @media is seekable or not.
%TRUE if @media can seek, %FALSE otherwise.
a #ClutterMedia
Retrieves the duration of the media stream that @media represents.
the duration of the media stream, in seconds
a #ClutterMedia
Retrieves the playing status of @media.
%TRUE if playing, %FALSE if stopped.
A #ClutterMedia object
Retrieves the playback progress of @media.
the playback progress, between 0.0 and 1.0
a #ClutterMedia
Retrieves the font name currently used.
a string containing the font name. Use g_free() to free the returned string
a #ClutterMedia
Retrieves the URI of the subtitle file in use.
the URI of the subtitle file. Use g_free() to free the returned string
a #ClutterMedia
Retrieves the URI from @media.
the URI of the media stream. Use g_free() to free the returned string
a #ClutterMedia
Sets the playback volume of @media to @volume.
a #ClutterMedia
the volume as a double between 0.0 and 1.0
Sets the source of @media using a file path.
a #ClutterMedia
A filename
Starts or stops playing of @media.
The implementation might be asynchronous, so the way to know whether
the actual playing state of the @media is to use the #GObject::notify
signal on the #ClutterMedia:playing property and then retrieve the
current state with clutter_media_get_playing(). ClutterGstVideoTexture
in clutter-gst is an example of such an asynchronous implementation.
a #ClutterMedia
%TRUE to start playing
Sets the playback progress of @media. The @progress is
a normalized value between 0.0 (begin) and 1.0 (end).
a #ClutterMedia
the progress of the playback, between 0.0 and 1.0
Sets the font used by the subtitle renderer. The @font_name string must be
either %NULL, which means that the default font name of the underlying
implementation will be used; or must follow the grammar recognized by
pango_font_description_from_string() like:
|[
clutter_media_set_subtitle_font_name (media, "Sans 24pt");
]|
a #ClutterMedia
a font name, or %NULL to set the default font name
Sets the location of a subtitle file to display while playing @media.
a #ClutterMedia
the URI of a subtitle file
Sets the URI of @media to @uri.
a #ClutterMedia
the URI of the media stream
The volume of the audio, as a normalized value between
0.0 and 1.0.
The fill level of the buffer for the current stream,
as a value between 0.0 and 1.0.
Whether the current stream is seekable.
The duration of the current stream, in seconds
Whether the #ClutterMedia actor is playing.
The current progress of the playback, as a normalized
value between 0.0 and 1.0.
The font used to display subtitles. The font description has to
follow the same grammar as the one recognized by
pango_font_description_from_string().
The location of a subtitle file, expressed as a valid URI.
The location of a media file, expressed as a valid URI.
The ::eos signal is emitted each time the media stream ends.
The ::error signal is emitted each time an error occurred.
the #GError
Interface vtable for #ClutterMedia implementations
Base class for list models. The #ClutterModel structure contains
only private data and should be manipulated using the provided
API.
Retrieves the name of the @column
the name of the column. The model holds the returned string, and it should not be modified or freed
the column number
Retrieves the type of the @column.
the type of the column.
the column number
Retrieves a #ClutterModelIter representing the row at the given index.
If a filter function has been set using clutter_model_set_filter()
then the @model implementation will return the first non filtered
row.
A new #ClutterModelIter, or %NULL if @row was out of bounds. When done using the iterator object, call g_object_unref() to deallocate its resources
position of the row to retrieve
Retrieves the number of columns inside @model.
the number of columns
Retrieves the number of rows inside @model, eventually taking
into account any filtering function set using clutter_model_set_filter().
The length of the @model. If there is a filter set, then the length of the filtered @model is returned.
Creates and appends a new row to the #ClutterModel, setting the
row values upon creation. For example, to append a new row where
column 0 is type %G_TYPE_INT and column 1 is of type %G_TYPE_STRING:
<informalexample><programlisting>
ClutterModel *model;
model = clutter_model_default_new (2,
G_TYPE_INT, "Score",
G_TYPE_STRING, "Team");
clutter_model_append (model, 0, 42, 1, "Team #1", -1);
</programlisting></informalexample>
a #ClutterModel
Creates and appends a new row to the #ClutterModel, setting the row
values for the given @columns upon creation.
a #ClutterModel
the number of columns and values
a vector with the columns to set
a vector with the values
Checks whether the row pointer by @iter should be filtered or not using
the filtering function set on @model.
This function should be used only by subclasses of #ClutterModel.
%TRUE if the row should be displayed, %FALSE otherwise
a #ClutterModel
the row to filter
Checks whether @row should be filtered or not using the
filtering function set on @model.
This function should be used only by subclasses of #ClutterModel.
%TRUE if the row should be displayed, %FALSE otherwise
a #ClutterModel
the row to filter
Calls @func for each row in the model.
a #ClutterModel
a #ClutterModelForeachFunc
user data to pass to @func
Retrieves the name of the @column
the name of the column. The model holds the returned string, and it should not be modified or freed
#ClutterModel
the column number
Retrieves the type of the @column.
the type of the column.
#ClutterModel
the column number
Returns whether the @model has a filter in place, set
using clutter_model_set_filter()
%TRUE if a filter is set
a #ClutterModel
Retrieves a #ClutterModelIter representing the first non-filtered
row in @model.
A new #ClutterModelIter. Call g_object_unref() when done using it
a #ClutterModel
Retrieves a #ClutterModelIter representing the row at the given index.
If a filter function has been set using clutter_model_set_filter()
then the @model implementation will return the first non filtered
row.
A new #ClutterModelIter, or %NULL if @row was out of bounds. When done using the iterator object, call g_object_unref() to deallocate its resources
a #ClutterModel
position of the row to retrieve
Retrieves a #ClutterModelIter representing the last non-filtered
row in @model.
A new #ClutterModelIter. Call g_object_unref() when done using it
a #ClutterModel
Retrieves the number of columns inside @model.
the number of columns
a #ClutterModel
Retrieves the number of rows inside @model, eventually taking
into account any filtering function set using clutter_model_set_filter().
The length of the @model. If there is a filter set, then the length of the filtered @model is returned.
a #ClutterModel
Retrieves the number of column used for sorting the @model.
a column number, or -1 if the model is not sorted
a #ClutterModel
Inserts a new row to the #ClutterModel at @row, setting the row
values upon creation. For example, to insert a new row at index 100,
where column 0 is type %G_TYPE_INT and column 1 is of type
%G_TYPE_STRING:
<informalexample><programlisting>
ClutterModel *model;
model = clutter_model_default_new (2,
G_TYPE_INT, "Score",
G_TYPE_STRING, "Team");
clutter_model_insert (model, 3, 0, 42, 1, "Team #1", -1);
</programlisting></informalexample>
a #ClutterModel
the position to insert the new row
Sets the data in the cell specified by @iter and @column. The type of
@value must be convertable to the type of the column. If the row does
not exist then it is created.
a #ClutterModel
position of the row to modify
column to modify
new value for the cell
Inserts data at @row into the #ClutterModel, setting the row
values for the given @columns upon creation.
a #ClutterModel
row index
the number of columns and values to set
a vector containing the columns to set
a vector containing the values for the cells
Creates and prepends a new row to the #ClutterModel, setting the row
values upon creation. For example, to prepend a new row where column 0
is type %G_TYPE_INT and column 1 is of type %G_TYPE_STRING:
<informalexample><programlisting>
ClutterModel *model;
model = clutter_model_default_new (2,
G_TYPE_INT, "Score",
G_TYPE_STRING, "Team");
clutter_model_prepend (model, 0, 42, 1, "Team #1", -1);
</programlisting></informalexample>
a #ClutterModel
Creates and prepends a new row to the #ClutterModel, setting the row
values for the given @columns upon creation.
a #ClutterModel
the number of columns and values to set
a vector containing the columns to set
a vector containing the values for the cells
Removes the row at the given position from the model.
a #ClutterModel
position of row to remove
Force a resort on the @model. This function should only be
used by subclasses of #ClutterModel.
a #ClutterModel
Filters the @model using the given filtering function.
a #ClutterModel
a #ClutterModelFilterFunc, or #NULL
user data to pass to @func, or #NULL
destroy notifier of @user_data, or #NULL
Assigns a name to the columns of a #ClutterModel.
This function is meant primarily for #GObjects that inherit from
#ClutterModel, and should only be used when contructing a #ClutterModel.
It will not work after the initial creation of the #ClutterModel.
a #ClutterModel
the number of column names
an array of strings
Sorts @model using the given sorting function.
a #ClutterModel
the column to sort on
a #ClutterModelSortFunc, or #NULL
user data to pass to @func, or #NULL
destroy notifier of @user_data, or #NULL
Sets the model to sort by @column. If @column is a negative value
the sorting column will be unset.
a #ClutterModel
the column of the @model to sort, or -1
Sets the types of the columns inside a #ClutterModel.
This function is meant primarily for #GObjects that inherit from
#ClutterModel, and should only be used when contructing a #ClutterModel.
It will not work after the initial creation of the #ClutterModel.
a #ClutterModel
number of columns for the model
an array of #GType types
Whether the #ClutterModel has a filter set
This property is set to %TRUE if a filter function has been
set using clutter_model_set_filter()
The ::filter-changed signal is emitted when a new filter has been applied
The ::row-added signal is emitted when a new row has been added.
The data on the row has already been set when the ::row-added signal
has been emitted.
a #ClutterModelIter pointing to the new row
The ::row-removed signal is emitted when a row has been changed.
The data on the row has already been updated when the ::row-changed
signal has been emitted.
a #ClutterModelIter pointing to the changed row
The ::row-removed signal is emitted when a row has been removed.
The data on the row pointed by the passed iterator is still valid
when the ::row-removed signal has been emitted.
a #ClutterModelIter pointing to the removed row
The ::sort-changed signal is emitted after the model has been sorted
Class for #ClutterModel instances.
The length of the @model. If there is a filter set, then the length of the filtered @model is returned.
the number of columns
the name of the column. The model holds the returned string, and it should not be modified or freed
the column number
the type of the column.
the column number
A new #ClutterModelIter, or %NULL if @row was out of bounds. When done using the iterator object, call g_object_unref() to deallocate its resources
position of the row to retrieve
Filters the content of a row in the model.
If the row should be displayed, return %TRUE
a #ClutterModel
the iterator for the row
data passed to clutter_model_set_filter()
Iterates on the content of a row in the model
%TRUE if the iteration should continue, %FALSE otherwise
a #ClutterModel
the iterator for the row
data passed to clutter_model_foreach()
Base class for list models iters. The #ClutterModelIter structure
contains only private data and should be manipulated using the
provided API.
Copies the passed iterator.
a copy of the iterator, or %NULL
Retrieves a pointer to the #ClutterModel that this iter is part of.
a pointer to a #ClutterModel.
Retrieves the position of the row that the @iter points to.
the position of the @iter in the model
Sets an initializes @value to that at @column. When done with @value,
g_value_unset() needs to be called to free any allocated memory.
column number to retrieve the value from
an empty #GValue to set
Gets whether the current iterator is at the beginning of the model
to which it belongs.
#TRUE if @iter is the first iter in the filtered model
Gets whether the iterator is at the end of the model to which it
belongs.
#TRUE if @iter is the last iter in the filtered model.
Updates the @iter to point at the next position in the model.
The model implementation should take into account the presence of
a filter function.
The passed iterator, updated to point at the next row in the model.
Sets the @iter to point at the previous position in the model.
The model implementation should take into account the presence of
a filter function.
The passed iterator, updated to point at the previous row in the model.
Sets the data in the cell specified by @iter and @column. The type of
@value must be convertable to the type of the column.
column number to retrieve the value from
new value for the cell
Copies the passed iterator.
a copy of the iterator, or %NULL
a #ClutterModelIter
Gets the value of one or more cells in the row referenced by @iter. The
variable argument list should contain integer column numbers, each column
column number followed by a place to store the value being retrieved. The
list is terminated by a -1.
For example, to get a value from column 0 with type %G_TYPE_STRING use:
<informalexample><programlisting>
clutter_model_iter_get (iter, 0, &place_string_here, -1);
</programlisting></informalexample>
where place_string_here is a gchar* to be filled with the string. If
appropriate, the returned values have to be freed or unreferenced.
a #ClutterModelIter
Retrieves a pointer to the #ClutterModel that this iter is part of.
a pointer to a #ClutterModel.
a #ClutterModelIter
Retrieves the position of the row that the @iter points to.
the position of the @iter in the model
a #ClutterModelIter
See clutter_model_iter_get(). This version takes a va_list for language
bindings.
a #ClutterModelIter
a list of column/return location pairs, terminated by -1
Sets an initializes @value to that at @column. When done with @value,
g_value_unset() needs to be called to free any allocated memory.
a #ClutterModelIter
column number to retrieve the value from
an empty #GValue to set
Gets whether the current iterator is at the beginning of the model
to which it belongs.
#TRUE if @iter is the first iter in the filtered model
a #ClutterModelIter
Gets whether the iterator is at the end of the model to which it
belongs.
#TRUE if @iter is the last iter in the filtered model.
a #ClutterModelIter
Updates the @iter to point at the next position in the model.
The model implementation should take into account the presence of
a filter function.
The passed iterator, updated to point at the next row in the model.
a #ClutterModelIter
Sets the @iter to point at the previous position in the model.
The model implementation should take into account the presence of
a filter function.
The passed iterator, updated to point at the previous row in the model.
a #ClutterModelIter
Sets the value of one or more cells in the row referenced by @iter. The
variable argument list should contain integer column numbers, each column
column number followed by the value to be set. The list is terminated by a
-1.
For example, to set column 0 with type %G_TYPE_STRING, use:
<informalexample><programlisting>
clutter_model_iter_set (iter, 0, "foo", -1);
</programlisting></informalexample>
a #ClutterModelIter
See clutter_model_iter_set(); this version takes a va_list for language
bindings.
a #ClutterModelIter
va_list of column/value pairs, terminiated by -1
Sets the data in the cell specified by @iter and @column. The type of
@value must be convertable to the type of the column.
a #ClutterModelIter
column number to retrieve the value from
new value for the cell
A reference to the #ClutterModel that this iter belongs to.
The row number to which this iter points to.
Class for #ClutterModelIter instances.
column number to retrieve the value from
an empty #GValue to set
column number to retrieve the value from
new value for the cell
#TRUE if @iter is the first iter in the filtered model
#TRUE if @iter is the last iter in the filtered model.
The passed iterator, updated to point at the next row in the model.
The passed iterator, updated to point at the previous row in the model.
a pointer to a #ClutterModel.
the position of the @iter in the model
a copy of the iterator, or %NULL
Compares the content of two rows in the model.
a positive integer if @a is after @b, a negative integer if @a is before @b, or 0 if the rows are the same
a #ClutterModel
a #GValue representing the contents of the row
a #GValue representing the contents of the second row
data passed to clutter_model_set_sort()
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.
Mask applied by the Shift key
Mask applied by the Caps Lock key
Mask applied by the Control key
Mask applied by the first Mod key
Mask applied by the second Mod key
Mask applied by the third Mod key
Mask applied by the fourth Mod key
Mask applied by the fifth Mod key
Mask applied by the first pointer button
Mask applied by the second pointer button
Mask applied by the third pointer button
Mask applied by the fourth pointer button
Mask applied by the fifth pointer button
Mask applied by the Super key
Mask applied by the Hyper key
Mask applied by the Meta key
Mask applied during release
A mask covering all modifier types
Event for the pointer motion
Set to 1 if Clutter was built without FPU (i.e fixed math), 0 otherwise
The #ClutterOffscreenEffect structure contains only private data
and should be accessed using the provided API
Calls the create_texture() virtual function of the @effect
a handle to a Cogl texture, or %COGL_INVALID_HANDLE. The returned handle has its reference count increased.
the minimum width of the target texture
the minimum height of the target texture
Calls the paint_target() virtual function of the @effect
Calls the create_texture() virtual function of the @effect
a handle to a Cogl texture, or %COGL_INVALID_HANDLE. The returned handle has its reference count increased.
a #ClutterOffscreenEffect
the minimum width of the target texture
the minimum height of the target texture
Retrieves the material used as a render target for the offscreen
buffer created by @effect
You should only use the returned #CoglMaterial when painting. The
returned material might change between different frames.
a #CoglMaterial or %NULL. The returned material is owned by Clutter and it should not be modified or freed
a #ClutterOffscreenEffect
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 <function>paint_target()</function>
virtual function.
%TRUE if the offscreen buffer has a valid size, and %FALSE otherwise
a #ClutterOffscreenEffect
return location for the target width, or %NULL
return location for the target height, or %NULL
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 ClutterEffect::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 clutter_offscreen_effect_get_target() when the
effect subclass wants to paint using its own material.
a #CoglHandle or %COGL_INVALID_HANDLE. The returned texture is owned by Clutter and it should not be modified or freed
a #ClutterOffscreenEffect
Calls the paint_target() virtual function of the @effect
a #ClutterOffscreenEffect
The #ClutterOffscreenEffectClass structure contains only private data
a handle to a Cogl texture, or %COGL_INVALID_HANDLE. The returned handle has its reference count increased.
the minimum width of the target texture
the minimum height of the target texture
Possible flags to pass to clutter_actor_set_offscreen_redirect().
Only redirect the actor if it is semi-transparent and its has_overlaps() virtual returns %TRUE. This is the default.
Always redirect the actor to an offscreen buffer even if it is fully opaque.
Represents the orientation of actors or layout managers.
An horizontal orientation
A vertical orientation
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.
<structname>ClutterPageTurnEffect</structname> is an opaque structure
whose members can only be accessed using the provided API
Creates a new #ClutterPageTurnEffect instance with the given parameters
the newly created #ClutterPageTurnEffect
the period of the page curl, between 0.0 and 1.0
the angle of the page curl, between 0.0 and 360.0
the radius of the page curl, in pixels
Retrieves the value set using clutter_page_turn_effect_get_angle()
the angle of the page curling
a #ClutterPageTurnEffect:
Retrieves the value set using clutter_page_turn_effect_get_period()
the period of the page curling
a #ClutterPageTurnEffect
Retrieves the value set using clutter_page_turn_effect_set_radius()
the radius of the page curling
a #ClutterPageTurnEffect
Sets the angle of the page curling, in degrees
#ClutterPageTurnEffect
the angle of the page curl, in degrees
Sets the period of the page curling, between 0.0 (no curling)
and 1.0 (fully curled)
a #ClutterPageTurnEffect
the period of the page curl, between 0.0 and 1.0
Sets the radius of the page curling
a #ClutterPageTurnEffect:
the radius of the page curling, in pixels
The angle of the page rotation, in degrees, between 0.0 and 360.0
The period of the page turn, between 0.0 (no curling) and
1.0 (fully curled)
The radius of the page curl, in pixels
The <structname>ClutterPaintNode</structname> structure contains only
private data and it should be accessed using the provided API.
Adds @child to the list of children of @node.
This function will acquire a reference on @child.
a #ClutterPaintNode
the child #ClutterPaintNode to add
Adds a rectangle region to the @node, as described by the
passed @rect.
a #ClutterPaintNode
a #ClutterActorBox
Adds a rectangle region to the @node, with texture coordinates.
a #ClutterPaintNode
a #ClutterActorBox
the left X coordinate of the texture
the top Y coordinate of the texture
the right X coordinate of the texture
the bottom Y coordinate of the texture
Acquires a reference on @node.
the #ClutterPaintNode
a #ClutterPaintNode
Sets a user-readable @name for @node.
The @name will be used for debugging purposes.
The @node will copy the passed string.
a #ClutterPaintNode
a string annotating the @node
Releases a reference on @node.
a #ClutterPaintNode
The <structname>ClutterPaintNodeClass</structname> structure contains
only private data.
<structname>ClutterPaintVolume</structname> is an opaque structure
whose members cannot be directly accessed.
A <structname>ClutterPaintVolume</structname> represents an
a bounding volume whose internal representation isn't defined but
can be set and queried in terms of an axis aligned bounding box.
A <structname>ClutterPaintVolume</structname> for a #ClutterActor
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.
Copies @pv into a new #ClutterPaintVolume
a newly allocated copy of a #ClutterPaintVolume
a #ClutterPaintVolume
Frees the resources allocated by @pv
a #ClutterPaintVolume
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.
<note><para>If, for example, clutter_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.</para>
<para>Remember; after clutter_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.</para></note>
<note>There are no accuracy guarantees for the reported depth,
except that it must always be >= to the true depth. This is
because actors may report simple, loose fitting paint-volumes
for efficiency.</note>
the depth, in units of @pv's local coordinate system.
a #ClutterPaintVolume
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.
<note><para>If, for example, clutter_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.</para>
<para>Remember; after clutter_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.</para></note>
<note>There are no accuracy guarantees for the reported height,
except that it must always be >= to the true height. This is
because actors may report simple, loose fitting paint-volumes
for efficiency</note>
the height, in units of @pv's local coordinate system.
a #ClutterPaintVolume
Retrieves the origin of the #ClutterPaintVolume.
a #ClutterPaintVolume
the return location for a #ClutterVertex
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.
<note><para>If, for example, clutter_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.</para>
<para>Remember; after clutter_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.</para></note>
<note>There are no accuracy guarantees for the reported width,
except that it must always be >= to the true width. This is
because actors may report simple, loose fitting paint-volumes
for efficiency</note>
the width, in units of @pv's local coordinate system.
a #ClutterPaintVolume
Sets the depth of the paint volume. The depth is measured along
the z axis in the actor coordinates that @pv is associated with.
a #ClutterPaintVolume
the depth of the paint volume, in pixels
Sets the #ClutterPaintVolume from the allocation of @actor.
This function should be used when overriding the
#ClutterActorClass.get_paint_volume() by #ClutterActor sub-classes
that do not paint outside their allocation.
A typical example is:
|[
static gboolean
my_actor_get_paint_volume (ClutterActor *self,
ClutterPaintVolume *volume)
{
return clutter_paint_volume_set_from_allocation (volume, self);
}
]|
%TRUE if the paint volume was successfully set, and %FALSE otherwise
a #ClutterPaintVolume
a #ClutterActor
Sets the height of the paint volume. The height is measured along
the y axis in the actor coordinates that @pv is associated with.
a #ClutterPaintVolume
the height of the paint volume, in pixels
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)
a #ClutterPaintVolume
a #ClutterVertex
Sets the width of the paint volume. The width is measured along
the x axis in the actor coordinates that @pv is associated with.
a #ClutterPaintVolume
the width of the paint volume, in pixels
Updates the geometry of @pv to encompass @pv and @another_pv.
<note>There are no guarantees about how precisely the two volumes
will be encompassed.</note>
The first #ClutterPaintVolume and destination for resulting union
A second #ClutterPaintVolume to union with @pv
Unions the 2D region represented by @box to a #ClutterPaintVolume.
This function is similar to clutter_paint_volume_union(), but it is
specific for 2D regions.
a #ClutterPaintVolume
a #ClutterActorBox to union to @pv
The <structname>ClutterPanAction</structname> structure contains
only private data and should be accessed using the provided API
Creates a new #ClutterPanAction instance
the newly created #ClutterPanAction
Retrieves the initial acceleration factor for interpolated ::pan events.
The initial acceleration factor for interpolated events.
A #ClutterPanAction
Retrieves the deceleration rate of interpolated ::pan events.
The deceleration rate of the interpolated events.
A #ClutterPanAction
Checks if the action should emit ::pan events even after releasing
the pointer during a panning gesture, to emulate some kind of
kinetic inertia.
%TRUE if interpolated events emission is active.
a #ClutterPanAction
Retrieves the coordinates, in stage space, of the latest interpolated
event, analogous to clutter_gesture_action_get_motion_coords().
A #ClutterPanAction
return location for the latest interpolated event's X coordinate
return location for the latest interpolated event's Y coordinate
Retrieves the delta, in stage space, since the latest interpolated
event, analogous to clutter_gesture_action_get_motion_delta().
the distance since the latest interpolated event
A #ClutterPanAction
return location for the X delta since the latest interpolated event
return location for the Y delta since the latest interpolated event
Retrieves the coordinates, in stage space, dependent on the current state
of the #ClutterPanAction. If it is inactive, both fields will be
set to 0. If it is panning by user action, the values will be equivalent
to those returned by clutter_gesture_action_get_motion_coords().
If it is interpolating with some form of kinetic scrolling, the values
will be equivalent to those returned by
clutter_pan_action_get_interpolated_coords(). This is a convenience
method designed to be used in replacement "pan" signal handlers.
A #ClutterPanAction
the touch point index, with 0 being the first touch point received by the action
return location for the X coordinate
return location for the Y coordinate
Retrieves the delta, in stage space, dependent on the current state
of the #ClutterPanAction. If it is inactive, both fields will be
set to 0. If it is panning by user action, the values will be equivalent
to those returned by clutter_gesture_action_get_motion_delta().
If it is interpolating with some form of kinetic scrolling, the values
will be equivalent to those returned by
clutter_pan_action_get_interpolated_delta(). This is a convenience
method designed to be used in replacement "pan" signal handlers.
A #ClutterPanAction
the touch point index, with 0 being the first touch point received by the action
return location for the X delta
return location for the Y delta
Retrieves the axis constraint set by clutter_pan_action_set_pan_axis()
the axis constraint
a #ClutterPanAction
Factor applied to the momentum velocity at the time of releasing the
pointer when generating interpolated ::pan events.
A #ClutterPanAction
The acceleration factor
Sets the deceleration rate of the interpolated ::pan events generated
after a pan gesture. This is approximately the value that the momentum
at the time of releasing the pointer is divided by every 60th of a second.
A #ClutterPanAction
The deceleration rate
Sets whether the action should emit interpolated ::pan events
after the drag has ended, to emulate the gesture kinetic inertia.
a #ClutterPanAction
whether to enable interpolated pan events
Restricts the panning action to a specific axis
a #ClutterPanAction
the axis to constraint the panning to
The initial acceleration factor
The kinetic momentum measured at the time of releasing the pointer will
be multiplied by the factor specified by this property before being used
to generate interpolated ::pan events.
The rate at which the interpolated panning will decelerate in
#ClutterPanAction will emit interpolated ::pan events with decreasing
scroll deltas, using the rate specified by this property.
Whether interpolated events emission is enabled.
Constraints the panning action to the specified axis
The ::pan signal is emitted to keep track of the motion during
a pan gesture. @is_interpolated is set to %TRUE during the
interpolation phase of the pan, after the drag has ended and
the :interpolate property was set to %TRUE.
%TRUE if the pan should continue, and %FALSE if the pan should be cancelled.
the #ClutterActor attached to the @action
if the event is the result of interpolating the motion velocity at the end of the drag
The ::pan-stopped signal is emitted at the end of the interpolation
phase of the pan action, only when :interpolate is set to %TRUE.
the #ClutterActor attached to the @action
The <structname>ClutterPanActionClass</structname> structure contains
only private data.
The axis of the constraint that should be applied on the
panning action
No constraint
Set a constraint on the X axis
Set a constraint on the Y axis
A #GParamSpec subclass for defining properties holding
a #ClutterColor.
#GParamSpec subclass for fixed point based properties
#GParamSpec subclass for unit based properties.
The #ClutterPath struct contains only private data and should
be accessed with the functions below.
Creates a new #ClutterPath instance with no nodes.
The object has a floating reference so if you add it to a
#ClutterBehaviourPath then you do not need to unref it.
the newly created #ClutterPath
Creates a new #ClutterPath instance with the nodes described in
@desc. See clutter_path_add_string() for details of the format of
the string.
The object has a floating reference so if you add it to a
#ClutterBehaviourPath then you do not need to unref it.
the newly created #ClutterPath
a string describing the path
Add the nodes of the Cairo path to the end of @path.
a #ClutterPath
a Cairo path
Adds a %CLUTTER_PATH_CLOSE type node to the path. This creates a
straight line from the last node to the last %CLUTTER_PATH_MOVE_TO
type node.
a #ClutterPath
Adds a %CLUTTER_PATH_CURVE_TO type node to the path. This causes
the actor to follow a bezier from the last node to (@x_3, @y_3) using
(@x_1, @y_1) and (@x_2,@y_2) as control points.
a #ClutterPath
the x coordinate of the first control point
the y coordinate of the first control point
the x coordinate of the second control point
the y coordinate of the second control point
the x coordinate of the third control point
the y coordinate of the third control point
Adds a %CLUTTER_PATH_LINE_TO type node to the path. This causes the
actor to move to the new coordinates in a straight line.
a #ClutterPath
the x coordinate
the y coordinate
Adds a %CLUTTER_PATH_MOVE_TO type node to the path. This is usually
used as the first node in a path. It can also be used in the middle
of the path to cause the actor to jump to the new coordinate.
a #ClutterPath
the x coordinate
the y coordinate
Adds @node to the end of the path.
a #ClutterPath
a #ClutterPathNode
Same as clutter_path_add_curve_to() except the coordinates are
relative to the previous node.
a #ClutterPath
the x coordinate of the first control point
the y coordinate of the first control point
the x coordinate of the second control point
the y coordinate of the second control point
the x coordinate of the third control point
the y coordinate of the third control point
Same as clutter_path_add_line_to() except the coordinates are
relative to the previous node.
a #ClutterPath
the x coordinate
the y coordinate
Same as clutter_path_add_move_to() except the coordinates are
relative to the previous node.
a #ClutterPath
the x coordinate
the y coordinate
Adds new nodes to the end of the path as described in @str. The
format is a subset of the SVG path format. Each node is represented
by a letter and is followed by zero, one or three pairs of
coordinates. The coordinates can be separated by spaces or a
comma. The types are:
<variablelist>
<varlistentry><term>M</term>
<listitem><para>
Adds a %CLUTTER_PATH_MOVE_TO node. Takes one pair of coordinates.
</para></listitem></varlistentry>
<varlistentry><term>L</term>
<listitem><para>
Adds a %CLUTTER_PATH_LINE_TO node. Takes one pair of coordinates.
</para></listitem></varlistentry>
<varlistentry><term>C</term>
<listitem><para>
Adds a %CLUTTER_PATH_CURVE_TO node. Takes three pairs of coordinates.
</para></listitem></varlistentry>
<varlistentry><term>z</term>
<listitem><para>
Adds a %CLUTTER_PATH_CLOSE node. No coordinates are needed.
</para></listitem></varlistentry>
</variablelist>
The M, L and C commands can also be specified in lower case which
means the coordinates are relative to the previous node.
For example, to move an actor in a 100 by 100 pixel square centered
on the point 300,300 you could use the following path:
<informalexample>
<programlisting>
M 250,350 l 0 -100 L 350,250 l 0 100 z
</programlisting>
</informalexample>
If the path description isn't valid %FALSE will be returned and no
nodes will be added.
%TRUE is the path description was valid or %FALSE otherwise.
a #ClutterPath
a string describing the new nodes
Removes all nodes from the path.
a #ClutterPath
Calls a function for each node of the path.
a #ClutterPath
the function to call with each node
user data to pass to the function
Returns a newly allocated string describing the path in the same
format as used by clutter_path_add_string().
a string description of the path. Free with g_free().
a #ClutterPath
Retrieves an approximation of the total length of the path.
the length of the path.
a #ClutterPath
Retrieves the number of nodes in the path.
the number of nodes.
a #ClutterPath
Retrieves the node of the path indexed by @index.
a #ClutterPath
the node number to retrieve
a location to store a copy of the node
Returns a #GSList of #ClutterPathNode<!-- -->s. The list should be
freed with g_slist_free(). The nodes are owned by the path and
should not be freed. Altering the path may cause the nodes in the
list to become invalid so you should copy them if you want to keep
the list.
a list of nodes in the path.
a #ClutterPath
The value in @progress represents a position along the path where
0.0 is the beginning and 1.0 is the end of the path. An
interpolated position is then stored in @position.
index of the node used to calculate the position.
a #ClutterPath
a position along the path as a fraction of its length
location to store the position
Inserts @node into the path before the node at the given offset. If
@index_ is negative it will append the node to the end of the path.
a #ClutterPath
offset of where to insert the node
the node to insert
Removes the node at the given offset from the path.
a #ClutterPath
index of the node to remove
Replaces the node at offset @index_ with @node.
a #ClutterPath
index to the existing node
the replacement node
Replaces all of the nodes in the path with nodes described by
@str. See clutter_path_add_string() for details of the format.
If the string is invalid then %FALSE is returned and the path is
unaltered.
%TRUE is the path was valid, %FALSE otherwise.
a #ClutterPath
a string describing the path
Add the nodes of the ClutterPath to the path in the Cairo context.
a #ClutterPath
a Cairo context
This function is passed to clutter_path_foreach() and will be
called for each node contained in the path.
the node
optional data passed to the function
The #ClutterPathClass struct contains only private data.
<structname>ClutterPathConstraint</structname> is an opaque structure
whose members cannot be directly accessed
Creates a new #ClutterPathConstraint with the given @path and @offset
the newly created #ClutterPathConstraint
a #ClutterPath, or %NULL
the offset along the #ClutterPath
Retrieves the offset along the #ClutterPath used by @constraint.
the offset
a #ClutterPathConstraint
Retrieves a pointer to the #ClutterPath used by @constraint.
the #ClutterPath used by the #ClutterPathConstraint, or %NULL. The returned #ClutterPath is owned by the constraint and it should not be unreferenced
a #ClutterPathConstraint
Sets the offset along the #ClutterPath used by @constraint.
a #ClutterPathConstraint
the offset along the path
Sets the @path to be followed by the #ClutterPathConstraint.
The @constraint will take ownership of the #ClutterPath passed to this
function.
a #ClutterPathConstraint
a #ClutterPath
The offset along the #ClutterPathConstraint:path, between -1.0 and 2.0.
The #ClutterPath used to constrain the position of an actor.
The ::node-reached signal is emitted each time a
#ClutterPathConstraint:offset value results in the actor
passing a #ClutterPathNode
the #ClutterActor using the @constraint
the index of the node that has been reached
Represents a single node of a #ClutterPath.
Some of the coordinates in @points may be unused for some node
types. %CLUTTER_PATH_MOVE_TO and %CLUTTER_PATH_LINE_TO use only one
pair of coordinates, %CLUTTER_PATH_CURVE_TO uses all three and
%CLUTTER_PATH_CLOSE uses none.
Makes an allocated copy of a node.
the copied node.
a #ClutterPathNode
Compares two nodes and checks if they are the same type with the
same coordinates.
%TRUE if the nodes are the same.
First node
Second node
Frees the memory of an allocated node.
a #ClutterPathNode
Types of nodes in a #ClutterPath.
jump to the given position
create a line from the last node to the given position
bezier curve using the last position and three control points.
create a line from the last node to the last %CLUTTER_PATH_MOVE_TO node.
same as %CLUTTER_PATH_MOVE_TO but with coordinates relative to the last node.
same as %CLUTTER_PATH_LINE_TO but with coordinates relative to the last node.
same as %CLUTTER_PATH_CURVE_TO but with coordinates relative to the last node.
Stage perspective definition. #ClutterPerspective is only used by
the fixed point version of clutter_stage_set_perspective().
Controls the paint cycle of the scene graph when in pick mode
Do not paint any actor
Paint only the reactive actors
Paint all actors
The <structname>ClutterTextNode</structname> structure is an opaque
type whose members cannot be directly accessed.
The <structname>ClutterPipelineNodeClass</structname> structure is an opaque
type whose members cannot be directly accessed.
A point in 2D space.
Allocates a new #ClutterPoint.
the newly allocated #ClutterPoint. Use clutter_point_free() to free its resources.
Creates a new #ClutterPoint with the same coordinates of @point.
a newly allocated #ClutterPoint. Use clutter_point_free() to free its resources.
a #ClutterPoint
Computes the distance between two #ClutterPoint.
the distance between the points.
a #ClutterPoint
a #ClutterPoint
return location for the horizontal distance between the points
return location for the vertical distance between the points
Compares two #ClutterPoint for equality.
%TRUE if the #ClutterPoints are equal
the first #ClutterPoint to compare
the second #ClutterPoint to compare
Frees the resources allocated for @point.
a #ClutterPoint
Initializes @point with the given coordinates.
the initialized #ClutterPoint
a #ClutterPoint
the X coordinate of the point
the Y coordinate of the point
A point centered at (0, 0).
The returned value can be used as a guard.
a point centered in (0, 0); the returned #ClutterPoint is owned by Clutter and it should not be modified or freed.
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
clutter_interval_register_progress_func().
%TRUE if the function successfully computed the value and stored it inside @retval
the initial value of an interval
the final value of an interval
the progress factor, between 0 and 1
the value used to store the progress
The <structname>ClutterPropertyTransition</structname> structure contains
private data and should only be accessed using the provided API.
Creates a new #ClutterPropertyTransition.
the newly created #ClutterPropertyTransition. Use g_object_unref() when done
a property of @animatable, or %NULL
Retrieves the value of the #ClutterPropertyTransition:property-name
property.
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.
a #ClutterPropertyTransition
Sets the #ClutterPropertyTransition:property-name property of @transition.
a #ClutterPropertyTransition
a property name
The name of the property of a #ClutterAnimatable to animate.
The <structname>ClutterPropertyTransitionClass</structname> structure
contains private data.
The location and size of a rectangle.
The width and height of a #ClutterRect can be negative; Clutter considers
a rectangle with an origin of [ 0.0, 0.0 ] and a size of [ 10.0, 10.0 ] to
be equivalent to a rectangle with origin of [ 10.0, 10.0 ] and size of
[ -10.0, -10.0 ].
Application code can normalize rectangles using clutter_rect_normalize():
this function will ensure that the width and height of a #ClutterRect are
positive values. All functions taking a #ClutterRect as an argument will
implicitly normalize it before computing eventual results. For this reason
it is safer to access the contents of a #ClutterRect by using the provided
API at all times, instead of directly accessing the structure members.
Creates a new, empty #ClutterRect.
You can use clutter_rect_init() to initialize the returned rectangle,
for instance:
|[
rect = clutter_rect_init (clutter_rect_alloc (), x, y, width, height);
]|
the newly allocated #ClutterRect. Use clutter_rect_free() to free its resources
Rounds the origin of @rect downwards to the nearest integer, and rounds
the size of @rect upwards to the nearest integer, so that @rect is
updated to the smallest rectangle capable of fully containing the
original, fractional rectangle.
a #ClutterRect
Checks whether @point is contained by @rect, after normalizing the
rectangle.
%TRUE if the @point is contained by @rect.
a #ClutterRect
the point to check
Checks whether @a contains @b.
The first rectangle contains the second if the union of the
two #ClutterRect is equal to the first rectangle.
%TRUE if the first rectangle contains the second.
a #ClutterRect
a #ClutterRect
Copies @rect into a new #ClutterRect instance.
the newly allocate copy of @rect. Use clutter_rect_free() to free the associated resources
a #ClutterRect
Checks whether @a and @b are equals.
This function will normalize both @a and @b before comparing
their origin and size.
%TRUE if the rectangles match in origin and size.
a #ClutterRect
a #ClutterRect
Frees the resources allocated by @rect.
a #ClutterRect
Retrieves the center of @rect, after normalizing the rectangle,
and updates @center with the correct coordinates.
a #ClutterRect
a #ClutterPoint
Retrieves the height of @rect.
the height of the rectangle
a #ClutterRect
Retrieves the width of @rect.
the width of the rectangle
a #ClutterRect
Retrieves the X coordinate of the origin of @rect.
the X coordinate of the origin of the rectangle
a #ClutterRect
Retrieves the Y coordinate of the origin of @rect.
the Y coordinate of the origin of the rectangle
a #ClutterRect
Initializes a #ClutterRect with the given origin and size.
the updated rectangle
a #ClutterRect
X coordinate of the origin
Y coordinate of the origin
width of the rectangle
height of the rectangle
Normalizes the @rect and offsets its origin by the @d_x and @d_y values;
the size is adjusted by (2 * @d_x, 2 * @d_y).
If @d_x and @d_y are positive the size of the rectangle is decreased; if
the values are negative, the size of the rectangle is increased.
If the resulting rectangle has a negative width or height, the size is
set to 0.
a #ClutterRect
an horizontal value; a positive @d_x will create an inset rectangle, and a negative value will create a larger rectangle
a vertical value; a positive @d_x will create an inset rectangle, and a negative value will create a larger rectangle
Computes the intersection of @a and @b, and places it in @res, if @res
is not %NULL.
This function will normalize both @a and @b prior to computing their
intersection.
This function can be used to simply check if the intersection of @a and @b
is not empty, by using %NULL for @res.
%TRUE if the intersection of @a and @b is not empty
a #ClutterRect
a #ClutterRect
a #ClutterRect, or %NULL
Normalizes a #ClutterRect.
A #ClutterRect is defined by the area covered by its size; this means
that a #ClutterRect with #ClutterRect.origin in [ 0, 0 ] and a
#ClutterRect.size of [ 10, 10 ] is equivalent to a #ClutterRect with
#ClutterRect.origin in [ 10, 10 ] and a #ClutterRect.size of [ -10, -10 ].
This function is useful to ensure that a rectangle has positive width
and height; it will modify the passed @rect and normalize its size.
a #ClutterRect
Offsets the origin of @rect by the given values, after normalizing
the rectangle.
a #ClutterRect
the horizontal offset value
the vertical offset value
Computes the smallest possible rectangle capable of fully containing
both @a and @b, and places it into @res.
This function will normalize both @a and @b prior to computing their
union.
a #ClutterRect
a #ClutterRect
a #ClutterRect
A #ClutterRect with #ClutterRect.origin set at (0, 0) and a size
of 0.
The returned value can be used as a guard.
a rectangle with origin in (0, 0) and a size of 0. The returned #ClutterRect is owned by Clutter and it should not be modified or freed.
The #ClutterRectangle structure contains only private data
and should be accessed using the provided API
Creates a new #ClutterActor with a rectangular shape.
a new #ClutterActor
Creates a new #ClutterActor with a rectangular shape
and of the given @color.
a new #ClutterActor
a #ClutterColor
Gets the color of the border used by @rectangle and places
it into @color.
a #ClutterRectangle
return location for a #ClutterColor
Gets the width (in pixels) of the border used by @rectangle
the border's width
a #ClutterRectangle
Retrieves the color of @rectangle.
a #ClutterRectangle
return location for a #ClutterColor
Sets the color of the border used by @rectangle using @color
a #ClutterRectangle
the color of the border
Sets the width (in pixel) of the border used by @rectangle.
A @width of 0 will unset the border.
a #ClutterRectangle
the width of the border
Sets the color of @rectangle.
a #ClutterRectangle
a #ClutterColor
The color of the border of the rectangle.
The width of the border of the rectangle, in pixels.
The color of the rectangle.
Whether the #ClutterRectangle should be displayed with a border.
The #ClutterRectangleClass structure contains only private data
Flags to pass to clutter_threads_add_repaint_func_full().
Run the repaint function prior to painting the stages
Run the repaint function after painting the stages
Ensure that a new frame is queued after adding the repaint function
Specifies the type of requests for a #ClutterActor.
Height for width requests
Width for height requests
The <structname>ClutterRotateAction</structname> structure contains
only private data and should be accessed using the provided API
Creates a new #ClutterRotateAction instance
the newly created #ClutterRotateAction
The ::rotate signal is emitted when a rotate gesture is
recognized on the attached actor and when the gesture is
cancelled (in this case with an angle value of 0).
%TRUE if the rotation should continue, and %FALSE if the rotation should be cancelled.
the #ClutterActor attached to the @action
the difference of angle of rotation between the initial rotation and the current rotation
The <structname>ClutterRotateActionClass</structname> structure contains
only private data.
Axis of a rotation.
Rotate around the X axis
Rotate around the Y axis
Rotate around the Z axis
Direction of a rotation.
Clockwise rotation
Counter-clockwise rotation
The default GObject type for the Clutter stage.
The scaling filters to be used with the #ClutterActor:minification-filter
and #ClutterActor:magnification-filter properties.
Linear interpolation filter
Nearest neighbor interpolation filter
Trilinear minification filter, with mipmap generation; this filter linearly interpolates on every axis, as well as between mipmap levels.
The #ClutterScore structure contains only private data
and should be accessed using the provided API
Creates a new #ClutterScore. A #ClutterScore is an object that can
hold multiple #ClutterTimeline<!-- -->s in a sequential order.
the newly created #ClutterScore. Use g_object_unref() when done.
Appends a timeline to another one existing in the score; the newly
appended timeline will be started when @parent is complete.
If @parent is %NULL, the new #ClutterTimeline will be started when
clutter_score_start() is called.
#ClutterScore will take a reference on @timeline.
the id of the #ClutterTimeline inside the score, or 0 on failure. The returned id can be used with clutter_score_remove() or clutter_score_get_timeline().
a #ClutterScore
a #ClutterTimeline in the score, or %NULL
a #ClutterTimeline
Appends @timeline at the given @marker_name on the @parent
#ClutterTimeline.
If you want to append @timeline at the end of @parent, use
clutter_score_append().
The #ClutterScore will take a reference on @timeline.
the id of the #ClutterTimeline inside the score, or 0 on failure. The returned id can be used with clutter_score_remove() or clutter_score_get_timeline().
a #ClutterScore
the parent #ClutterTimeline
the name of the marker to use
the #ClutterTimeline to append
Gets whether @score is looping
%TRUE if the score is looping
a #ClutterScore
Retrieves the #ClutterTimeline for @id_ inside @score.
the requested timeline, or %NULL. This function does not increase the reference count on the returned #ClutterTimeline
a #ClutterScore
the id of the timeline
Query state of a #ClutterScore instance.
%TRUE if score is currently playing
A #ClutterScore
Retrieves a list of all the #ClutterTimelines managed by @score.
a #GSList containing all the timelines in the score. This function does not increase the reference count of the returned timelines. Use g_slist_free() on the returned list to deallocate its resources.
a #ClutterScore
Pauses a playing score @score.
a #ClutterScore
Removes the #ClutterTimeline with the given id inside @score. If
the timeline has other timelines attached to it, those are removed
as well.
a #ClutterScore
the id of the timeline to remove
Removes all the timelines inside @score.
a #ClutterScore
Rewinds a #ClutterScore to its initial state.
A #ClutterScore
Sets whether @score should loop. A looping #ClutterScore will start
from its initial state after the ::complete signal has been fired.
a #ClutterScore
%TRUE for enable looping
Starts the score.
A #ClutterScore
Stops and rewinds a playing #ClutterScore instance.
A #ClutterScore
Whether the #ClutterScore should restart once finished.
The ::completed signal is emitted each time a #ClutterScore terminates.
The ::paused signal is emitted each time a #ClutterScore
is paused.
The ::started signal is emitted each time a #ClutterScore starts playing.
The ::timeline-completed signal is emitted each time a timeline
inside a #ClutterScore terminates.
the completed timeline
The ::timeline-started signal is emitted each time a new timeline
inside a #ClutterScore starts playing.
the current timeline
The #ClutterScoreClass structure contains only private data
The #ClutterScript structure contains only private data
and should be accessed using the provided API
Creates a new #ClutterScript instance. #ClutterScript can be used
to load objects definitions for scenegraph elements, like actors,
or behavioural elements, like behaviours and timelines. The
definitions must be encoded using the JavaScript Object Notation (JSON)
language.
the newly created #ClutterScript instance. Use g_object_unref() when done.
Looks up a type by name, using the virtual function that
#ClutterScript has for that purpose. This function should
rarely be used.
the type for the requested type name, or %G_TYPE_INVALID if not corresponding type was found.
name of the type to look up
Adds @paths to the list of search paths held by @script.
The search paths are used by clutter_script_lookup_filename(), which
can be used to define search paths for the textures source file name
or other custom, file-based properties.
a #ClutterScript
an array of strings containing different search paths
the length of the passed array
Associates a #ClutterState to the #ClutterScript instance using the given
name.
The #ClutterScript instance will use @state to resolve target states when
connecting signal handlers.
The #ClutterScript instance will take a reference on the #ClutterState
passed to this function.
a #ClutterScript
a name for the @state, or %NULL to set the default #ClutterState
a #ClutterState
Connects all the signals defined into a UI definition file to their
handlers.
This method invokes clutter_script_connect_signals_full() internally
and uses #GModule's introspective features (by opening the current
module's scope) to look at the application's symbol table.
Note that this function will not work if #GModule is not supported by
the platform Clutter is running on.
a #ClutterScript
data to be passed to the signal handlers, or %NULL
Connects all the signals defined into a UI definition file to their
handlers.
This function allows to control how the signal handlers are
going to be connected to their respective signals. It is meant
primarily for language bindings to allow resolving the function
names using the native API, but it can also be used on platforms
that do not support GModule.
Applications should use clutter_script_connect_signals().
a #ClutterScript
signal connection function
data to be passed to the signal handlers, or %NULL
Ensure that every object defined inside @script is correctly
constructed. You should rarely need to use this function.
a #ClutterScript
Retrieves the object bound to @name. This function does not increment
the reference count of the returned object.
the named object, or %NULL if no object with the given name was available
a #ClutterScript
the name of the object to retrieve
Retrieves a list of objects for the given names. After @script, object
names/return location pairs should be listed, with a %NULL pointer
ending the list, like:
<informalexample><programlisting>
GObject *my_label, *a_button, *main_timeline;
clutter_script_get_objects (script,
"my-label", &my_label,
"a-button", &a_button,
"main-timeline", &main_timeline,
NULL);
</programlisting></informalexample>
Note: This function does not increment the reference count of the
returned objects.
the number of objects returned.
a #ClutterScript
the name of the first object to retrieve
Retrieves the #ClutterState for the given @state_name.
If @name is %NULL, this function will return the default
#ClutterState instance.
a pointer to the #ClutterState for the given name. The #ClutterState is owned by the #ClutterScript instance and it should not be unreferenced
a #ClutterScript
the name of the #ClutterState, or %NULL
Retrieves the translation domain set using
clutter_script_set_translation_domain().
the translation domain, if any is set, or %NULL
a #ClutterScript
Looks up a type by name, using the virtual function that
#ClutterScript has for that purpose. This function should
rarely be used.
the type for the requested type name, or %G_TYPE_INVALID if not corresponding type was found.
a #ClutterScript
name of the type to look up
Retrieves all the objects created by @script.
Note: this function does not increment the reference count of the
objects it returns.
a list of #GObject<!-- -->s, or %NULL. The objects are owned by the #ClutterScript instance. Use g_list_free() on the returned list when done.
a #ClutterScript
Loads the definitions from @data into @script and merges with
the currently loaded ones, if any.
on error, zero is returned and @error is set accordingly. On success, the merge id for the UI definitions is returned. You can use the merge id with clutter_script_unmerge_objects().
a #ClutterScript
a buffer containing the definitions
the length of the buffer, or -1 if @data is a NUL-terminated buffer
Loads the definitions from @filename into @script and merges with
the currently loaded ones, if any.
on error, zero is returned and @error is set accordingly. On success, the merge id for the UI definitions is returned. You can use the merge id with clutter_script_unmerge_objects().
a #ClutterScript
the full path to the definition file
Loads the definitions from a resource file into @script and merges with
the currently loaded ones, if any.
on error, zero is returned and @error is set accordingly. On success, the merge id for the UI definitions is returned. You can use the merge id with clutter_script_unmerge_objects().
a #ClutterScript
the resource path of the file to parse
Looks up @filename inside the search paths of @script. If @filename
is found, its full path will be returned .
the full path of @filename or %NULL if no path was found.
a #ClutterScript
the name of the file to lookup
Sets the translation domain for @script.
a #ClutterScript
the translation domain, or %NULL
Unmerges the objects identified by @merge_id.
a #ClutterScript
merge id returned when loading a UI definition
The path of the currently parsed file. If #ClutterScript:filename-set
is %FALSE then the value of this property is undefined.
Whether the #ClutterScript:filename property is set. If this property
is %TRUE then the currently parsed data comes from a file, and the
file name is stored inside the #ClutterScript:filename property.
The translation domain, used to localize strings marked as translatable
inside a UI definition.
If #ClutterScript:translation-domain is set to %NULL, #ClutterScript
will use gettext(), otherwise g_dgettext() will be used.
The #ClutterScriptClass structure contains only private data
the type for the requested type name, or %G_TYPE_INVALID if not corresponding type was found.
name of the type to look up
This is the signature of a function used to connect signals. It is used
by the clutter_script_connect_signals_full() function. It is mainly
intended for interpreted language bindings, but could be useful where the
programmer wants more control over the signal connection process.
a #ClutterScript
the object to connect
the name of the signal
the name of the signal handler
the object to connect the signal to, or %NULL
signal connection flags
user data to pass to the signal handler
#ClutterScript error enumeration.
Type function not found or invalid
Property not found or invalid
Invalid value
#ClutterScriptable is an opaque structure whose members cannot be directly
accessed
Retrieves the id of @scriptable set using clutter_scriptable_set_id().
the id of the object. The returned string is owned by the scriptable object and should never be modified of freed
Parses the passed JSON node. The implementation must set the type
of the passed #GValue pointer using g_value_init().
%TRUE if the node was successfully parsed, %FALSE otherwise.
the #ClutterScript creating the scriptable instance
the generic value to be set
the name of the node
the JSON node to be parsed
Overrides the common properties setting. The underlying virtual
function should be used when implementing custom properties.
the #ClutterScript creating the scriptable instance
the name of the property
the value of the property
Sets @id_ as the unique Clutter script it for this instance of
#ClutterScriptableIface.
This name can be used by user interface designer applications to
define a unique name for an object constructable using the UI
definition language parsed by #ClutterScript.
the #ClutterScript id of the object
Retrieves the id of @scriptable set using clutter_scriptable_set_id().
the id of the object. The returned string is owned by the scriptable object and should never be modified of freed
a #ClutterScriptable
Parses the passed JSON node. The implementation must set the type
of the passed #GValue pointer using g_value_init().
%TRUE if the node was successfully parsed, %FALSE otherwise.
a #ClutterScriptable
the #ClutterScript creating the scriptable instance
the generic value to be set
the name of the node
the JSON node to be parsed
Overrides the common properties setting. The underlying virtual
function should be used when implementing custom properties.
a #ClutterScriptable
the #ClutterScript creating the scriptable instance
the name of the property
the value of the property
Sets @id_ as the unique Clutter script it for this instance of
#ClutterScriptableIface.
This name can be used by user interface designer applications to
define a unique name for an object constructable using the UI
definition language parsed by #ClutterScript.
a #ClutterScriptable
the #ClutterScript id of the object
Interface for implementing "scriptable" objects. An object implementing
this interface can override the parsing and properties setting sequence
when loading a UI definition data with #ClutterScript
the #ClutterScript id of the object
the id of the object. The returned string is owned by the scriptable object and should never be modified of freed
%TRUE if the node was successfully parsed, %FALSE otherwise.
the #ClutterScript creating the scriptable instance
the generic value to be set
the name of the node
the JSON node to be parsed
the #ClutterScript creating the scriptable instance
the name of the property
the value of the property
The <structname>ClutterScrollActor</structname> structure contains only
private data, and should be accessed using the provided API.
Creates a new #ClutterScrollActor.
The newly created #ClutterScrollActor instance.
Retrieves the #ClutterScrollActor:scroll-mode property
the scrolling mode
a #ClutterScrollActor
Scrolls the contents of @actor so that @point is the new origin
of the visible area.
The coordinates of @point must be relative to the @actor.
This function will use the currently set easing state of the @actor
to transition from the current scroll origin to the new one.
a #ClutterScrollActor
a #ClutterPoint
Scrolls @actor so that @rect is in the visible portion.
a #ClutterScrollActor
a #ClutterRect
Sets the #ClutterScrollActor:scroll-mode property.
a #ClutterScrollActor
a #ClutterScrollMode
The scrollin direction.
The <structname>ClutterScrollActor</structname> structure contains only
private data.
Direction of a pointer scroll event.
The %CLUTTER_SCROLL_SMOOTH value implies that the #ClutterScrollEvent
has precise scrolling delta information.
Scroll up
Scroll down
Scroll left
Scroll right
Precise scrolling delta (available in 1.10)
Scroll wheel (or similar device) event
Scroll modes.
Ignore scrolling
Scroll only horizontally
Scroll only vertically
Scroll in both directions
<structname>ClutterSettings</structname> is an opaque structure whose
members cannot be directly accessed.
Retrieves the singleton instance of #ClutterSettings
the instance of #ClutterSettings. The returned object is owned by Clutter and it should not be unreferenced directly
A back pointer to the #ClutterBackend
The default distance that the cursor of a pointer device
should travel before a drag operation should start.
The maximum distance, in pixels, between button-press events that
determines whether or not to increase the click count by 1.
The time, in milliseconds, that should elapse between button-press
events in order to increase the click count by 1.
Whether or not to use antialiasing when rendering text; a value
of 1 enables it unconditionally; a value of 0 disables it
unconditionally; and -1 will use the system's default.
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
The style of the hinting used when rendering text. Valid values
are:
<itemizedlist>
<listitem><simpara>hintnone</simpara></listitem>
<listitem><simpara>hintslight</simpara></listitem>
<listitem><simpara>hintmedium</simpara></listitem>
<listitem><simpara>hintfull</simpara></listitem>
</itemizedlist>
Whether or not to use hinting when rendering text; a value of 1
unconditionally enables it; a value of 0 unconditionally disables
it; and a value of -1 will use the system's default.
The default font name that should be used by text actors, as
a string that can be passed to pango_font_description_from_string().
The type of sub-pixel antialiasing used when rendering text. Valid
values are:
<itemizedlist>
<listitem><simpara>none</simpara></listitem>
<listitem><simpara>rgb</simpara></listitem>
<listitem><simpara>bgr</simpara></listitem>
<listitem><simpara>vrgb</simpara></listitem>
<listitem><simpara>vbgr</simpara></listitem>
</itemizedlist>
Sets the minimum duration for a press to be recognized as a long press
gesture. The duration is expressed in milliseconds.
See also #ClutterClickAction:long-press-duration.
The #ClutterShader structure contains only private data
and should be accessed using the provided API
Create a new #ClutterShader instance.
a new #ClutterShader.
Compiles and links GLSL sources set for vertex and fragment shaders for
a #ClutterShader. If the compilation fails and a #GError return location is
provided the error will contain the errors from the compiler, if any.
returns TRUE if the shader was succesfully compiled.
a #ClutterShader
Retrieves the underlying #CoglHandle for the fragment shader.
A #CoglHandle for the fragment shader, or %NULL. The handle is owned by the #ClutterShader and it should not be unreferenced
a #ClutterShader
Retrieves the underlying #CoglHandle for the shader program.
A #CoglHandle for the shader program, or %NULL. The handle is owned by the #ClutterShader and it should not be unreferenced
a #ClutterShader
Retrieves the underlying #CoglHandle for the vertex shader.
A #CoglHandle for the vertex shader, or %NULL. The handle is owned by the #ClutterShader and it should not be unreferenced
a #ClutterShader
Query the current GLSL fragment source set on @shader.
the source of the fragment shader for this ClutterShader object or %NULL. The returned string is owned by the shader object and should never be modified or freed
a #ClutterShader
Checks whether @shader is enabled.
%TRUE if the shader is enabled.
a #ClutterShader
Query the current GLSL vertex source set on @shader.
the source of the vertex shader for this ClutterShader object or %NULL. The returned string is owned by the shader object and should never be modified or freed
a #ClutterShader
Checks whether @shader is is currently compiled, linked and bound
to the GL context.
%TRUE if the shader is compiled, linked and ready for use.
a #ClutterShader
Frees up any GL context resources held by the shader.
a #ClutterShader
Sets the GLSL source code to be used by a #ClutterShader for the fragment
program.
a #ClutterShader
GLSL source code.
length of source buffer (currently ignored)
Enables a shader. This function will attempt to compile and link
the shader, if it isn't already.
When @enabled is %FALSE the default state of the GL pipeline will be
used instead.
a #ClutterShader
The new state of the shader.
Sets a user configurable variable in the GLSL shader programs attached to
a #ClutterShader.
a #ClutterShader.
name of uniform in GLSL shader program to set.
a #ClutterShaderFloat, #ClutterShaderInt or #ClutterShaderMatrix #GValue.
Sets the GLSL source code to be used by a #ClutterShader for the vertex
program.
a #ClutterShader
GLSL source code.
length of source buffer (currently ignored)
Whether the shader is compiled and linked, ready for use
in the GL context.
Whether the shader is currently used in the GL rendering pipeline.
GLSL source code for the fragment shader part of the shader program.
GLSL source code for the vertex shader part of the shader
program, if any
The #ClutterShaderClass structure contains only private data
The <structname>ClutterShaderEffect</structname> structure contains
only private data and should be accessed using the provided API
Creates a new #ClutterShaderEffect, to be applied to an actor using
clutter_actor_add_effect().
The effect will be empty until clutter_shader_effect_set_shader_source()
is called.
the newly created #ClutterShaderEffect. Use g_object_unref() when done.
the type of the shader, either %CLUTTER_FRAGMENT_SHADER, or %CLUTTER_VERTEX_SHADER
Retrieves a pointer to the program's handle
a pointer to the program's handle, or %COGL_INVALID_HANDLE
a #ClutterShaderEffect
Retrieves a pointer to the shader's handle
a pointer to the shader's handle, or %COGL_INVALID_HANDLE
a #ClutterShaderEffect
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.
%TRUE if the source was set
a #ClutterShaderEffect
the source of a GLSL shader
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 interepreted 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:
|[
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:
|[
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:
|[
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:
|[
clutter_shader_effect_set_uniform (effect, "map",
CLUTTER_TYPE_SHADER_MATRIX, 1,
cogl_matrix_get_array (&matrix));
]|
a #ClutterShaderEffect
the name of the uniform to set
the type of the uniform to set
the number of values
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.
a #ClutterShaderEffect
the name of the uniform to set
a #GValue with the value of the uniform to set
The type of shader that is used by the effect. This property
should be set by the constructor of #ClutterShaderEffect
sub-classes.
The <structname>ClutterShaderEffectClass</structname> structure contains
only private data
#ClutterShader error enumeration
No ASM shaders support
No GLSL shaders support
Compilation error
The type of GLSL shader program
a vertex shader
a fragment shader
A size, in 2D space.
Allocates a new #ClutterSize.
the newly allocated #ClutterSize. Use clutter_size_free() to free its resources.
Creates a new #ClutterSize and duplicates @size.
the newly allocated #ClutterSize. Use clutter_size_free() to free its resources.
a #ClutterSize
Compares two #ClutterSize for equality.
%TRUE if the two #ClutterSize are equal
a #ClutterSize to compare
a #ClutterSize to compare
Frees the resources allocated for @size.
a #ClutterSize
Initializes a #ClutterSize with the given dimensions.
the initialized #ClutterSize
a #ClutterSize
the width
the height
<structname>ClutterSnapConstraint</structname> is an opaque structure
whose members cannot be directly accesses
Creates a new #ClutterSnapConstraint that will snap a #ClutterActor
to the @edge of @source, with the given @offset.
the newly created #ClutterSnapConstraint
the #ClutterActor to use as the source of the constraint, or %NULL
the edge of the actor to use in the constraint
the edge of @source to use in the constraint
the offset to apply to the constraint, in pixels
Retrieves the edges used by the @constraint
a #ClutterSnapConstraint
return location for the actor's edge, or %NULL
return location for the source's edge, or %NULL
Retrieves the offset set using clutter_snap_constraint_set_offset()
the offset, in pixels
a #ClutterSnapConstraint
Retrieves the #ClutterActor set using clutter_snap_constraint_set_source()
a pointer to the source actor
a #ClutterSnapConstraint
Sets the edges to be used by the @constraint
The @from_edge is the edge on the #ClutterActor to which @constraint
has been added. The @to_edge is the edge of the #ClutterActor inside
the #ClutterSnapConstraint:source property.
a #ClutterSnapConstraint
the edge on the actor
the edge on the source
Sets the offset to be applied to the constraint
a #ClutterSnapConstraint
the offset to apply, in pixels
Sets the source #ClutterActor for the constraint
a #ClutterSnapConstraint
a #ClutterActor, or %NULL to unset the source
The edge of the #ClutterActor that should be snapped
The offset, in pixels, between #ClutterSnapConstraint:from-edge
and #ClutterSnapConstraint:to-edge
The #ClutterActor used as the source for the constraint
The edge of the #ClutterSnapConstraint:source that should be snapped
The edge to snap
the top edge
the right edge
the bottom edge
the left edge
The #ClutterStage structure contains only private data
and should be accessed using the provided API
Creates a new, non-default stage. A non-default stage is a new
top-level actor which can be used as another container. It works
exactly like the default stage, but while clutter_stage_get_default()
will always return the same instance, you will have to keep a pointer
to any #ClutterStage returned by clutter_stage_new().
The ability to support multiple stages depends on the current
backend. Use clutter_feature_available() and
%CLUTTER_FEATURE_STAGE_MULTIPLE to check at runtime whether a
backend supports multiple stages.
a new stage, or %NULL if the default backend does not support multiple stages. Use clutter_actor_destroy() to programmatically close the returned stage.
Retrieves a #ClutterStage singleton.
This function is not as useful as it sounds, and will most likely
by deprecated in the future. Application code should only create
a #ClutterStage instance using clutter_stage_new(), and manage the
lifetime of the stage manually.
The default stage singleton has a platform-specific behaviour: on
platforms without the %CLUTTER_FEATURE_STAGE_MULTIPLE feature flag
set, the first #ClutterStage instance will also be set to be the
default stage instance, and this function will always return a
pointer to it.
On platforms with the %CLUTTER_FEATURE_STAGE_MULTIPLE feature flag
set, the default stage will be created by the first call to this
function, and every following call will return the same pointer to
it.
the main #ClutterStage. You should never destroy or unref the returned actor.
This function essentially makes sure the right GL context is
current for the passed stage. It is not intended to
be used by applications.
the #ClutterStage
Ensures that @stage is redrawn
This function should not be called by applications: it is
used when embedding a #ClutterStage into a toolkit with
another windowing system, like GTK+.
a #ClutterStage
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+.
a #ClutterStage
This function is used to emit an event on the main stage.
You should rarely need to use this function, except for
synthetised events.
the return value from the signal emission
a #ClutterStage
a #ClutterEvent
Retrieves the value set with clutter_stage_set_accept_focus().
%TRUE if the #ClutterStage should accept focus, and %FALSE otherwise
a #ClutterStage
Checks the scene at the coordinates @x and @y and returns a pointer
to the #ClutterActor at those coordinates.
By using @pick_mode it is possible to control which actors will be
painted and thus available.
the actor at the specified coordinates, if any
a #ClutterStage
how the scene graph should be painted
X coordinate to check
Y coordinate to check
Retrieves the stage color.
A #ClutterStage
return location for a #ClutterColor
Retrieves the current depth cueing settings from the stage.
the #ClutterStage
return location for a #ClutterFog structure
Retrieves whether the stage is full screen or not
%TRUE if the stage is full screen
a #ClutterStage
Retrieves the actor that is currently under key focus.
the actor with key focus, or the stage
the #ClutterStage
Retrieves the minimum size for a stage window as set using
clutter_stage_set_minimum_size().
The returned size may not correspond to the actual minimum size and
it is specific to the #ClutterStage implementation inside the
Clutter backend
a #ClutterStage
return location for the minimum width, in pixels, or %NULL
return location for the minimum height, in pixels, or %NULL
Retrieves the value set using clutter_stage_set_motion_events_enabled().
%TRUE if the per-actor motion event delivery is enabled and %FALSE otherwise
a #ClutterStage
Retrieves the hint set with clutter_stage_set_no_clear_hint()
%TRUE if the stage should not clear itself on every paint cycle, and %FALSE otherwise
a #ClutterStage
Retrieves the stage perspective.
A #ClutterStage
return location for a #ClutterPerspective
Gets the bounds of the current redraw for @stage in stage pixel
coordinates. E.g., if only a single actor has queued a redraw then
Clutter may redraw the stage with a clip so that it doesn't have to
paint every pixel in the stage. This function would then return the
bounds of that clip. An application can use this information to
avoid some extra work if it knows that some regions of the stage
aren't going to be painted. This should only be called while the
stage is being painted. If there is no current redraw clip then
this function will set @clip to the full extents of the stage.
A #ClutterStage
Return location for the clip bounds
Retrieves the value set with clutter_stage_set_throttle_motion_events()
%TRUE if the motion events are being throttled, and %FALSE otherwise
a #ClutterStage
Gets the stage title.
pointer to the title string for the stage. The returned string is owned by the actor and should not be modified or freed.
A #ClutterStage
Retrieves the value set using clutter_stage_set_use_alpha()
%TRUE if the stage should honour the opacity and the alpha channel of the stage color
a #ClutterStage
Gets whether the depth cueing effect is enabled on @stage.
%TRUE if the depth cueing effect is enabled
the #ClutterStage
Retrieves the value set with clutter_stage_set_user_resizable().
%TRUE if the stage is resizable by the user.
a #ClutterStage
Makes the cursor invisible on the stage window
a #ClutterStage
Checks if @stage is the default stage, or an instance created using
clutter_stage_new() but internally using the same implementation.
%TRUE if the passed stage is the default one
a #ClutterStage
Queues a redraw for the passed stage.
<note>Applications should call clutter_actor_queue_redraw() and not
this function.</note>
the #ClutterStage
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.
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.
A #ClutterStage
x coordinate of the first pixel that is read from stage
y coordinate of the first pixel that is read from stage
Width dimention of pixels to be read, or -1 for the entire stage width
Height dimention of pixels to be read, or -1 for the entire stage height
Sets whether the @stage should accept the key focus when shown.
This function should be called before showing @stage using
clutter_actor_show().
a #ClutterStage
%TRUE to accept focus on show
Sets the stage color.
A #ClutterStage
A #ClutterColor
Sets the fog (also known as "depth cueing") settings for the @stage.
A #ClutterStage will only use a linear fog progression, which
depends solely on the distance from the viewer. The cogl_set_fog()
function in COGL exposes more of the underlying implementation,
and allows changing the for progression function. It can be directly
used by disabling the #ClutterStage:use-fog property and connecting
a signal handler to the #ClutterActor::paint signal on the @stage,
like:
|[
clutter_stage_set_use_fog (stage, FALSE);
g_signal_connect (stage, "paint", G_CALLBACK (on_stage_paint), NULL);
]|
The paint signal handler will call cogl_set_fog() with the
desired settings:
|[
static void
on_stage_paint (ClutterActor *actor)
{
ClutterColor stage_color = { 0, };
CoglColor fog_color = { 0, };
/* set the fog color to the stage background color */
clutter_stage_get_color (CLUTTER_STAGE (actor), &stage_color);
cogl_color_init_from_4ub (&fog_color,
stage_color.red,
stage_color.green,
stage_color.blue,
stage_color.alpha);
/* enable fog */
cogl_set_fog (&fog_color,
COGL_FOG_MODE_EXPONENTIAL, /* mode */
0.5, /* density */
5.0, 30.0); /* z_near and z_far */
}
]|
<note>The fogging functions only work correctly when the visible actors use
unmultiplied alpha colors. By default Cogl will premultiply textures and
cogl_set_source_color() will premultiply colors, so unless you explicitly
load your textures requesting an unmultiplied internal format and use
cogl_material_set_color() you can only use fogging with fully opaque actors.
Support for premultiplied colors will improve in the future when we can
depend on fragment shaders.</note>
the #ClutterStage
a #ClutterFog structure
Asks to place the stage window in the fullscreen or unfullscreen
states.
( Note that you shouldn't assume the window is definitely full screen
afterward, because other entities (e.g. the user or window manager)
could unfullscreen it again, and not all window managers honor
requests to fullscreen windows.
If you want to receive notification of the fullscreen state you
should either use the #ClutterStage::fullscreen and
#ClutterStage::unfullscreen signals, or use the notify signal
for the #ClutterStage:fullscreen-set property
a #ClutterStage
%TRUE to to set the stage fullscreen
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.
the #ClutterStage
the actor to set key focus to, or %NULL
Sets the minimum size for a stage window, if the default backend
uses #ClutterStage inside a window
This is a convenience function, and it is equivalent to setting the
#ClutterActor:min-width and #ClutterActor:min-height on @stage
If the current size of @stage is smaller than the minimum size, the
@stage will be resized to the new @width and @height
This function has no effect if @stage is fullscreen
a #ClutterStage
width, in pixels
height, in pixels
Sets whether per-actor motion events (and relative crossing
events) should be disabled or not.
The default is %TRUE.
If @enable is %FALSE the following events will not be delivered
to the actors children of @stage.
<itemizedlist>
<listitem><para>#ClutterActor::motion-event</para></listitem>
<listitem><para>#ClutterActor::enter-event</para></listitem>
<listitem><para>#ClutterActor::leave-event</para></listitem>
</itemizedlist>
The events will still be delivered to the #ClutterStage.
The main side effect of this function is that disabling the motion
events will disable picking to detect the #ClutterActor underneath
the pointer for each motion event. This is useful, for instance,
when dragging a #ClutterActor across the @stage: the actor underneath
the pointer is not going to change, so it's meaningless to perform
a pick.
a #ClutterStage
%TRUE to enable the motion events delivery, and %FALSE otherwise
Sets whether the @stage should clear itself at the beginning
of each paint cycle or not.
Clearing the #ClutterStage can be a costly operation, especially
if the stage is always covered - for instance, in a full-screen
video player or in a game with a background texture.
<note><para>This setting is a hint; Clutter might discard this
hint depending on its internal state.</para></note>
<warning><para>If parts of the stage are visible and you disable
clearing you might end up with visual artifacts while painting the
contents of the stage.</para></warning>
a #ClutterStage
%TRUE if the @stage should not clear itself on every repaint cycle
Sets the stage perspective. Using this function is not recommended
because it will disable Clutter's attempts to generate an
appropriate perspective based on the size of the stage.
A #ClutterStage
A #ClutterPerspective
Sets whether motion events received between redraws should
be throttled or not. If motion events are throttled, those
events received by the windowing system between redraws will
be compressed so that only the last event will be propagated
to the @stage and its actors.
This function should only be used if you want to have all
the motion events delivered to your application code.
a #ClutterStage
%TRUE to throttle motion events
Sets the stage title.
A #ClutterStage
A utf8 string for the stage windows title.
Sets whether the @stage should honour the #ClutterActor:opacity and
the alpha channel of the #ClutterStage:color
a #ClutterStage
whether the stage should honour the opacity or the alpha channel of the stage color
Sets whether the depth cueing effect on the stage should be enabled
or not.
Depth cueing is a 3D effect that makes actors farther away from the
viewing point less opaque, by fading them with the stage color.
The parameters of the GL fog used can be changed using the
clutter_stage_set_fog() function.
the #ClutterStage
%TRUE for enabling the depth cueing effect
Sets if the stage is resizable by user interaction (e.g. via
window manager controls)
a #ClutterStage
whether the stage should be user resizable.
Shows the cursor on the stage window
a #ClutterStage
Whether the #ClutterStage should accept key focus when shown.
The background color of the main stage.
Whether the mouse pointer should be visible
The settings for the GL "fog", used only if #ClutterStage:use-fog
is set to %TRUE
The #ClutterActor that will receive key events from the underlying
windowing system.
If %NULL, the #ClutterStage will receive the events.
Whether or not the #ClutterStage should clear its contents
before each paint cycle.
See clutter_stage_set_no_clear_hint() for further information.
Whether the stage should be rendered in an offscreen buffer.
The parameters used for the perspective projection from 3D
coordinates to 2D
The stage's title - usually displayed in stage windows title decorations.
Whether the #ClutterStage should honour the alpha component of the
#ClutterStage:color property when painting. If Clutter is run under
a compositing manager this will result in the stage being blended
with the underlying window(s)
Whether the stage should use a linear GL "fog" in creating the
depth-cueing effect, to enhance the perception of depth by fading
actors farther from the viewpoint.
Whether the stage is resizable via user interaction.
The ::activate signal is emitted when the stage receives key focus
from the underlying window system.
The ::activate signal is emitted when the stage loses key focus
from the underlying window system.
The ::delete-event signal is emitted when the user closes a
#ClutterStage window using the window controls.
Clutter by default will call clutter_main_quit() if @stage is
the default stage, and clutter_actor_destroy() for any other
stage.
It is possible to override the default behaviour by connecting
a new handler and returning %TRUE there.
<note>This signal is emitted only on Clutter backends that
embed #ClutterStage in native windows. It is not emitted for
backends that use a static frame buffer.</note>
a #ClutterEvent of type %CLUTTER_DELETE
The ::fullscreen signal is emitted when the stage is made fullscreen.
The ::unfullscreen signal is emitted when the stage leaves a fullscreen
state.
The #ClutterStageClass structure contains only private data
The #ClutterStageManager structure is private.
Returns the default #ClutterStageManager.
the default stage manager instance. The returned object is owned by Clutter and you should not reference or unreference it.
Returns the default #ClutterStage.
the default stage. The returned object is owned by Clutter and you should never reference or unreference it
a #ClutterStageManager
Lists all currently used stages.
a newly allocated list of #ClutterStage objects. Use g_slist_free() to deallocate it when done.
a #ClutterStageManager
Lists all currently used stages.
a pointer to the internal list of #ClutterStage objects. The returned list is owned by the #ClutterStageManager and should never be modified or freed
a #ClutterStageManager
Sets @stage as the default stage.
a #ClutterStageManager
a #ClutterStage
The default stage used by Clutter.
The ::stage-added signal is emitted each time a new #ClutterStage
has been added to the stage manager.
the added stage
The ::stage-removed signal is emitted each time a #ClutterStage
has been removed from the stage manager.
the removed stage
The #ClutterStageManagerClass structure contains only private data
and should be accessed using the provided API
Stage state masks, used by the #ClutterEvent of type %CLUTTER_STAGE_STATE.
Fullscreen mask
Offscreen mask (deprecated)
Activated mask
Event signalling a change in the #ClutterStage state.
The <structname>ClutterState</structname> structure contains only
private data and should be accessed using the provided API
Creates a new #ClutterState
the newly create #ClutterState instance
Retrieves the #ClutterAnimator that is being used for transitioning
between the two states, if any has been set
a #ClutterAnimator instance, or %NULL
a #ClutterState instance.
the name of a source state
the name of a target state
Queries the duration used for transitions between a source and
target state pair
The semantics for the query are the same as the semantics used for
setting the duration with clutter_state_set_duration()
the duration, in milliseconds
a #ClutterState
the name of the source state to get the duration of, or %NULL
the name of the source state to get the duration of, or %NULL
Returns a list of pointers to opaque structures with accessor functions
that describe the keys added to an animator.
a newly allocated #GList of #ClutterStateKey<!-- -->s. The contents of the returned list are owned by the #ClutterState and should not be modified or freed. Use g_list_free() to free the resources allocated by the returned list when done using it
a #ClutterState instance.
the source transition name to query, or %NULL for all source states
the target transition name to query, or %NULL for all target states
the specific object instance to list keys for, or %NULL for all managed objects
the property name to search for, or %NULL for all properties.
Queries the currently set target state.
During a transition this function will return the target of the transition.
This function is useful when called from handlers of the
#ClutterState::completed signal.
a string containing the target state. The returned string is owned by the #ClutterState and should not be modified or freed
a #ClutterState
Gets a list of all the state names managed by this #ClutterState.
a newly allocated #GList of state names. The contents of the returned #GList are owned by the #ClutterState and should not be modified or freed. Use g_list_free() to free the resources allocated by the returned list when done using it
a #ClutterState instance.
Gets the timeline driving the #ClutterState
the #ClutterTimeline that drives the state change animations. The returned timeline is owned by the #ClutterState and it should not be unreferenced directly
a #ClutterState
Removes all keys matching the search criteria passed in arguments.
a #ClutterState instance.
the source state name to query, or %NULL for all source states
the target state name to query, or %NULL for all target states
the specific object instance to list keys for, or %NULL for all managed objects
the property name to search for, or %NULL for all properties.
Adds multiple keys to a named state of a #ClutterState instance, specifying
the easing mode and value a given property of an object should have at a
given progress of the animation.
The mode specified is the easing mode used when going to from the previous
key to the specified key.
For instance, the code below:
|[
clutter_state_set (state, NULL, "hover",
button, "opacity", CLUTTER_LINEAR, 255,
button, "scale-x", CLUTTER_EASE_OUT_CUBIC, 1.2,
button, "scale-y", CLUTTER_EASE_OUT_CUBIC, 1.2,
NULL);
]|
will create a transition from any state (a @source_state_name or NULL is
treated as a wildcard) and a state named "hover"; the
<emphasis>button</emphasis> object will have the #ClutterActor:opacity
property animated to a value of 255 using %CLUTTER_LINEAR as the animation
mode, and the #ClutterActor:scale-x and #ClutterActor:scale-y properties
animated to a value of 1.2 using %CLUTTER_EASE_OUT_CUBIC as the animation
mode. To change the state (and start the transition) you can use the
clutter_state_set_state() function:
|[
clutter_state_set_state (state, "hover");
]|
If a given object, state_name, property tuple already exist in the
#ClutterState instance, then the mode and value will be replaced with
the new specified values.
If a property name is prefixed with "delayed::" two additional
arguments per key are expected: a value relative to the full state time
to pause before transitioning and a similar value to pause after
transitioning, e.g.:
|[
clutter_state_set (state, "hover", "toggled",
button, "delayed::scale-x", CLUTTER_LINEAR, 1.0, 0.2, 0.2,
button, "delayed::scale-y", CLUTTER_LINEAR, 1.0, 0.2, 0.2,
NULL);
]|
will pause for 20% of the duration of the transition before animating,
and 20% of the duration after animating.
a #ClutterState instance.
the name of the source state keys are being added for
the name of the target state keys are being added for
a #GObject
a property of @first_object to specify a key for
the id of the alpha function to use
Specifies a #ClutterAnimator to be used when transitioning between
the two named states.
The @animator allows specifying a transition between the state that is
more elaborate than the basic transitions allowed by the tweening of
properties defined in the #ClutterState keys.
If @animator is %NULL it will unset an existing animator.
#ClutterState will take a reference on the passed @animator, if any
a #ClutterState instance.
the name of a source state
the name of a target state
a #ClutterAnimator instance, or %NULL to unset an existing #ClutterAnimator
Sets the duration of a transition.
If both state names are %NULL the default duration for @state is set.
If only @target_state_name is specified, the passed @duration becomes
the default duration for transitions to the target state.
If both states names are specified, the passed @duration only applies
to the specified transition.
a #ClutterState
the name of the source state, or %NULL
the name of the target state, or %NULL
the duration of the transition, in milliseconds
Sets one specific end key for a state name, @object, @property_name
combination.
the #ClutterState instance, allowing chaining of multiple calls
a #ClutterState instance.
the source transition to specify transition for, or %NULL to specify the default fallback when a more specific source state doesn't exist.
the name of the transition to set a key value for.
the #GObject to set a key for
the property to set a key for
the id of the alpha function to use
the value for property_name of object in state_name
relative time of the transition to be idle in the beginning of the transition
relative time of the transition to be idle in the end of the transition
Change the current state of #ClutterState to @target_state_name.
The state will animate during its transition, see
#clutter_state_warp_to_state for animation-free state switching.
Setting a %NULL state will stop the current animation and unset
the current state, but keys will be left intact.
the #ClutterTimeline that drives the state transition. The returned timeline is owned by the #ClutterState and it should not be unreferenced
a #ClutterState
the state to transition to
Change to the specified target state immediately with no animation.
See clutter_state_set_state().
the #ClutterTimeline that drives the state transition. The returned timeline is owned by the #ClutterState and it should not be unreferenced
a #ClutterState
the state to transition to
Default duration used if an duration has not been specified for a specific
source/target state pair. The values is in milliseconds.
The currently set target state, setting it causes the
state machine to transition to the new state, use
clutter_state_warp_to_state() to change state without
a transition.
The ::completed signal is emitted when a #ClutterState reaches
the target state specified by clutter_state_set_state() or
clutter_state_warp_to_state().
The <structname>ClutterStateClass</structname> structure contains
only private data
<structname>ClutterStateKey</structname> is an opaque structure whose
members cannot be accessed directly
Retrieves the easing mode used for @state_key.
the mode of a #ClutterStateKey
a #ClutterStateKey
Retrieves the object instance this #ClutterStateKey applies to.
the object this state key applies to.
a #ClutterStateKey
Retrieves the duration of the pause after transitioning is complete
as a fraction of the total transition time.
the post delay, used after doing the transition.
a #ClutterStateKey
Retrieves the pause before transitioning starts as a fraction of
the total transition time.
the pre delay used before starting the transition.
a #ClutterStateKey
Retrieves the name of the property this #ClutterStateKey applies to
the name of the property. The returned string is owned by the #ClutterStateKey and should never be modified or freed
a #ClutterStateKey
Retrieves the #GType of the property a key applies to
You can use this type to initialize the #GValue to pass to
clutter_state_key_get_value()
the #GType of the property
a #ClutterStateKey
Retrieves the name of the source state of the @state_key
the name of the source state for this key, or %NULL if this is the generic state key for the given property when transitioning to the target state. The returned string is owned by the #ClutterStateKey and should never be modified or freed
a #ClutterStateKey
Get the name of the source state this #ClutterStateKey contains,
or NULL if this is the generic state key for the given property
when transitioning to the target state.
the name of the source state for this key, or NULL if the key is generic
a #ClutterStateKey
Retrieves a copy of the value for a #ClutterStateKey.
The #GValue needs to be already initialized for the value type
of the property or to a type that allow transformation from the value
type of the key.
Use g_value_unset() when done.
%TRUE if the value was successfully retrieved, and %FALSE otherwise
a #ClutterStateKey
a #GValue initialized with the correct type for the @state_key
Named colors, for accessing global colors defined by Clutter
White color (ffffffff)
Black color (000000ff)
Red color (ff0000ff)
Dark red color (800000ff)
Green color (00ff00ff)
Dark green color (008000ff)
Blue color (0000ffff)
Dark blue color (000080ff)
Cyan color (00ffffff)
Dark cyan color (008080ff)
Magenta color (ff00ffff)
Dark magenta color (800080ff)
Yellow color (ffff00ff)
Dark yellow color (808000ff)
Gray color (a0a0a4ff)
Dark Gray color (808080ff)
Light gray color (c0c0c0ff)
Butter color (edd400ff)
Light butter color (fce94fff)
Dark butter color (c4a000ff)
Orange color (f57900ff)
Light orange color (fcaf3fff)
Dark orange color (ce5c00ff)
Chocolate color (c17d11ff)
Light chocolate color (e9b96eff)
Dark chocolate color (8f5902ff)
Chameleon color (73d216ff)
Light chameleon color (8ae234ff)
Dark chameleon color (4e9a06ff)
Sky color (3465a4ff)
Light sky color (729fcfff)
Dark sky color (204a87ff)
Plum color (75507bff)
Light plum color (ad7fa8ff)
Dark plum color (5c3566ff)
Scarlet red color (cc0000ff)
Light scarlet red color (ef2929ff)
Dark scarlet red color (a40000ff)
Aluminium, first variant (eeeeecff)
Aluminium, second variant (d3d7cfff)
Aluminium, third variant (babdb6ff)
Aluminium, fourth variant (888a85ff)
Aluminium, fifth variant (555753ff)
Aluminium, sixth variant (2e3436ff)
Transparent color (00000000)
Change the value transition of a step function.
See clutter_timeline_set_step_progress().
The change in the value of a %CLUTTER_STEP progress mode should occur at the start of the transition
The change in the value of a %CLUTTER_STEP progress mode should occur at the end of the transition
The <structname>ClutterSwipeAction</structname> structure contains
only private data and should be accessed using the provided API
Creates a new #ClutterSwipeAction instance
the newly created #ClutterSwipeAction
The ::swept signal is emitted when a swipe gesture is recognized on the
attached actor.
the #ClutterActor attached to the @action
the main direction of the swipe gesture
The ::swipe signal is emitted when a swipe gesture is recognized on the
attached actor.
%TRUE if the swipe should continue, and %FALSE if the swipe should be cancelled.
the #ClutterActor attached to the @action
the main direction of the swipe gesture
The <structname>ClutterSwipeActionClass</structname> structure contains
only private data.
The main direction of the swipe gesture
Upwards swipe gesture
Downwards swipe gesture
Leftwards swipe gesture
Rightwards swipe gesture
The alignment policies available on each axis of the #ClutterTableLayout
Align the child to the top or to the left of a cell in the table, depending on the axis
Align the child to the center of a cell in the table
Align the child to the bottom or to the right of a cell in the table, depending on the axis
The #ClutterTableLayout structure contains only private data
and should be accessed using the provided API
Creates a new #ClutterTableLayout layout manager
the newly created #ClutterTableLayout
Retrieves the horizontal and vertical alignment policies for @actor
as set using clutter_table_layout_pack() or
clutter_table_layout_set_alignment().
a #ClutterTableLayout
a #ClutterActor child of @layout
return location for the horizontal alignment policy
return location for the vertical alignment policy
Retrieve the current number of columns in @layout
the number of columns
A #ClutterTableLayout
Retrieves the spacing set using clutter_table_layout_set_column_spacing()
the spacing between columns of the #ClutterTableLayout
a #ClutterTableLayout
Retrieves the duration set using clutter_table_layout_set_easing_duration()
the duration of the animations, in milliseconds
a #ClutterTableLayout
Retrieves the easing mode set using clutter_table_layout_set_easing_mode()
an easing mode
a #ClutterTableLayout
Retrieves the horizontal and vertical expand policies for @actor
as set using clutter_table_layout_pack() or clutter_table_layout_set_expand()
a #ClutterTableLayout
a #ClutterActor child of @layout
return location for the horizontal expand policy
return location for the vertical expand policy
Retrieves the horizontal and vertical fill policies for @actor
as set using clutter_table_layout_pack() or clutter_table_layout_set_fill()
a #ClutterTableLayout
a #ClutterActor child of @layout
return location for the horizontal fill policy
return location for the vertical fill policy
Retrieve the current number rows in the @layout
the number of rows
A #ClutterTableLayout
Retrieves the spacing set using clutter_table_layout_set_row_spacing()
the spacing between rows of the #ClutterTableLayout
a #ClutterTableLayout
Retrieves the row and column span for @actor as set using
clutter_table_layout_pack() or clutter_table_layout_set_span()
a #ClutterTableLayout
a #ClutterActor child of @layout
return location for the col span
return location for the row span
Retrieves whether @layout should animate changes in the layout properties
Since clutter_table_layout_set_use_animations()
%TRUE if the animations should be used, %FALSE otherwise
a #ClutterTableLayout
Packs @actor inside the #ClutterContainer associated to @layout
at the given row and column.
a #ClutterTableLayout
a #ClutterActor
the column the @actor should be put, or -1 to append
the row the @actor should be put, or -1 to append
Sets the horizontal and vertical alignment policies for @actor
inside @layout
a #ClutterTableLayout
a #ClutterActor child of @layout
Horizontal alignment policy for @actor
Vertical alignment policy for @actor
Sets the spacing between columns of @layout
a #ClutterTableLayout
the spacing between columns of the layout, in pixels
Sets the duration of the animations used by @layout when animating changes
in the layout properties
Use clutter_table_layout_set_use_animations() to enable and disable the
animations
a #ClutterTableLayout
the duration of the animations, in milliseconds
Sets the easing mode to be used by @layout when animating changes in layout
properties
Use clutter_table_layout_set_use_animations() to enable and disable the
animations
a #ClutterTableLayout
an easing mode, either from #ClutterAnimationMode or a logical id from clutter_alpha_register_func()
Sets the horizontal and vertical expand policies for @actor
inside @layout
a #ClutterTableLayout
a #ClutterActor child of @layout
whether @actor should allocate extra space horizontally
whether @actor should allocate extra space vertically
Sets the horizontal and vertical fill policies for @actor
inside @layout
a #ClutterTableLayout
a #ClutterActor child of @layout
whether @actor should fill horizontally the allocated space
whether @actor should fill vertically the allocated space
Sets the spacing between rows of @layout
a #ClutterTableLayout
the spacing between rows of the layout, in pixels
Sets the row and column span for @actor
inside @layout
a #ClutterTableLayout
a #ClutterActor child of @layout
Column span for @actor
Row span for @actor
Sets whether @layout should animate changes in the layout properties
The duration of the animations is controlled by
clutter_table_layout_set_easing_duration(); the easing mode to be used
by the animations is controlled by clutter_table_layout_set_easing_mode()
a #ClutterTableLayout
%TRUE if the @layout should use animations
The spacing between columns of the #ClutterTableLayout, in pixels
The duration of the animations, in case #ClutterTableLayout:use-animations
is set to %TRUE.
The duration is expressed in milliseconds.
The easing mode for the animations, in case
#ClutterTableLayout:use-animations is set to %TRUE.
The easing mode has the same semantics of #ClutterAnimation:mode: it can
either be a value from the #ClutterAnimationMode enumeration, like
%CLUTTER_EASE_OUT_CUBIC, or a logical id as returned by
clutter_alpha_register_func().
The default value is %CLUTTER_EASE_OUT_CUBIC.
The spacing between rows of the #ClutterTableLayout, in pixels
Whether the #ClutterTableLayout should animate changes in the
layout properties.
By default, #ClutterTableLayout will honour the easing state of
the children when allocating them. Setting this property to
%TRUE will override the easing state with the layout manager's
#ClutterTableLayout:easing-mode and #ClutterTableLayout:easing-duration
properties.
The #ClutterTableLayoutClass structure contains only private
data and should be accessed using the provided API
The <structname>ClutterTapAction</structname> structure contains
only private data and should be accessed using the provided API
Creates a new #ClutterTapAction instance
the newly created #ClutterTapAction
The ::tap signal is emitted when the tap gesture is complete.
the #ClutterActor attached to the @action
The <structname>ClutterTapActionClass</structname> structure contains
only private data.
The #ClutterText struct contains only private data.
Creates a new #ClutterText actor. This actor can be used to
display and edit text.
the newly created #ClutterText actor
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 clutter_text_new(),
clutter_text_set_font_name(), clutter_text_set_text() and
clutter_text_set_color().
the newly created #ClutterText actor
a string with a font description
the contents of the actor
the color to be used to render @text
Creates a new entry with the specified text buffer.
a new #ClutterText
The buffer to use for the new #ClutterText.
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 clutter_text_new(),
clutter_text_set_font_name(), and clutter_text_set_text().
the newly created #ClutterText actor
a string with a font description
the contents of the actor
Emits the #ClutterText::activate signal, if @self has been set
as activatable using clutter_text_set_activatable().
This function can be used to emit the ::activate signal inside
a #ClutterActor::captured-event or #ClutterActor::key-press-event
signal handlers before the default signal handler for the
#ClutterText is invoked.
%TRUE if the ::activate signal has been emitted, and %FALSE otherwise
a #ClutterText
Retrieves the position of the character at the given coordinates.
Return: the position of the character
a #ClutterText
the X coordinate, relative to the actor
the Y coordinate, relative to the actor
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.
a #ClutterText
the number of characters to delete
Deletes the currently selected text
This function is only useful in subclasses of #ClutterText
%TRUE if text was deleted or if the text actor is empty, and %FALSE otherwise
a #ClutterText
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.
a #ClutterText
starting position
ending position
Retrieves whether a #ClutterText is activatable or not.
%TRUE if the actor is activatable
a #ClutterText
Gets the attribute list that was set on the #ClutterText actor
clutter_text_set_attributes(), if any.
the attribute list, or %NULL if none was set. The returned value is owned by the #ClutterText and should not be unreferenced.
a #ClutterText
Get the #ClutterTextBuffer object which holds the text for
this widget.
A #GtkEntryBuffer object.
a #ClutterText
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.
a newly allocated string with the contents of the text actor between the specified positions. Use g_free() to free the resources when done
a #ClutterText
start of text, in characters
end of text, in characters
Retrieves the text color as set by clutter_text_set_color().
a #ClutterText
return location for a #ClutterColor
Retrieves the color of the cursor of a #ClutterText actor.
a #ClutterText
return location for a #ClutterColor
Retrieves the cursor position.
the cursor position, in characters
a #ClutterText
Retrieves the size of the cursor of a #ClutterText actor.
the size of the cursor, in pixels
a #ClutterText
Retrieves whether the cursor of a #ClutterText actor is visible.
%TRUE if the cursor is visible
a #ClutterText
Retrieves whether a #ClutterText is editable or not.
%TRUE if the actor is editable
a #ClutterText
Returns the ellipsizing position of a #ClutterText actor, as
set by clutter_text_set_ellipsize().
#PangoEllipsizeMode
a #ClutterText
Retrieves the #PangoFontDescription used by @self
a #PangoFontDescription. The returned value is owned by the #ClutterText actor and it should not be modified or freed
a #ClutterText
Retrieves the font name as set by clutter_text_set_font_name().
a string containing the font name. The returned string is owned by the #ClutterText actor and should not be modified or freed
a #ClutterText
Retrieves whether the #ClutterText actor should justify its contents
on both margins.
%TRUE if the text should be justified
a #ClutterText
Retrieves the current #PangoLayout used by a #ClutterText actor.
a #PangoLayout. The returned object is owned by the #ClutterText actor and should not be modified or freed
a #ClutterText
Obtains the coordinates where the #ClutterText will draw the #PangoLayout
representing the text.
a #ClutterText
location to store X offset of layout, or %NULL
location to store Y offset of layout, or %NULL
Retrieves the alignment of a #ClutterText, as set by
clutter_text_set_line_alignment().
a #PangoAlignment
a #ClutterText
Retrieves the value set using clutter_text_set_line_wrap().
%TRUE if the #ClutterText actor should wrap its contents
a #ClutterText
Retrieves the line wrap mode used by the #ClutterText actor.
See clutter_text_set_line_wrap_mode ().
the wrap mode used by the #ClutterText
a #ClutterText
Gets the maximum length of text that can be set into a text actor.
See clutter_text_set_max_length().
the maximum number of characters.
a #ClutterText
Retrieves the character to use in place of the actual text
as set by clutter_text_set_password_char().
a Unicode character or 0 if the password character is not set
a #ClutterText
Retrieves whether a #ClutterText is selectable or not.
%TRUE if the actor is selectable
a #ClutterText
Retrieves the color of selected text of a #ClutterText actor.
a #ClutterText
return location for a #ClutterColor
Retrieves the currently selected text.
a newly allocated string containing the currently selected text, or %NULL. Use g_free() to free the returned string.
a #ClutterText
Retrieves the other end of the selection of a #ClutterText actor,
in characters from the current cursor position.
the position of the other end of the selection
a #ClutterText
Retrieves the color of the selection of a #ClutterText actor.
a #ClutterText
return location for a #ClutterColor
Retrieves whether the #ClutterText actor is in single line mode.
%TRUE if the #ClutterText actor is in single line mode
a #ClutterText
Retrieves a pointer to the current contents of a #ClutterText
actor.
If you need a copy of the contents for manipulating, either
use g_strdup() on the returned string, or use:
|[
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.
the contents of the actor. The returned string is owned by the #ClutterText actor and should never be modified or freed
a #ClutterText
Retrieves whether the contents of the #ClutterText actor should be
parsed for the Pango text markup.
%TRUE if the contents will be parsed for markup
a #ClutterText
Inserts @text into a #ClutterActor 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.
a #ClutterText
the text to be inserted
the position of the insertion, or -1
Inserts @wc at the current cursor position of a
#ClutterText actor.
a #ClutterText
a Unicode character
Retrieves the coordinates of the given @position.
%TRUE if the conversion was successful
a #ClutterText
position in characters
return location for the X coordinate, or %NULL
return location for the Y coordinate, or %NULL
return location for the line height, or %NULL
Sets whether a #ClutterText actor should be activatable.
An activatable #ClutterText actor will emit the #ClutterText::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
clutter_text_set_editable().
a #ClutterText
whether the #ClutterText actor should be activatable
Sets the attributes list that are going to be applied to the
#ClutterText contents.
The #ClutterText actor will take a reference on the #PangoAttrList
passed to this function.
a #ClutterText
a #PangoAttrList or %NULL to unset the attributes
Set the #ClutterTextBuffer object which holds the text for
this widget.
a #ClutterText
a #ClutterTextBuffer
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 clutter_actor_get_paint_opacity().
a #ClutterText
a #ClutterColor
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.
a #ClutterText
the color of the cursor, or %NULL to unset it
Sets the cursor of a #ClutterText actor at @position.
The position is expressed in characters, not in bytes.
a #ClutterText
the new cursor position, in characters
Sets the size of the cursor of a #ClutterText. The cursor
will only be visible if the #ClutterText:cursor-visible property
is set to %TRUE.
a #ClutterText
the size of the cursor, in pixels, or -1 to use the default value
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 clutter_text_set_cursor_color() has been called.
The size of the cursor can be set using clutter_text_set_cursor_size().
The position of the cursor can be changed programmatically using
clutter_text_set_cursor_position().
a #ClutterText
whether the cursor should be visible
Sets whether the #ClutterText actor should be editable.
An editable #ClutterText with key focus set using
clutter_actor_grab_key_focus() or clutter_stage_set_key_focus()
will receive key events and will update its contents accordingly.
a #ClutterText
whether the #ClutterText should be editable
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
a #ClutterText
a #PangoEllipsizeMode
Sets @font_desc as the font description for a #ClutterText
The #PangoFontDescription is copied by the #ClutterText actor
so you can safely call pango_font_description_free() on it after
calling this function.
a #ClutterText
a #PangoFontDescription
Sets the font used by a #ClutterText. The @font_name string
must either be %NULL, which means that the font name from the
default #ClutterBackend will be used; or be something that can
be parsed by the pango_font_description_from_string() function,
like:
|[
clutter_text_set_font_name (text, "Sans 10pt");
clutter_text_set_font_name (text, "Serif 16px");
clutter_text_set_font_name (text, "Helvetica 10");
]|
a #ClutterText
a font name, or %NULL to set the default font name
Sets whether the text of the #ClutterText actor should be justified
on both margins. This setting is ignored if Clutter is compiled
against Pango < 1.18.
a #ClutterText
whether the text should be justified
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.
a #ClutterText
A #PangoAlignment
Sets whether the contents of a #ClutterText actor should wrap,
if they don't fit the size assigned to the actor.
a #ClutterText
whether the contents should wrap
If line wrapping is enabled (see clutter_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.
a #ClutterText
the line wrapping mode
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:
|[
/* the order is important */
clutter_text_set_text (CLUTTER_TEXT (actor), markup);
clutter_text_set_use_markup (CLUTTER_TEXT (actor), TRUE);
]|
a #ClutterText
a string containing Pango markup. Passing %NULL is the same as passing "" (the empty string)
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.
a #ClutterText
the maximum number of characters allowed in the text actor; 0 to disable or -1 to set the length of the current string
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.
a #ClutterText
a Unicode character, or 0 to unset the password character
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
a #ClutterText
the pre-edit string, or %NULL to unset it
the pre-edit string attributes
the cursor position for the pre-edit string
Sets whether a #ClutterText actor should be selectable.
A selectable #ClutterText will allow selecting its contents using
the pointer or the keyboard.
a #ClutterText
whether the #ClutterText actor should be selectable
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.
a #ClutterText
the selected text color, or %NULL to unset it
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.
a #ClutterText
start of the selection, in characters
end of the selection, in characters
Sets the other end of the selection, starting from the current
cursor position.
If @selection_bound is -1, the selection unset.
a #ClutterText
the position of the end of the selection, in characters
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.
a #ClutterText
the color of the selection, or %NULL to unset it
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 #ClutterText:activatable
property is also set as a side effect. Instead of entering a new
line character, the text actor will emit the #ClutterText::activate
signal.
a #ClutterText
whether to enable single line mode
Sets the contents of a #ClutterText actor.
If the #ClutterText:use-markup property was set to %TRUE it
will be reset to %FALSE as a side effect. If you want to
maintain the #ClutterText:use-markup you should use the
clutter_text_set_markup() function instead
a #ClutterText
the text to set. Passing %NULL is the same as passing "" (the empty string)
Sets whether the contents of the #ClutterText actor contains markup
in <link linkend="PangoMarkupFormat">Pango's text markup language</link>.
Setting #ClutterText:use-markup on an editable #ClutterText will
not have any effect except hiding the markup.
See also #ClutterText:use-markup.
a #ClutterText
%TRUE if the text should be parsed for markup.
Toggles whether return invokes the activate signal or not.
A list of #PangoStyleAttribute<!-- -->s to be applied to the
contents of the #ClutterText actor.
The buffer which stores the text for this #ClutterText.
If set to %NULL, a default buffer will be created.
The color used to render the text.
The color of the cursor.
Will be set to %TRUE if #ClutterText:cursor-color has been set.
The current input cursor position. -1 is taken to be the end of the text
The size of the cursor, in pixels. If set to -1 the size used will
be the default cursor size of 2 pixels.
Whether the input cursor is visible or not, it will only be visible
if both #ClutterText:cursor-visible and #ClutterText:editable are
set to %TRUE.
Whether key events delivered to the actor causes editing.
The preferred place to ellipsize the contents of the #ClutterText actor
The #PangoFontDescription that should be used by the #ClutterText
If you have a string describing the font then you should look at
#ClutterText:font-name instead
The font to be used by the #ClutterText, as a string
that can be parsed by pango_font_description_from_string().
If set to %NULL, the default system font will be used instead.
Whether the contents of the #ClutterText should be justified
on both margins.
The preferred alignment for the text. This property controls
the alignment of multi-line paragraphs.
Whether to wrap the lines of #ClutterText:text if the contents
exceed the available allocation. The wrapping strategy is
controlled by the #ClutterText:line-wrap-mode property.
If #ClutterText:line-wrap is set to %TRUE, this property will
control how the text is wrapped.
The maximum length of the contents of the #ClutterText actor.
If non-zero, the character that should be used in place of
the actual text in a password text actor.
The current input cursor position. -1 is taken to be the end of the text
Whether it is possible to select text, either using the pointer
or the keyboard.
The color of selected text.
Will be set to %TRUE if #ClutterText:selected-text-color has been set.
The current input cursor position. -1 is taken to be the end of the text
The color of the selection.
Will be set to %TRUE if #ClutterText:selection-color has been set.
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 #ClutterText:activatable
property as a side-effect.
The #ClutterText:single-line-mode property is used only if the
#ClutterText:editable property is set to %TRUE.
The text to render inside the actor.
Whether the text includes Pango markup.
For more informations about the Pango markup format, see
pango_layout_set_markup() in the Pango documentation.
<note>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 :use-markup set to %TRUE, the markup
is stripped from the string.</note>
The ::activate signal is emitted each time the actor is 'activated'
by the user, normally by pressing the 'Enter' key. The signal is
emitted only if #ClutterText:activatable is set to %TRUE.
The ::cursor-event signal is emitted whenever the cursor position
changes inside a #ClutterText actor. Inside @geometry it is stored
the current position and size of the cursor, relative to the actor
itself.
the coordinates of the cursor
This signal is emitted when text is deleted from the actor by
the user. It is emitted before @self text changes.
the starting position
the end position
This signal is emitted when text is inserted into the actor by
the user. It is emitted before @self text changes.
the new text to insert
the length of the new text, in bytes, or -1 if new_text is nul-terminated
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.
The ::text-changed signal is emitted after @actor's text changes
The <structname>ClutterTextBuffer</structname> structure contains private
data and it should only be accessed using the provided API.
Create a new ClutterTextBuffer object.
A new ClutterTextBuffer object.
Create a new ClutterTextBuffer object with some text.
A new ClutterTextBuffer object.
initial buffer text
initial buffer text length, or -1 for null-terminated.
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.
The number of characters deleted.
position at which to delete text
number of characters to delete
Retrieves the length in characters of the buffer.
The number of characters in the buffer.
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.
The number of characters actually inserted.
the position at which to insert text.
the text to insert into the buffer.
the length of the text in characters, or -1
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.
The number of characters deleted.
a #ClutterTextBuffer
position at which to delete text
number of characters to delete
Emits the #ClutterTextBuffer::deleted-text signal on @buffer.
Used when subclassing #ClutterTextBuffer
a #ClutterTextBuffer
position at which text was deleted
number of characters deleted
Emits the #ClutterTextBuffer::inserted-text signal on @buffer.
Used when subclassing #ClutterTextBuffer
a #ClutterTextBuffer
position at which text was inserted
text that was inserted
number of characters inserted
Retrieves the length in bytes of the buffer.
See clutter_text_buffer_get_length().
The byte length of the buffer.
a #ClutterTextBuffer
Retrieves the length in characters of the buffer.
The number of characters in the buffer.
a #ClutterTextBuffer
Retrieves the maximum allowed length of the text in
@buffer. See clutter_text_buffer_set_max_length().
the maximum allowed number of characters in #ClutterTextBuffer, or 0 if there is no maximum.
a #ClutterTextBuffer
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.
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.
a #ClutterTextBuffer
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.
The number of characters actually inserted.
a #ClutterTextBuffer
the position at which to insert text.
the text to insert into the buffer.
the length of the text in characters, or -1
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.
a #ClutterTextBuffer
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 ].
Sets the text in the buffer.
This is roughly equivalent to calling clutter_text_buffer_delete_text()
and clutter_text_buffer_insert_text().
Note that @n_chars is in characters, not in bytes.
a #ClutterTextBuffer
the new text
the number of characters in @text, or -1
The length (in characters) of the text in buffer.
The maximum length (in characters) of the text in the buffer.
The contents of the buffer.
This signal is emitted after text is deleted from the buffer.
the position the text was deleted at.
The number of characters that were deleted.
This signal is emitted after text is inserted into the buffer.
the position the text was inserted at.
The text that was inserted.
The number of characters that were inserted.
The <structname>ClutterTextBufferClass</structname> structure contains
only private data.
The number of characters in the buffer.
The number of characters actually inserted.
the position at which to insert text.
the text to insert into the buffer.
the length of the text in characters, or -1
The number of characters deleted.
position at which to delete text
number of characters to delete
The #ClutterTextClass struct contains only private data.
The text direction to be used by #ClutterActor<!-- -->s
Use the default setting, as returned by clutter_get_default_text_direction()
Use left-to-right text direction
Use right-to-left text direction
The <structname>ClutterTextNode</structname> structure is an opaque
type whose members cannot be directly accessed.
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.
the newly created #ClutterPaintNode. Use clutter_paint_node_unref() when done
a #PangoLayout, or %NULL
the color used to paint the layout, or %NULL
The <structname>ClutterTextNodeClass</structname> structure is an opaque
type whose contents cannot be directly accessed.
The #ClutterTexture structure contains only private data
and should be accessed using the provided API
Creates a new empty #ClutterTexture object.
A newly created #ClutterTexture object.
Creates a new #ClutterTexture object with its source a prexisting
actor (and associated children). The textures content will contain
'live' redirected output of the actors scene.
Note this function is intented as a utility call for uniformly applying
shaders to groups and other potential visual effects. It requires that
the %CLUTTER_FEATURE_OFFSCREEN feature is supported by the current backend
and the target system.
Some tips on usage:
<itemizedlist>
<listitem>
<para>The source actor must be made visible (i.e by calling
#clutter_actor_show).</para>
</listitem>
<listitem>
<para>The source actor must have a parent in order for it to be
allocated a size from the layouting mechanism. If the source
actor does not have a parent when this function is called then
the ClutterTexture will adopt it and allocate it at its
preferred size. Using this you can clone an actor that is
otherwise not displayed. Because of this feature if you do
intend to display the source actor then you must make sure that
the actor is parented before calling
clutter_texture_new_from_actor() or that you unparent it before
adding it to a container.</para>
</listitem>
<listitem>
<para>When getting the image for the clone texture, Clutter
will attempt to render the source actor exactly as it would
appear if it was rendered on screen. The source actor's parent
transformations are taken into account. Therefore if your
source actor is rotated along the X or Y axes so that it has
some depth, the texture will appear differently depending on
the on-screen location of the source actor. While painting the
source actor, Clutter will set up a temporary asymmetric
perspective matrix as the projection matrix so that the source
actor will be projected as if a small section of the screen was
being viewed. Before version 0.8.2, an orthogonal identity
projection was used which meant that the source actor would be
clipped if any part of it was not on the zero Z-plane.</para>
</listitem>
<listitem>
<para>Avoid reparenting the source with the created texture.</para>
</listitem>
<listitem>
<para>A group can be padded with a transparent rectangle as to
provide a border to contents for shader output (blurring text
for example).</para>
</listitem>
<listitem>
<para>The texture will automatically resize to contain a further
transformed source. However, this involves overhead and can be
avoided by placing the source actor in a bounding group
sized large enough to contain any child tranformations.</para>
</listitem>
<listitem>
<para>Uploading pixel data to the texture (e.g by using
clutter_texture_set_from_file()) will destroy the offscreen texture
data and end redirection.</para>
</listitem>
<listitem>
<para>cogl_texture_get_data() with the handle returned by
clutter_texture_get_cogl_texture() can be used to read the
offscreen texture pixels into a pixbuf.</para>
</listitem>
</itemizedlist>
A newly created #ClutterTexture object, or %NULL on failure.
A source #ClutterActor
Creates a new ClutterTexture actor to display the image contained a
file. If the image failed to load then NULL is returned and @error
is set.
A newly created #ClutterTexture object or NULL on error.
The name of an image file to load.
Gets the size in pixels of the untransformed underlying image
a #ClutterTexture
return location for the width, or %NULL
return location for the height, or %NULL
Returns a handle to the underlying COGL material used for drawing
the actor.
a handle for a #CoglMaterial. The material is owned by the #ClutterTexture and it should not be unreferenced
A #ClutterTexture
Retrieves the handle to the underlying COGL texture used for drawing
the actor. No extra reference is taken so if you need to keep the
handle then you should call cogl_handle_ref() on it.
The texture handle returned is the first layer of the material
handle used by the #ClutterTexture. If you need to access the other
layers you should use clutter_texture_get_cogl_material() instead
and use the #CoglMaterial API.
a #CoglHandle for the texture. The returned handle is owned by the #ClutterTexture and it should not be unreferenced
A #ClutterTexture
Gets the filter quality used when scaling a texture.
The filter quality value.
A #ClutterTexture
Retrieves the value set using clutter_texture_set_keep_aspect_ratio()
%TRUE if the #ClutterTexture should maintain the aspect ratio of the underlying image
a #ClutterTexture
Retrieves the value set using clutter_texture_set_load_async()
%TRUE if the #ClutterTexture should load the data from disk asynchronously
a #ClutterTexture
Retrieves the value set by clutter_texture_set_load_data_async()
%TRUE if the #ClutterTexture should load the image data from a file asynchronously
a #ClutterTexture
Gets the maximum waste that will be used when creating a texture or
-1 if slicing is disabled.
The maximum waste or -1 if the texture waste is unlimited.
A #ClutterTexture
Retrieves the value set by clutter_texture_set_load_data_async()
%TRUE if the #ClutterTexture should define its shape using the alpha channel when picking.
a #ClutterTexture
Retrieves the pixel format used by @texture. This is
equivalent to:
|[
handle = clutter_texture_get_pixel_format (texture);
if (handle != COGL_INVALID_HANDLE)
format = cogl_texture_get_format (handle);
]|
a #CoglPixelFormat value
a #ClutterTexture
Retrieves the horizontal and vertical repeat values set
using clutter_texture_set_repeat()
a #ClutterTexture
return location for the horizontal repeat
return location for the vertical repeat
Retrieves the value set with clutter_texture_set_sync_size()
%TRUE if the #ClutterTexture should have the same preferred size of the underlying image data
a #ClutterTexture
Updates a sub-region of the pixel data in a #ClutterTexture.
%TRUE on success, %FALSE on failure.
A #ClutterTexture
Image data in RGB type colorspace.
Set to TRUE if image data has an alpha channel.
X coordinate of upper left corner of region to update.
Y coordinate of upper left corner of region to update.
Width in pixels of region to update.
Height in pixels of region to update.
Distance in bytes between row starts on source buffer.
bytes per pixel (Currently only 3 and 4 supported, depending on @has_alpha)
#ClutterTextureFlags
Replaces the underlying Cogl material drawn by this actor with
@cogl_material. A reference to the material is taken so if the
handle is no longer needed it should be deref'd with
cogl_handle_unref. Texture data is attached to the material so
calling this function also replaces the Cogl
texture. #ClutterTexture requires that the material have a texture
layer so you should set one on the material before calling this
function.
A #ClutterTexture
A CoglHandle for a material
Replaces the underlying COGL texture drawn by this actor with
@cogl_tex. A reference to the texture is taken so if the handle is
no longer needed it should be deref'd with cogl_handle_unref.
A #ClutterTexture
A CoglHandle for a texture
Sets the filter quality when scaling a texture. The quality is an
enumeration currently the following values are supported:
%CLUTTER_TEXTURE_QUALITY_LOW which is fast but only uses nearest neighbour
interpolation. %CLUTTER_TEXTURE_QUALITY_MEDIUM which is computationally a
bit more expensive (bilinear interpolation), and
%CLUTTER_TEXTURE_QUALITY_HIGH which uses extra texture memory resources to
improve scaled down rendering as well (by using mipmaps). The default value
is %CLUTTER_TEXTURE_QUALITY_MEDIUM.
a #ClutterTexture
new filter quality value
Sets the #ClutterTexture image data from an image file. In case of
failure, %FALSE is returned and @error is set.
If #ClutterTexture:load-async is set to %TRUE, this function
will return as soon as possible, and the actual image loading
from disk will be performed asynchronously. #ClutterTexture::size-change
will be emitten when the size of the texture is available and
#ClutterTexture::load-finished will be emitted when the image has been
loaded or if an error occurred.
%TRUE if the image was successfully loaded and set
A #ClutterTexture
The filename of the image in GLib file name encoding
Sets #ClutterTexture image data.
%TRUE on success, %FALSE on failure.
a #ClutterTexture
image data in RGBA type colorspace.
set to %TRUE if image data has an alpha channel.
width in pixels of image data.
height in pixels of image data
distance in bytes between row starts.
bytes per pixel (currently only 3 and 4 supported, depending on the value of @has_alpha)
#ClutterTextureFlags
Sets a #ClutterTexture from YUV image data. If an error occurred,
%FALSE is returned and @error is set.
The YUV support depends on the driver; the format supported by the
few drivers exposing this capability are not really useful.
The proper way to convert image data in any YUV colorspace to any
RGB colorspace is to use a fragment shader associated with the
#ClutterTexture material.
%TRUE if the texture was successfully updated
A #ClutterTexture
Image data in YUV type colorspace.
Width in pixels of image data.
Height in pixels of image data
#ClutterTextureFlags
Sets whether @texture should have a preferred size maintaining
the aspect ratio of the underlying image
a #ClutterTexture
%TRUE to maintain aspect ratio
Sets whether @texture should use a worker thread to load the data
from disk asynchronously. Setting @load_async to %TRUE will make
clutter_texture_set_from_file() return immediately.
See the #ClutterTexture:load-async property documentation, and
clutter_texture_set_load_data_async().
a #ClutterTexture
%TRUE if the texture should asynchronously load data from a filename
Sets whether @texture should use a worker thread to load the data
from disk asynchronously. Setting @load_async to %TRUE will make
clutter_texture_set_from_file() block until the #ClutterTexture has
determined the width and height of the image data.
See the #ClutterTexture:load-async property documentation, and
clutter_texture_set_load_async().
a #ClutterTexture
%TRUE if the texture should asynchronously load data from a filename
Sets whether @texture should have it's shape defined by the alpha
channel when picking.
Be aware that this is a bit more costly than the default picking
due to the texture lookup, extra test against the alpha value and
the fact that it will also interrupt the batching of geometry done
internally.
Also there is currently no control over the threshold used to
determine what value of alpha is considered pickable, and so only
fully opaque parts of the texture will react to picking.
a #ClutterTexture
%TRUE if the alpha channel should affect the picking shape
Sets whether the @texture should repeat horizontally or
vertically when the actor size is bigger than the image size
a #ClutterTexture
%TRUE if the texture should repeat horizontally
%TRUE if the texture should repeat vertically
Sets whether @texture should have the same preferred size as the
underlying image data.
a #ClutterTexture
%TRUE if the texture should have the same size of the underlying image data
The path of the file containing the image data to be displayed by
the texture.
This property is unset when using the clutter_texture_set_from_*_data()
family of functions.
Tries to load a texture from a filename by using a local thread to perform
the read operations. The initially created texture has dimensions 0x0 when
the true size becomes available the #ClutterTexture::size-change signal is
emitted and when the image has completed loading the
#ClutterTexture::load-finished signal is emitted.
Threading is only enabled if g_thread_init() has been called prior to
clutter_init(), otherwise #ClutterTexture will use the main loop to load
the image.
The upload of the texture data on the GL pipeline is not asynchronous, as
it must be performed from within the same thread that called
clutter_main().
Like #ClutterTexture:load-async but loads the width and height
synchronously causing some blocking.
The ::load-finished signal is emitted when a texture load has
completed. If there was an error during loading, @error will
be set, otherwise it will be %NULL
A set error, or %NULL
The ::pixbuf-change signal is emitted each time the pixbuf
used by @texture changes.
The ::size-change signal is emitted each time the size of the
pixbuf used by @texture changes. The new size is given as
argument to the callback.
the width of the new texture
the height of the new texture
The #ClutterTextureClass structure contains only private data
Error enumeration for #ClutterTexture
OOM condition
YUV operation attempted but no YUV support found
The requested format for clutter_texture_set_from_rgb_data or clutter_texture_set_from_yuv_data is unsupported.
Flags for clutter_texture_set_from_rgb_data() and
clutter_texture_set_from_yuv_data().
No flags
FIXME
FIXME
FIXME
The <structname>ClutterTextNode</structname> structure is an opaque
type whose members cannot be directly accessed.
Creates a new #ClutterPaintNode that will paint the passed @texture.
This function will take a reference on @texture, so it is safe to
call cogl_object_unref() on @texture when it returns.
the newly created #ClutterPaintNode. Use clutter_paint_node_unref() when done
a #CoglTexture
a #ClutterColor
the minification filter for the texture
the magnification filter for the texture
The <structname>ClutterTextureNodeClass</structname> structure is an
opaque type whose members cannot be directly accessed.
Enumaration controlling the texture quality.
fastest rendering will use nearest neighbour interpolation when rendering. good setting.
higher quality rendering without using extra resources.
render the texture with the best quality available using extra memory.
The #ClutterTimeline structure contains only private data
and should be accessed using the provided API
Creates a new #ClutterTimeline with a duration of @msecs.
the newly created #ClutterTimeline instance. Use g_object_unref() when done using it
Duration of the timeline in milliseconds
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 ::marker-reached signal for each marker attached to
that particular point.
A marker can be removed with clutter_timeline_remove_marker(). The
timeline can be advanced to a marker using
clutter_timeline_advance_to_marker().
See also: clutter_timeline_add_marker_at_time()
a #ClutterTimeline
the unique name for this marker
the normalized value of the position of the martke
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 ::marker-reached signal for each marker attached to that position.
A marker can be removed with clutter_timeline_remove_marker(). The
timeline can be advanced to a marker using
clutter_timeline_advance_to_marker().
See also: clutter_timeline_add_marker()
a #ClutterTimeline
the unique name for this marker
position of the marker in milliseconds
Advance timeline to the requested point. The point is given as a
time in milliseconds since the timeline started.
<note><para>The @timeline will not emit the #ClutterTimeline::new-frame
signal for the given time. The first ::new-frame signal after the call to
clutter_timeline_advance() will be emit the skipped markers.
</para></note>
A #ClutterTimeline
Time to advance to
Advances @timeline to the time of the given @marker_name.
<note><para>Like clutter_timeline_advance(), this function will not
emit the #ClutterTimeline::new-frame for the time where @marker_name
is set, nor it will emit #ClutterTimeline::marker-reached for
@marker_name.</para></note>
a #ClutterTimeline
the name of the marker
Create a new #ClutterTimeline instance which has property values
matching that of supplied timeline. The cloned timeline will not
be started and will not be positioned to the current position of
the original @timeline: you will have to start it with clutter_timeline_start().
<note><para>The only cloned properties are:</para>
<itemizedlist>
<listitem><simpara>#ClutterTimeline:duration</simpara></listitem>
<listitem><simpara>#ClutterTimeline:loop</simpara></listitem>
<listitem><simpara>#ClutterTimeline:delay</simpara></listitem>
<listitem><simpara>#ClutterTimeline:direction</simpara></listitem>
</itemizedlist></note>
a new #ClutterTimeline, cloned from @timeline
#ClutterTimeline to duplicate.
Retrieves the value set by clutter_timeline_set_auto_reverse().
%TRUE if the timeline should automatically reverse, and %FALSE otherwise
a #ClutterTimeline
Retrieves the control points for the cubic bezier progress mode.
%TRUE if the @timeline is using a cubic bezier progress more, and %FALSE otherwise
a #ClutterTimeline
return location for the first control point of the cubic bezier, or %NULL
return location for the second control point of the cubic bezier, or %NULL
Retrieves the current repeat for a timeline.
Repeats start at 0.
the current repeat
a #ClutterTimeline
Retrieves the delay set using clutter_timeline_set_delay().
the delay in milliseconds.
a #ClutterTimeline
Retrieves the amount of time elapsed since the last
ClutterTimeline::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.
the amount of time in milliseconds elapsed since the last frame
a #ClutterTimeline
Retrieves the direction of the timeline set with
clutter_timeline_set_direction().
the direction of the timeline
a #ClutterTimeline
Retrieves the duration of a #ClutterTimeline in milliseconds.
See clutter_timeline_set_duration().
the duration of the timeline, in milliseconds.
a #ClutterTimeline
Retrieves the full duration of the @timeline, taking into account the
current value of the #ClutterTimeline:repeat-count property.
If the #ClutterTimeline: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.
the full duration of the #ClutterTimeline
a #ClutterTimeline
Request the current time position of the timeline.
current elapsed time in milliseconds.
A #ClutterTimeline
Gets whether @timeline is looping
%TRUE if the timeline is looping
a #ClutterTimeline
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 clutter_timeline_set_progress_mode(), or by the
progress function set using clutter_timeline_set_progress_func().
the normalized current position in the timeline.
a #ClutterTimeline
Retrieves the progress mode set using clutter_timeline_set_progress_mode()
or clutter_timeline_set_progress_func().
a #ClutterAnimationMode
a #ClutterTimeline
Retrieves the number set using clutter_timeline_set_repeat_count().
the number of repeats
a #ClutterTimeline
Retrieves the parameters of the step progress mode used by @timeline.
%TRUE if the @timeline is using a step progress mode, and %FALSE otherwise
a #ClutterTimeline
return location for the number of steps, or %NULL
return location for the value change policy, or %NULL
Checks whether @timeline has a marker set with the given name.
%TRUE if the marker was found
a #ClutterTimeline
the name of the marker
Queries state of a #ClutterTimeline.
%TRUE if timeline is currently playing
A #ClutterTimeline
Retrieves the list of markers at time @msecs. If @msecs is a
negative integer, all the markers attached to @timeline will be
returned.
a newly allocated, %NULL terminated string array containing the names of the markers. Use g_strfreev() when done.
a #ClutterTimeline
the time to check, or -1
the number of markers returned
Pauses the #ClutterTimeline on current frame
A #ClutterTimeline
Removes @marker_name, if found, from @timeline.
a #ClutterTimeline
the name of the marker to remove
Rewinds #ClutterTimeline to the first frame if its direction is
%CLUTTER_TIMELINE_FORWARD and the last frame if it is
%CLUTTER_TIMELINE_BACKWARD.
A #ClutterTimeline
Sets whether @timeline should reverse the direction after the
emission of the #ClutterTimeline::completed signal.
Setting the #ClutterTimeline:auto-reverse property to %TRUE is the
equivalent of connecting a callback to the #ClutterTimeline::completed
signal and changing the direction of the timeline from that callback;
for instance, this code:
|[
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 (1000);
clutter_timeline_set_repeat_count (timeline, -1);
g_signal_connect (timeline, "completed",
G_CALLBACK (reverse_timeline),
NULL);
]|
can be effectively replaced by:
|[
timeline = clutter_timeline_new (1000);
clutter_timeline_set_repeat_count (timeline, -1);
clutter_timeline_set_auto_reverse (timeline);
]|
a #ClutterTimeline
%TRUE if the @timeline should reverse the direction
Sets the #ClutterTimeline: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.
a #ClutterTimeline
the first control point for the cubic bezier
the second control point for the cubic bezier
Sets the delay, in milliseconds, before @timeline should start.
a #ClutterTimeline
delay in milliseconds
Sets the direction of @timeline, either %CLUTTER_TIMELINE_FORWARD or
%CLUTTER_TIMELINE_BACKWARD.
a #ClutterTimeline
the direction of the timeline
Sets the duration of the timeline, in milliseconds. The speed
of the timeline depends on the ClutterTimeline:fps setting.
a #ClutterTimeline
duration of the timeline in milliseconds
Sets whether @timeline should loop.
This function is equivalent to calling clutter_timeline_set_repeat_count()
with -1 if @loop is %TRUE, and with 0 if @loop is %FALSE.
a #ClutterTimeline
%TRUE for enable looping
Sets a custom progress function for @timeline. The progress function will
be called by clutter_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 #ClutterTimeline:progress-mode property will
be set to %CLUTTER_CUSTOM_MODE.
If @func is %NULL, any previously set progress function will be unset, and
the #ClutterTimeline:progress-mode property will be set to %CLUTTER_LINEAR.
a #ClutterTimeline
a progress function, or %NULL
data to pass to @func
a function to be called when the progress function is removed or the timeline is disposed
Sets the progress function using a value from the #ClutterAnimationMode
enumeration. The @mode cannot be %CLUTTER_CUSTOM_MODE or bigger than
%CLUTTER_ANIMATION_LAST.
a #ClutterTimeline
the progress mode, as a #ClutterAnimationMode
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.
a #ClutterTimeline
the number of times the timeline should repeat
Sets the #ClutterTimeline:progress-mode of the @timeline to %CLUTTER_STEPS
and provides the parameters of the step function.
a #ClutterTimeline
the number of steps
whether the change should happen at the start or at the end of the step
Advance timeline by the requested time in milliseconds
A #ClutterTimeline
Amount of time to skip
Starts the #ClutterTimeline playing.
A #ClutterTimeline
Stops the #ClutterTimeline and moves to frame 0
A #ClutterTimeline
If the direction of the timeline should be automatically reversed
when reaching the end.
A delay, in milliseconds, that should be observed by the
timeline before actually starting.
The direction of the timeline, either %CLUTTER_TIMELINE_FORWARD or
%CLUTTER_TIMELINE_BACKWARD.
Duration of the timeline in milliseconds, depending on the
ClutterTimeline:fps value.
Whether the timeline should automatically rewind and restart.
As a side effect, setting this property to %TRUE will set the
#ClutterTimeline:repeat-count property to -1, while setting this
property to %FALSE will set the #ClutterTimeline:repeat-count
property to 0.
Controls the way a #ClutterTimeline computes the normalized progress.
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.
The #ClutterTimeline::completed signal is emitted when the timeline's
elapsed time reaches the value of the #ClutterTimeline: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 #ClutterTimeline::stopped signal instead.
The ::marker-reached signal is emitted each time a timeline
reaches a marker set with
clutter_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 ::marker-reached signal for a specific marker
with:
<informalexample><programlisting>
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);
</programlisting></informalexample>
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.
the name of the marker reached
the elapsed time
The ::new-frame signal is emitted for each timeline running
timeline before a new frame is drawn to give animations a chance
to update the scene.
the elapsed time between 0 and duration
The ::paused signal is emitted when clutter_timeline_pause() is invoked.
The ::started signal is emitted when the timeline starts its run.
This might be as soon as clutter_timeline_start() is invoked or
after the delay set in the ClutterTimeline:delay property has
expired.
The #ClutterTimeline::stopped signal is emitted when the timeline
has been stopped, either because clutter_timeline_stop() has been
called, or because it has been exhausted.
This is different from the #ClutterTimeline::completed signal,
which gets emitted after every repeat finishes.
If the #ClutterTimeline has is marked as infinitely repeating,
this signal will never be emitted.
%TRUE if the signal was emitted at the end of the timeline.
The #ClutterTimelineClass structure contains only private data
The direction of a #ClutterTimeline
forward direction for a timeline
backward direction for a timeline
A function for defining a custom progress.
the progress, as a floating point value between -1.0 and 2.0.
a #ClutterTimeline
the elapsed time, in milliseconds
the total duration of the timeline, in milliseconds,
data passed to the function
<structname>ClutterTimeoutPool</structname> is an opaque structure
whose members cannot be directly accessed.
Sets a function to be called at regular intervals, and puts it inside
the @pool. The function is repeatedly called until it returns %FALSE,
at which point the timeout is automatically destroyed and the function
won't be called again. If @notify is not %NULL, the @notify function
will be called. The first call to @func will be at the end of @interval.
Since Clutter 0.8 this will try to compensate for delays. For
example, if @func takes half the interval time to execute then the
function will be called again half the interval time after it
finished. Before version 0.8 it would not fire until a full
interval after the function completes so the delay between calls
would be @interval * 1.5. This function does not however try to
invoke the function multiple times to catch up missing frames if
@func takes more than @interval ms to execute.
the ID (greater than 0) of the timeout inside the pool. Use clutter_timeout_pool_remove() to stop the timeout.
a #ClutterTimeoutPool
the time between calls to the function, in frames per second
function to call
data to pass to the function, or %NULL
function to call when the timeout is removed, or %NULL
Removes a timeout function with @id_ from the timeout pool. The id
is the same returned when adding a function to the timeout pool with
clutter_timeout_pool_add().
a #ClutterTimeoutPool
the id of the timeout to remove
Creates a new timeout pool source. A timeout pool should be used when
multiple timeout functions, running at the same priority, are needed and
the g_timeout_add() API might lead to starvation of the time slice of
the main loop. A timeout pool allocates a single time slice of the main
loop and runs every timeout function inside it. The timeout pool is
always sorted, so that the extraction of the next timeout function is
a constant time operation.
the newly created #ClutterTimeoutPool. The created pool is owned by the GLib default context and will be automatically destroyed when the context is destroyed. It is possible to force the destruction of the timeout pool using g_source_destroy()
the priority of the timeout pool. Typically this will be #G_PRIORITY_DEFAULT
Used for touch events.
The @type field will be one of %CLUTTER_TOUCH_BEGIN, %CLUTTER_TOUCH_END,
%CLUTTER_TOUCH_UPDATE, or %CLUTTER_TOUCH_CANCEL.
Touch events are grouped into sequences; each touch sequence will begin
with a %CLUTTER_TOUCH_BEGIN event, progress with %CLUTTER_TOUCH_UPDATE
events, and end either with a %CLUTTER_TOUCH_END event or with a
%CLUTTER_TOUCH_CANCEL event.
With multi-touch capable devices there can be multiple event sequence
running at the same time.
The <structname>ClutterTransition</structname> structure contains private
data and should only be accessed using the provided API.
Retrieves the #ClutterAnimatable set using clutter_transition_set_animatable().
a #ClutterAnimatable, or %NULL; the returned animatable is owned by the #ClutterTransition, and it should not be freed directly.
a #ClutterTransition
Retrieves the interval set using clutter_transition_set_interval()
a #ClutterInterval, or %NULL; the returned interval is owned by the #ClutterTransition and it should not be freed directly
a #ClutterTransition
Retrieves the value of the #ClutterTransition:remove-on-complete property.
%TRUE if the @transition should be detached when complete, and %FALSE otherwise
a #ClutterTransition
Sets the #ClutterTransition:animatable property.
The @transition will acquire a reference to the @animatable instance,
and will call the #ClutterTransitionClass.attached() virtual function.
If an existing #ClutterAnimatable is attached to @transition, the
reference will be released, and the #ClutterTransitionClass.detached()
virtual function will be called.
a #ClutterTransition
a #ClutterAnimatable, or %NULL
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 #ClutterTransition:interval is already set.
If @transition already has a #ClutterTransition:interval set,
then @value must hold the same type, or a transformable type,
as the interval's #ClutterInterval:value-type property.
This is a convenience function for the C API; language bindings
should use clutter_transition_set_from_value() instead.
a #ClutterTransition
the type of the value to set
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 #ClutterTransition:interval is already set.
This function will copy the contents of @value, so it is
safe to call g_value_unset() after it returns.
If @transition already has a #ClutterTransition:interval set,
then @value must hold the same type, or a transformable type,
as the interval's #ClutterInterval:value-type property.
This function is meant to be used by language bindings.
a #ClutterTransition
a #GValue with the initial value of the transition
Sets the #ClutterTransition:interval property using @interval.
The @transition will acquire a reference on the @interval, sinking
the floating flag on it if necessary.
a #ClutterTransition
a #ClutterInterval, or %NULL
Sets whether @transition should be detached from the #ClutterAnimatable
set using clutter_transition_set_animatable() when the
#ClutterTimeline::completed signal is emitted.
a #ClutterTransition
whether to detach @transition when complete
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 #ClutterTransition:interval is already set.
If @transition already has a #ClutterTransition:interval set,
then @value must hold the same type, or a transformable type,
as the interval's #ClutterInterval:value-type property.
This is a convenience function for the C API; language bindings
should use clutter_transition_set_to_value() instead.
a #ClutterTransition
the type of the value to set
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 #ClutterTransition:interval is already set.
This function will copy the contents of @value, so it is
safe to call g_value_unset() after it returns.
If @transition already has a #ClutterTransition:interval set,
then @value must hold the same type, or a transformable type,
as the interval's #ClutterInterval:value-type property.
This function is meant to be used by language bindings.
a #ClutterTransition
a #GValue with the final value of the transition
The #ClutterAnimatable instance currently being animated.
The #ClutterInterval used to describe the initial and final states
of the transition.
Whether the #ClutterTransition should be automatically detached
from the #ClutterTransition:animatable instance whenever the
#ClutterTimeline::completed signal is emitted.
The #ClutterTransition:remove-on-complete property takes into
account the value of the #ClutterTimeline:repeat-count property,
and it only detaches the transition if the transition is not
repeating.
The <structname>ClutterTransitionClass</structname> structure contains
private data.
The <structname>ClutterTransitionGroup</structname> structure contains
private data and should only be accessed using the provided API.
Creates a new #ClutterTransitionGroup instance.
the newly created #ClutterTransitionGroup. Use g_object_unref() when done to deallocate the resources it uses
Adds @transition to @group.
This function acquires a reference on @transition that will be released
when calling clutter_transition_group_remove_transition().
a #ClutterTransitionGroup
a #ClutterTransition
Removes all transitions from @group.
This function releases the reference acquired when calling
clutter_transition_group_add_transition().
a #ClutterTransitionGroup
Removes @transition from @group.
This function releases the reference acquired on @transition when
calling clutter_transition_group_add_transition().
a #ClutterTransitionGroup
a #ClutterTransition
The <structname>ClutterTransitionGroupClass</structname> structure
contains only private data.
The type of unit in which a value is expressed
This enumeration might be expanded at later date
Unit expressed in pixels (with subpixel precision)
Unit expressed in em
Unit expressed in millimeters
Unit expressed in points
Unit expressed in centimeters
An opaque structure, to be used to store sizing and positioning
values along with their unit.
Copies @units
the newly created copy of a #ClutterUnits structure. Use clutter_units_free() to free the allocated resources
the #ClutterUnits to copy
Frees the resources allocated by @units
You should only call this function on a #ClutterUnits
created using clutter_units_copy()
the #ClutterUnits to free
Retrieves the unit type of the value stored inside @units
a unit type
a #ClutterUnits
Retrieves the value stored inside @units
the value stored inside a #ClutterUnits
a #ClutterUnits
Converts a value in #ClutterUnits to pixels
the value in pixels
units to convert
Converts @units into a string
See clutter_units_from_string() for the units syntax and for
examples of output
<note>Fractional values are truncated to the second decimal
position for em, mm and cm, and to the first decimal position for
typographic points. Pixels are integers.</note>
a newly allocated string containing the encoded #ClutterUnits value. Use g_free() to free the string
a #ClutterUnits
Stores a value in centimeters inside @units
a #ClutterUnits
centimeters
Stores a value in em inside @units, using the default font
name as returned by clutter_backend_get_font_name()
a #ClutterUnits
em
Stores a value in em inside @units using @font_name
a #ClutterUnits
the font name and size
em
Stores a value in millimiters inside @units
a #ClutterUnits
millimeters
Stores a value in pixels inside @units
a #ClutterUnits
pixels
Stores a value in typographic points inside @units
a #ClutterUnits
typographic points
Parses a value and updates @units with it
A #ClutterUnits expressed in string should match:
|[
units: wsp* unit-value wsp* unit-name? wsp*
unit-value: number
unit-name: 'px' | 'pt' | 'mm' | 'em' | 'cm'
number: digit+
| digit* sep digit+
sep: '.' | ','
digit: '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
wsp: (#0x20 | #0x9 | #0xA | #0xB | #0xC | #0xD)+
]|
For instance, these are valid strings:
|[
10 px
5.1 em
24 pt
12.6 mm
.3 cm
]|
While these are not:
|[
42 cats
omg!1!ponies
]|
<note><para>If no unit is specified, pixels are assumed.</para></note>
%TRUE if the string was successfully parsed, and %FALSE otherwise
a #ClutterUnits
the string to convert
The full version of the Clutter library, like 1.2.3
Numerically encoded version of the Clutter library, like 0x010203
The full version of the Clutter library, in string form (suited for
string concatenation)
A point in 3D space, expressed in pixels
Allocates a new, empty #ClutterVertex.
the newly allocated #ClutterVertex. Use clutter_vertex_free() to free its resources
Creates a new #ClutterVertex for the point in 3D space
identified by the 3 coordinates @x, @y, @z.
This function is the logical equivalent of:
|[
clutter_vertex_init (clutter_vertex_alloc (), x, y, z);
]|
the newly allocated #ClutterVertex. Use clutter_vertex_free() to free the resources
X coordinate
Y coordinate
Z coordinate
Copies @vertex
a newly allocated copy of #ClutterVertex. Use clutter_vertex_free() to free the allocated resources
a #ClutterVertex
Compares @vertex_a and @vertex_b for equality
%TRUE if the passed #ClutterVertex are equal
a #ClutterVertex
a #ClutterVertex
Frees a #ClutterVertex allocated using clutter_vertex_alloc() or
clutter_vertex_copy().
a #ClutterVertex
Initializes @vertex with the given coordinates.
the initialized #ClutterVertex
a #ClutterVertex
X coordinate
Y coordinate
Z coordinate
The <structname>ClutterZoomAction</structname> structure contains only
private data and should be accessed using the provided API
Creates a new #ClutterZoomAction instance
the newly created #ClutterZoomAction
Retrieves the focal point of the current zoom
a #ClutterZoomAction
a #ClutterPoint
Retrieves the focal point relative to the actor's coordinates of
the current zoom
a #ClutterZoomAction
a #ClutterPoint
Retrieves the axis constraint set by clutter_zoom_action_set_zoom_axis()
the axis constraint
a #ClutterZoomAction
Restricts the zooming action to a specific axis
a #ClutterZoomAction
the axis to constraint the zooming to
Constraints the zooming action to the specified axis
The ::zoom signal is emitted for each series of touch events that
change the distance and focal point between the touch points.
The default handler of the signal will call
clutter_actor_set_scale() on @actor using the ratio of the first
distance between the touch points and the current distance. To
override the default behaviour, connect to this signal and return
%FALSE.
%TRUE if the zoom should continue, and %FALSE if the zoom should be cancelled.
the #ClutterActor attached to the action
the focal point of the zoom
the initial distance between the 2 touch points
The <structname>ClutterZoomActionClass</structname> structure contains
only private data
The axis of the constraint that should be applied by the
zooming action.
Scale only on the X axis
Scale only on the Y axis
Scale on both axis
Allocates a new #ClutterActorBox.
the newly allocated #ClutterActorBox. Use clutter_actor_box_free() to free its resources
Utility function to clear a Cairo context.
a Cairo context
Utility function for setting the source color of @cr using
a #ClutterColor. This function is the equivalent of:
|[
cairo_set_source_rgba (cr,
color->red / 255.0,
color->green / 255.0,
color->blue / 255.0,
color->alpha / 255.0);
]|
a Cairo context
a #ClutterColor
Run-time version check, to check the version the Clutter library
that an application is currently linked against
This is the run-time equivalent of the compile-time %CLUTTER_CHECK_VERSION
pre-processor macro
%TRUE if the version of the Clutter library is greater than (@major, @minor, @micro), and %FALSE otherwise
major version, like 1 in 1.2.3
minor version, like 2 in 1.2.3
micro version, like 3 in 1.2.3
Checks the run-time name of the Clutter windowing system backend, using
the symbolic macros like %CLUTTER_WINDOWING_WIN32 or
%CLUTTER_WINDOWING_X11.
This function should be used in conjuction with the compile-time macros
inside applications and libraries that are using the platform-specific
windowing system API, to ensure that they are running on the correct
windowing system; for instance:
|[
#ifdef CLUTTER_WINDOWING_X11
if (clutter_check_windowing_backend (CLUTTER_WINDOWING_X11))
{
/* it is safe to use the clutter_x11_* API */
}
else
#endif
#ifdef CLUTTER_WINDOWING_WIN32
if (clutter_check_windowing_backend (CLUTTER_WINDOWING_WIN32))
{
/* it is safe to use the clutter_win32_* API */
}
else
#endif
g_error ("Unknown Clutter backend.");
]|
%TRUE if the current Clutter windowing system backend is the one checked, and %FALSE otherwise
the name of the backend to check
Clears the internal cache of glyphs used by the Pango
renderer. This will free up some memory and GL texture
resources. The cache will be automatically refilled as more text is
drawn.
Converts a color expressed in HLS (hue, luminance and saturation)
values into a #ClutterColor.
return location for a #ClutterColor
hue value, in the 0 .. 360 range
luminance value, in the 0 .. 1 range
saturation value, in the 0 .. 1 range
Converts @pixel from the packed representation of a four 8 bit channel
color to a #ClutterColor.
return location for a #ClutterColor
a 32 bit packed integer containing a color
Parses a string definition of a color, filling the
<structfield>red</structfield>, <structfield>green</structfield>,
<structfield>blue</structfield> and <structfield>alpha</structfield>
channels of @color.
The @color is not allocated.
The format of @str can be either one of:
<itemizedlist>
<listitem>
<para>a standard name (as taken from the X11 rgb.txt file)</para>
</listitem>
<listitem>
<para>an hexadecimal value in the form: <literal>#rgb</literal>,
<literal>#rrggbb</literal>, <literal>#rgba</literal> or
<literal>#rrggbbaa</literal></para>
</listitem>
<listitem>
<para>a RGB color in the form: <literal>rgb(r, g, b)</literal></para>
</listitem>
<listitem>
<para>a RGB color in the form: <literal>rgba(r, g, b, a)</literal></para>
</listitem>
<listitem>
<para>a HSL color in the form: <literal>hsl(h, s, l)</literal></para>
</listitem>
<listitem>
<para>a HSL color in the form: <literal>hsla(h, s, l, a)</literal></para>
</listitem>
</itemizedlist>
where 'r', 'g', 'b' and 'a' are (respectively) the red, green, blue color
intensities and the opacity. The 'h', 's' and 'l' are (respectively) the
hue, saturation and luminance values.
In the rgb() and rgba() formats, the 'r', 'g', and 'b' values are either
integers between 0 and 255, or percentage values in the range between 0%
and 100%; the percentages require the '%' character. The 'a' value, if
specified, can only be a floating point value between 0.0 and 1.0.
In the hls() and hlsa() formats, the 'h' value (hue) it's an angle between
0 and 360.0 degrees; the 'l' and 's' values (luminance and saturation) are
a floating point value between 0.0 and 1.0. The 'a' value, if specified,
can only be a floating point value between 0.0 and 1.0.
Whitespace inside the definitions is ignored; no leading whitespace
is allowed.
If the alpha component is not specified then it is assumed to be set to
be fully opaque.
%TRUE if parsing succeeded, and %FALSE otherwise
return location for a #ClutterColor
a string specifiying a color
Retrieves a static color for the given @color name
Static colors are created by Clutter and are guaranteed to always be
available and valid
a pointer to a static color; the returned pointer is owned by Clutter and it should never be modified or freed
the named global color
Looks up the #GParamSpec for a child property of @klass.
The #GParamSpec for the property or %NULL if no such property exist.
a #GObjectClass implementing the #ClutterContainer interface.
a property name.
Returns an array of #GParamSpec for all child properties.
an array of #GParamSpec<!-- -->s which should be freed after use.
a #GObjectClass implementing the #ClutterContainer interface.
return location for length of returned array.
Disable loading the accessibility support. It has the same effect
as setting the environment variable
CLUTTER_DISABLE_ACCESSIBILITY. For the same reason, this method
should be called before clutter_init().
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.
a #ClutterEvent.
Pops an event off the event queue. Applications should not need to call
this.
A #ClutterEvent or NULL if queue empty
Returns a pointer to the first event from the event queue but
does not remove it.
A #ClutterEvent or NULL if queue empty.
Checks if events are pending in the event queue.
TRUE if there are pending events, FALSE otherwise.
Checks whether @feature is available. @feature can be a logical
OR of #ClutterFeatureFlags.
%TRUE if a feature is available
a #ClutterFeatureFlags
Returns all the supported features.
a logical OR of all the supported features.
Simple wrapper around clutter_frame_source_add_full().
the ID (greater than 0) of the event source.
the number of times per second to call the function
function to call
data to pass to the function
Sets a function to be called at regular intervals with the given
priority. The function is called repeatedly until it returns
%FALSE, at which point the timeout is automatically destroyed and
the function will not be called again. The @notify function is
called when the timeout is destroyed. The first call to the
function will be at the end of the first @interval.
This function is similar to g_timeout_add_full() except that it
will try to compensate for delays. For example, if @func takes half
the interval time to execute then the function will be called again
half the interval time after it finished. In contrast
g_timeout_add_full() would not fire until a full interval after the
function completes so the delay between calls would be 1.0 / @fps *
1.5. This function does not however try to invoke the function
multiple times to catch up missing frames if @func takes more than
@interval ms to execute.
the ID (greater than 0) of the event source.
the priority of the frame source. Typically this will be in the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH.
the number of times per second to call the function
function to call
data to pass to the function
function to call when the timeout source is removed
Returns whether Clutter has accessibility support enabled. As
least, a value of TRUE means that there are a proper AtkUtil
implementation available
%TRUE if Clutter has accessibility support enabled
Retrieves the #ClutterActor with @id_.
the actor with the passed id or %NULL. The returned actor does not have its reference count increased.
a #ClutterActor unique id.
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.
The current ClutterEvent, or %NULL if none
Retrieves the timestamp of the last event, if there is an
event or if the event has a timestamp.
the event timestamp, or %CLUTTER_CURRENT_TIME
Check if Clutter has debugging enabled.
%FALSE
Retrieves the default #ClutterBackend used by Clutter. The
#ClutterBackend holds backend-specific configuration options.
the default backend. You should not ref or unref the returned object. Applications should rarely need to use this.
Retrieves the default frame rate. See clutter_set_default_frame_rate().
the default frame rate
Retrieves the default direction for the text. The text direction is
determined by the locale and/or by the <varname>CLUTTER_TEXT_DIRECTION</varname>
environment variable.
The default text direction can be overridden on a per-actor basis by using
clutter_actor_set_text_direction().
the default text direction
Gets the current font flags for rendering text. See
clutter_set_font_flags().
The font flags
Retrieves the #PangoFontMap instance used by Clutter.
You can use the global font map object with the COGL
Pango API.
the #PangoFontMap instance. The returned value is owned by Clutter and it should never be unreferenced.
Retrieves the #ClutterInputDevice from its @id_. This is a convenience
wrapper for clutter_device_manager_get_device() and it is functionally
equivalent to:
|[
ClutterDeviceManager *manager;
ClutterInputDevice *device;
manager = clutter_device_manager_get_default ();
device = clutter_device_manager_get_device (manager, id);
]|
a #ClutterInputDevice, or %NULL
the unique id for a device
Queries the current keyboard grab of clutter.
the actor currently holding the keyboard grab, or NULL if there is no grab.
Gets whether the per-actor motion events are enabled.
%TRUE if the motion events are enabled
Returns a #GOptionGroup for the command line arguments recognized
by Clutter. You should add this group to your #GOptionContext with
g_option_context_add_group(), if you are using g_option_context_parse()
to parse your commandline arguments.
Calling g_option_context_parse() with Clutter's #GOptionGroup will result
in Clutter's initialization. That is, the following code:
|[
g_option_context_set_main_group (context, clutter_get_option_group ());
res = g_option_context_parse (context, &argc, &argc, NULL);
]|
is functionally equivalent to:
|[
clutter_init (&argc, &argv);
]|
After g_option_context_parse() on a #GOptionContext containing the
Clutter #GOptionGroup has returned %TRUE, Clutter is guaranteed to be
initialized.
a #GOptionGroup for the commandline arguments recognized by Clutter
Returns a #GOptionGroup for the command line arguments recognized
by Clutter. You should add this group to your #GOptionContext with
g_option_context_add_group(), if you are using g_option_context_parse()
to parse your commandline arguments.
Unlike clutter_get_option_group(), calling g_option_context_parse() with
the #GOptionGroup returned by this function requires a subsequent explicit
call to clutter_init(); use this function when needing to set foreign
display connection with clutter_x11_set_display(), or with
<function>gtk_clutter_init()</function>.
a #GOptionGroup for the commandline arguments recognized by Clutter
Queries the current pointer grab of clutter.
the actor currently holding the pointer grab, or NULL if there is no grab.
Retrieves the Clutter script id, if any.
the script id, or %NULL if @object was not defined inside a UI definition file. The returned string is owned by the object and should never be modified or freed.
a #GObject
Returns whether Clutter should print out the frames per second on the
console. You can enable this setting either using the
<literal>CLUTTER_SHOW_FPS</literal> environment variable or passing
the <literal>--clutter-show-fps</literal> command line argument. *
%TRUE if Clutter should show the FPS.
Returns the approximate number of microseconds passed since Clutter was
intialised.
This function shdould not be used by application code.
The output of this function depends on whether Clutter was configured to
enable its debugging code paths, so it's less useful than intended.
Since Clutter 1.10, this function is an alias to g_get_monotonic_time()
if Clutter was configured to enable the debugging code paths.
Number of microseconds since clutter_init() was called, or zero if Clutter was not configured with debugging code paths.
Grabs keyboard events, after the grab is done keyboard
events (#ClutterActor::key-press-event and #ClutterActor::key-release-event)
are delivered to this actor directly. The source set in the event will be
the actor that would have received the event if the keyboard grab was not
in effect.
Like pointer grabs, keyboard grabs should only be used as a last
resource.
See also clutter_stage_set_key_focus() and clutter_actor_grab_key_focus()
to perform a "soft" key grab and assign key focus to a specific actor.
a #ClutterActor
Grabs pointer events, after the grab is done all pointer related events
(press, motion, release, enter, leave and scroll) are delivered to this
actor directly without passing through both capture and bubble phases of
the event delivery chain. The source set in the event will be the actor
that would have received the event if the pointer grab was not in effect.
<note><para>Grabs completely override the entire event delivery chain
done by Clutter. Pointer grabs should only be used as a last resource;
using the #ClutterActor::captured-event signal should always be the
preferred way to intercept event delivery to reactive actors.</para></note>
This function should rarely be used.
If a grab is required, you are strongly encouraged to use a specific
input device by calling clutter_input_device_grab().
a #ClutterActor
Grabs all the pointer events coming from the device @id for @actor.
If @id is -1 then this function is equivalent to clutter_grab_pointer().
a #ClutterActor
a device id, or -1
Initialises everything needed to operate with Clutter and parses some
standard command line options; @argc and @argv are adjusted accordingly
so your own code will never see those standard arguments.
It is safe to call this function multiple times.
<note>This function will not abort in case of errors during
initialization; clutter_init() will print out the error message on
stderr, and will return an error code. It is up to the application
code to handle this case. If you need to display the error message
yourself, you can use clutter_init_with_args(), which takes a #GError
pointer.</note>
If this function fails, and returns an error code, any subsequent
Clutter API will have undefined behaviour - including segmentation
faults and assertion failures. Make sure to handle the returned
#ClutterInitError enumeration value.
a #ClutterInitError value
The number of arguments in @argv
A pointer to an array of arguments.
This function does the same work as clutter_init(). Additionally,
it allows you to add your own command line options, and it
automatically generates nicely formatted <option>--help</option>
output. Note that your program will be terminated after writing
out the help output. Also note that, in case of error, the
error message will be placed inside @error instead of being
printed on the display.
Just like clutter_init(), if this function returns an error code then
any subsequent call to any other Clutter API will result in undefined
behaviour - including segmentation faults.
%CLUTTER_INIT_SUCCESS if Clutter has been successfully initialised, or other values or #ClutterInitError in case of error.
a pointer to the number of command line arguments
a pointer to the array of command line arguments
a string which is displayed in the first line of <option>--help</option> output, after <literal><replaceable>programname</replaceable> [OPTION...]</literal>
a %NULL terminated array of #GOptionEntry<!-- -->s describing the options of your program
a translation domain to use for translating the <option>--help</option> output for the options in @entries with gettext(), or %NULL
Converts @keyval from a Clutter key symbol to the corresponding
ISO10646 (Unicode) character.
a Unicode character, or 0 if there is no corresponding character.
a key symbol
Starts the Clutter mainloop.
Retrieves the depth of the Clutter mainloop.
The level of the mainloop.
Terminates the Clutter mainloop.
Allocates enough memory to hold a #ClutterMatrix.
the newly allocated #ClutterMatrix
Frees the memory allocated by clutter_matrix_alloc().
a #ClutterMatrix
Initializes @matrix with the contents of a C array of floating point
values.
the initialzed #ClutterMatrix
a #ClutterMatrix
a C array of 16 floating point values, representing a 4x4 matrix, with column-major order
Initializes the #ClutterMatrix @a with the contents of the
#ClutterMatrix @b.
the initialized #ClutterMatrix
the #ClutterMatrix to initialize
the #ClutterMatrix to copy
Initializes @matrix with the identity matrix, i.e.:
|[
.xx = 1.0, .xy = 0.0, .xz = 0.0, .xw = 0.0
.yx = 0.0, .yy = 1.0, .yz = 0.0, .yw = 0.0
.zx = 0.0, .zy = 0.0, .zz = 1.0, .zw = 0.0
.wx = 0.0, .wy = 0.0, .wz = 0.0, .ww = 1.0
]|
the initialized #ClutterMatrix
a #ClutterMatrix
Creates a #GParamSpec for properties using #ClutterColor.
the newly created #GParamSpec
name of the property
short name
description (can be translatable)
default value
flags for the param spec
Creates a #GParamSpec for properties using #CoglFixed values
the newly created #GParamSpec
name of the property
short name
description (can be translatable)
lower boundary
higher boundary
default value
flags for the param spec
Creates a #GParamSpec for properties using #ClutterUnits.
the newly created #GParamSpec
name of the property
short name
description (can be translatable)
the default type for the #ClutterUnits
lower boundary
higher boundary
default value
flags for the param spec
A point centered at (0, 0).
The returned value can be used as a guard.
a point centered in (0, 0); the returned #ClutterPoint is owned by Clutter and it should not be modified or freed.
A #ClutterRect with #ClutterRect.origin set at (0, 0) and a size
of 0.
The returned value can be used as a guard.
a rectangle with origin in (0, 0) and a size of 0. The returned #ClutterRect is owned by Clutter and it should not be modified or freed.
Forces a redraw of the entire stage. Applications should never use this
function, but queue a redraw using clutter_actor_queue_redraw().
This function should only be used by libraries integrating Clutter from
within another toolkit.
Sets the default frame rate. This frame rate will be used to limit
the number of frames drawn if Clutter is not able to synchronize
with the vertical refresh rate of the display. When synchronization
is possible, this value is ignored.
the new default frame rate
Sets the font quality options for subsequent text rendering
operations.
Using mipmapped textures will improve the quality for scaled down
text but will use more texture memory.
Enabling hinting improves text quality for static text but may
introduce some artifacts if the text is animated.
The new flags
Sets whether per-actor motion events should be enabled or not on
all #ClutterStage<!-- -->s managed by Clutter.
If @enable is %FALSE the following events will not work:
<itemizedlist>
<listitem><para>ClutterActor::motion-event, unless on the
#ClutterStage</para></listitem>
<listitem><para>ClutterActor::enter-event</para></listitem>
<listitem><para>ClutterActor::leave-event</para></listitem>
</itemizedlist>
%TRUE to enable per-actor motion events
Simple wrapper around clutter_threads_add_frame_source_full().
the ID (greater than 0) of the event source.
the number of times per second to call the function
function to call
data to pass to the function
Sets a function to be called at regular intervals holding the Clutter
threads lock, with the given priority. The function is called repeatedly
until it returns %FALSE, at which point the timeout is automatically
removed and the function will not be called again. The @notify function
is called when the timeout is removed.
This function is similar to clutter_threads_add_timeout_full()
except that it will try to compensate for delays. For example, if
@func takes half the interval time to execute then the function
will be called again half the interval time after it finished. In
contrast clutter_threads_add_timeout_full() would not fire until a
full interval after the function completes so the delay between
calls would be @interval * 1.5. This function does not however try
to invoke the function multiple times to catch up missing frames if
@func takes more than @interval ms to execute.
See also clutter_threads_add_idle_full().
the ID (greater than 0) of the event source.
the priority of the frame source. Typically this will be in the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH.
the number of times per second to call the function
function to call
data to pass to the function
function to call when the timeout source is removed
Simple wrapper around clutter_threads_add_idle_full() using the
default priority.
the ID (greater than 0) of the event source.
function to call
data to pass to the function
Adds a function to be called whenever there are no higher priority
events pending. If the function returns %FALSE it is automatically
removed from the list of event sources and will not be called again.
This function can be considered a thread-safe variant of g_idle_add_full():
it will call @function while holding the Clutter lock. It is logically
equivalent to the following implementation:
|[
static gboolean
idle_safe_callback (gpointer data)
{
SafeClosure *closure = data;
gboolean res = FALSE;
/* mark the critical section */
clutter_threads_enter();
/* the callback does not need to acquire the Clutter
* lock itself, as it is held by the this proxy handler
*/
res = closure->callback (closure->data);
clutter_threads_leave();
return res;
}
static gulong
add_safe_idle (GSourceFunc callback,
gpointer data)
{
SafeClosure *closure = g_new0 (SafeClosure, 1);
closure->callback = callback;
closure->data = data;
return g_idle_add_full (G_PRIORITY_DEFAULT_IDLE,
idle_safe_callback,
closure,
g_free)
}
]|
This function should be used by threaded applications to make sure
that @func is emitted under the Clutter threads lock and invoked
from the same thread that started the Clutter main loop. For instance,
it can be used to update the UI using the results from a worker
thread:
|[
static gboolean
update_ui (gpointer data)
{
SomeClosure *closure = data;
/* it is safe to call Clutter API from this function because
* it is invoked from the same thread that started the main
* loop and under the Clutter thread lock
*/
clutter_label_set_text (CLUTTER_LABEL (closure->label),
closure->text);
g_object_unref (closure->label);
g_free (closure);
return FALSE;
}
/* within another thread */
closure = g_new0 (SomeClosure, 1);
/* always take a reference on GObject instances */
closure->label = g_object_ref (my_application->label);
closure->text = g_strdup (processed_text_to_update_the_label);
clutter_threads_add_idle_full (G_PRIORITY_HIGH_IDLE,
update_ui,
closure,
NULL);
]|
the ID (greater than 0) of the event source.
the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE
function to call
data to pass to the function
functio to call when the idle source is removed
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; for instance, uploading
a frame from a video into a #ClutterTexture. By default, a repaint
function added using this function will be invoked prior to the frame
being processed.
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.
See also: clutter_threads_add_repaint_func_full()
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().
the function to be called within the paint cycle
data to be passed to the function, or %NULL
function to be called when removing the repaint function, or %NULL
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; for instance, uploading
a frame from a video into a #ClutterTexture. 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.
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().
flags for the repaint function
the function to be called within the paint cycle
data to be passed to the function, or %NULL
function to be called when removing the repaint function, or %NULL
Simple wrapper around clutter_threads_add_timeout_full().
the ID (greater than 0) of the event source.
the time between calls to the function, in milliseconds
function to call
data to pass to the function
Sets a function to be called at regular intervals holding the Clutter
threads lock, with the given priority. The function is called repeatedly
until it returns %FALSE, at which point the timeout is automatically
removed and the function will not be called again. The @notify function
is called when the timeout is removed.
The first call to the function will be at the end of the first @interval.
It is important to note that, due to how the Clutter main loop is
implemented, the timing will not be accurate and it will not try to
"keep up" with the interval.
See also clutter_threads_add_idle_full().
the ID (greater than 0) of the event source.
the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.
the time between calls to the function, in milliseconds
function to call
data to pass to the function
function to call when the timeout source is removed
Locks the Clutter thread lock.
Initialises the Clutter threading mechanism, so that Clutter API can be
called by multiple threads, using clutter_threads_enter() and
clutter_threads_leave() to mark the critical sections.
You must call g_thread_init() before this function.
This function must be called before clutter_init().
It is safe to call this function multiple times.
Unlocks the Clutter thread lock.
Removes the repaint function with @handle_id as its id
an unsigned integer greater than zero
Allows the application to replace the standard method that
Clutter uses to protect its data structures. Normally, Clutter
creates a single #GMutex that is locked by clutter_threads_enter(),
and released by clutter_threads_leave(); using this function an
application provides, instead, a function @enter_fn that is
called by clutter_threads_enter() and a function @leave_fn that is
called by clutter_threads_leave().
The functions must provide at least same locking functionality
as the default implementation, but can also do extra application
specific processing.
As an example, consider an application that has its own recursive
lock that when held, holds the Clutter lock as well. When Clutter
unlocks the Clutter lock when entering a recursive main loop, the
application must temporarily release its lock as well.
Most threaded Clutter apps won't need to use this method.
This method must be called before clutter_init(), and cannot
be called multiple times.
function called when aquiring the Clutter main lock
function called when releasing the Clutter main lock
Creates a new timeout pool source. A timeout pool should be used when
multiple timeout functions, running at the same priority, are needed and
the g_timeout_add() API might lead to starvation of the time slice of
the main loop. A timeout pool allocates a single time slice of the main
loop and runs every timeout function inside it. The timeout pool is
always sorted, so that the extraction of the next timeout function is
a constant time operation.
the newly created #ClutterTimeoutPool. The created pool is owned by the GLib default context and will be automatically destroyed when the context is destroyed. It is possible to force the destruction of the timeout pool using g_source_destroy()
the priority of the timeout pool. Typically this will be #G_PRIORITY_DEFAULT
Removes an existing grab of the keyboard.
Removes an existing grab of the pointer.
Removes an existing grab of the pointer events for device @id_.
a device id
Convert from a ISO10646 character to a key symbol.
the corresponding Clutter key symbol, if one exists. or, if there is no corresponding symbol, wc | 0x01000000
a ISO10646 encoded character
Stores a value in centimeters inside @units
a #ClutterUnits
centimeters
Stores a value in em inside @units, using the default font
name as returned by clutter_backend_get_font_name()
a #ClutterUnits
em
Stores a value in em inside @units using @font_name
a #ClutterUnits
the font name and size
em
Stores a value in millimiters inside @units
a #ClutterUnits
millimeters
Stores a value in pixels inside @units
a #ClutterUnits
pixels
Stores a value in typographic points inside @units
a #ClutterUnits
typographic points
Parses a value and updates @units with it
A #ClutterUnits expressed in string should match:
|[
units: wsp* unit-value wsp* unit-name? wsp*
unit-value: number
unit-name: 'px' | 'pt' | 'mm' | 'em' | 'cm'
number: digit+
| digit* sep digit+
sep: '.' | ','
digit: '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
wsp: (#0x20 | #0x9 | #0xA | #0xB | #0xC | #0xD)+
]|
For instance, these are valid strings:
|[
10 px
5.1 em
24 pt
12.6 mm
.3 cm
]|
While these are not:
|[
42 cats
omg!1!ponies
]|
<note><para>If no unit is specified, pixels are assumed.</para></note>
%TRUE if the string was successfully parsed, and %FALSE otherwise
a #ClutterUnits
the string to convert
Calculates the nearest power of two, greater than or equal to @a.
The nearest power of two, greater or equal to @a.
Value to get the next power
Retrieves a pointer to the #ClutterPaintNode contained inside
the passed #GValue, and if not %NULL it will increase the
reference count.
a pointer to the #ClutterPaintNode, with its reference count increased, or %NULL
a #GValue initialized with %CLUTTER_TYPE_PAINT_NODE
Gets the #ClutterColor contained in @value.
the color inside the passed #GValue
a #GValue initialized to #CLUTTER_TYPE_COLOR
Gets the fixed point value stored inside @value.
the value inside the passed #GValue
a #GValue initialized to %COGL_TYPE_FIXED
Retrieves a pointer to the #ClutterPaintNode contained inside
the passed #GValue.
a pointer to a #ClutterPaintNode, or %NULL
a #GValue initialized with %CLUTTER_TYPE_PAINT_NODE
Retrieves the list of floating point values stored inside
the passed #GValue. @value must have been initialized with
%CLUTTER_TYPE_SHADER_FLOAT.
the pointer to a list of floating point values. The returned value is owned by the #GValue and should never be modified or freed.
a #GValue
return location for the number of returned floating point values, or %NULL
Retrieves the list of integer values stored inside the passed
#GValue. @value must have been initialized with
%CLUTTER_TYPE_SHADER_INT.
the pointer to a list of integer values. The returned value is owned by the #GValue and should never be modified or freed.
a #GValue
return location for the number of returned integer values, or %NULL
Retrieves a matrix of floating point values stored inside
the passed #GValue. @value must have been initialized with
%CLUTTER_TYPE_SHADER_MATRIX.
the pointer to a matrix of floating point values. The returned value is owned by the #GValue and should never be modified or freed.
a #GValue
return location for the number of returned floating point values, or %NULL
Gets the #ClutterUnits contained in @value.
the units inside the passed #GValue
a #GValue initialized to %CLUTTER_TYPE_UNITS
Sets @value to @color.
a #GValue initialized to #CLUTTER_TYPE_COLOR
the color to set
Sets @value to @fixed_.
a #GValue initialized to %COGL_TYPE_FIXED
the fixed point value to set
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().
a #GValue initialized with %CLUTTER_TYPE_PAINT_NODE
a #ClutterPaintNode, or %NULL
Sets @floats as the contents of @value. The passed #GValue
must have been initialized using %CLUTTER_TYPE_SHADER_FLOAT.
a #GValue
number of floating point values in @floats
an array of floating point values
Sets @ints as the contents of @value. The passed #GValue
must have been initialized using %CLUTTER_TYPE_SHADER_INT.
a #GValue
number of integer values in @ints
an array of integer values
Sets @matrix as the contents of @value. The passed #GValue
must have been initialized using %CLUTTER_TYPE_SHADER_MATRIX.
a #GValue
number of floating point values in @floats
a matrix of floating point values
Sets @value to @units
a #GValue initialized to %CLUTTER_TYPE_UNITS
the units to set
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.
a #GValue, initialized with %CLUTTER_TYPE_PAINT_NODE
a #ClutterPaintNode, or %NULL