![]() |
![]() |
![]() |
Clutter 0.9.0 Reference Manual | ![]() |
---|---|---|---|---|
ClutterAnimation; ClutterAnimationClass; enum ClutterAnimationMode; ClutterAnimation* clutter_animation_new (void); void clutter_animation_set_object (ClutterAnimation *animation, GObject *object); GObject* clutter_animation_get_object (ClutterAnimation *animation); void clutter_animation_set_mode (ClutterAnimation *animation, gulong mode); gulong clutter_animation_get_mode (ClutterAnimation *animation); void clutter_animation_set_duration (ClutterAnimation *animation, gint msecs); guint clutter_animation_get_duration (ClutterAnimation *animation); void clutter_animation_set_loop (ClutterAnimation *animation, gboolean loop); gboolean clutter_animation_get_loop (ClutterAnimation *animation); void clutter_animation_set_timeline (ClutterAnimation *animation, ClutterTimeline *timeline); ClutterTimeline* clutter_animation_get_timeline (ClutterAnimation *animation); void clutter_animation_set_alpha (ClutterAnimation *animation, ClutterAlpha *alpha); ClutterAlpha* clutter_animation_get_alpha (ClutterAnimation *animation); void clutter_animation_bind_property (ClutterAnimation *animation, const gchar *property_name, ClutterInterval *interval); void clutter_animation_update_property (ClutterAnimation *animation, const gchar *property_name, ClutterInterval *interval); gboolean clutter_animation_has_property (ClutterAnimation *animation, const gchar *property_name); void clutter_animation_unbind_property (ClutterAnimation *animation, const gchar *property_name); ClutterInterval* clutter_animation_get_interval (ClutterAnimation *animation, const gchar *property_name); ClutterAnimation* clutter_actor_animate (ClutterActor *actor, gulong mode, guint duration, const gchar *first_property_name, ...); ClutterAnimation* clutter_actor_animate_with_timeline (ClutterActor *actor, gulong mode, ClutterTimeline *timeline, const gchar *first_property_name, ...); ClutterAnimation* clutter_actor_animate_with_alpha (ClutterActor *actor, ClutterAlpha *alpha, const gchar *first_property_name, ...);
ClutterAnimation is an object providing simple, implicit animations for GObjects.
ClutterAnimation instances will bind a GObject property belonging to a GObject to a ClutterInterval, and will then use a ClutterTimeline to interpolate the property between the initial and final values of the interval.
For convenience, it is possible to use the clutter_actor_animate()
function call which will take care of setting up and tearing down
a ClutterAnimation instance and animate an actor between its current
state and the specified final state.
ClutterAnimation is available since Clutter 1.0
typedef struct { } ClutterAnimation;
The ClutterAnimation structure contains only private data and should be accessed using the provided functions.
Since 1.0
typedef struct { void (* completed) (ClutterAnimation *animation); } ClutterAnimationClass;
The ClutterAnimationClass structure contains only private data and should be accessed using the provided functions.
|
class handler for the "completed" signal |
Since 1.0
typedef enum { CLUTTER_CUSTOM_MODE = 0, /* linear */ CLUTTER_LINEAR, /* quadratic */ CLUTTER_EASE_IN_QUAD, CLUTTER_EASE_OUT_QUAD, CLUTTER_EASE_IN_OUT_QUAD, /* cubic */ CLUTTER_EASE_IN_CUBIC, CLUTTER_EASE_OUT_CUBIC, CLUTTER_EASE_IN_OUT_CUBIC, /* quartic */ CLUTTER_EASE_IN_QUART, CLUTTER_EASE_OUT_QUART, CLUTTER_EASE_IN_OUT_QUART, /* quintic */ CLUTTER_EASE_IN_QUINT, CLUTTER_EASE_OUT_QUINT, CLUTTER_EASE_IN_OUT_QUINT, /* sinusoidal */ CLUTTER_EASE_IN_SINE, CLUTTER_EASE_OUT_SINE, CLUTTER_EASE_IN_OUT_SINE, /* exponential */ CLUTTER_EASE_IN_EXPO, CLUTTER_EASE_OUT_EXPO, CLUTTER_EASE_IN_OUT_EXPO, /* circular */ CLUTTER_EASE_IN_CIRC, CLUTTER_EASE_OUT_CIRC, CLUTTER_EASE_IN_OUT_CIRC, /* elastic */ CLUTTER_EASE_IN_ELASTIC, CLUTTER_EASE_OUT_ELASTIC, CLUTTER_EASE_IN_OUT_ELASTIC, /* overshooting cubic */ CLUTTER_EASE_IN_BACK, CLUTTER_EASE_OUT_BACK, CLUTTER_EASE_IN_OUT_BACK, /* exponentially decaying parabolic */ CLUTTER_EASE_IN_BOUNCE, CLUTTER_EASE_OUT_BOUNCE, CLUTTER_EASE_IN_OUT_BOUNCE, /* guard, before registered alpha functions */ CLUTTER_ANIMATION_LAST } ClutterAnimationMode;
The animation modes used by ClutterAlpha and ClutterAnimation. This enumeration can be expanded in later versions of Clutter. See the ClutterAlpha documentation for a graph of all the animation modes.
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 | |
last animation mode, used as a guard for registered global alpha functions |
Since 1.0
void clutter_animation_set_object (ClutterAnimation *animation, GObject *object);
Attaches animation
to object
. The ClutterAnimation will take a
reference on object
.
|
a ClutterAnimation |
|
a GObject |
Since 1.0
GObject* clutter_animation_get_object (ClutterAnimation *animation);
Retrieves the GObject attached to animation
.
|
a ClutterAnimation |
Returns : |
a GObject |
Since 1.0
void clutter_animation_set_mode (ClutterAnimation *animation, gulong mode);
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()
.
|
a ClutterAnimation |
|
an animation mode logical id |
Since 1.0
gulong clutter_animation_get_mode (ClutterAnimation *animation);
Retrieves the animation mode of animation
, as set by
clutter_animation_set_mode()
.
|
a ClutterAnimation |
Returns : |
the mode for the animation |
Since 1.0
void clutter_animation_set_duration (ClutterAnimation *animation, gint msecs);
Sets the duration of animation
in milliseconds.
|
a ClutterAnimation |
|
the duration in milliseconds |
Since 1.0
guint clutter_animation_get_duration (ClutterAnimation *animation);
Retrieves the duration of animation
, in milliseconds.
|
a ClutterAnimation |
Returns : |
the duration of the animation |
Since 1.0
void clutter_animation_set_loop (ClutterAnimation *animation, gboolean loop);
Sets whether animation
should loop over itself once finished.
A looping ClutterAnimation will not emit the "completed" signal when finished.
|
a ClutterAnimation |
|
TRUE if the animation should loop
|
Since 1.0
gboolean clutter_animation_get_loop (ClutterAnimation *animation);
Retrieves whether animation
is looping.
|
a ClutterAnimation |
Returns : |
TRUE if the animation is looping
|
Since 1.0
void clutter_animation_set_timeline (ClutterAnimation *animation, ClutterTimeline *timeline);
Sets the ClutterTimeline used by animation
.
The "duration" and "loop" properties will be set using the corresponding ClutterTimeline properties as a side effect.
If timeline
is NULL
a new ClutterTimeline will be constructed
using the current values of the "duration" and
"loop" properties.
|
a ClutterAnimation |
|
a ClutterTimeline or NULL
|
Since 1.0
ClutterTimeline* clutter_animation_get_timeline (ClutterAnimation *animation);
Retrieves the ClutterTimeline used by animation
|
a ClutterAnimation |
Returns : |
the timeline used by the animation |
Since 1.0
void clutter_animation_set_alpha (ClutterAnimation *animation, ClutterAlpha *alpha);
Sets alpha
as the ClutterAlpha used by animation
.
If alpha
is NULL
, a new ClutterAlpha will be constructed from
the current values of the "mode" and
"timeline" properties.
|
a ClutterAnimation |
|
a ClutterAlpha, or NULL
|
Since 1.0
ClutterAlpha* clutter_animation_get_alpha (ClutterAnimation *animation);
Retrieves the ClutterAlpha used by animation
.
|
a ClutterAnimation |
Returns : |
the alpha object used by the animation |
Since 1.0
void clutter_animation_bind_property (ClutterAnimation *animation, const gchar *property_name, ClutterInterval *interval);
Binds interval
to the property_name
of the GObject
attached to animation
. The ClutterAnimation will take
ownership of the passed ClutterInterval.
If you need to update the interval instance use
clutter_animation_update_property()
instead.
|
a ClutterAnimation |
|
the property to control |
|
a ClutterInterval |
Since 1.0
void clutter_animation_update_property (ClutterAnimation *animation, const gchar *property_name, ClutterInterval *interval);
Changes the interval
for property_name
. The ClutterAnimation
will take ownership of the passed ClutterInterval.
|
a ClutterAnimation |
|
name of the property |
|
a ClutterInterval |
Since 1.0
gboolean clutter_animation_has_property (ClutterAnimation *animation, const gchar *property_name);
Checks whether animation
is controlling property_name
.
|
a ClutterAnimation |
|
name of the property |
Returns : |
TRUE if the property is animated by the
ClutterAnimation, FALSE otherwise
|
Since 1.0
void clutter_animation_unbind_property (ClutterAnimation *animation, const gchar *property_name);
Removes property_name
from the list of animated properties.
|
a ClutterAnimation |
|
name of the property |
Since 1.0
ClutterInterval* clutter_animation_get_interval (ClutterAnimation *animation, const gchar *property_name);
Retrieves the ClutterInterval associated to property_name
inside animation
.
|
a ClutterAnimation |
|
name of the property |
Returns : |
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
|
Since 1.0
ClutterAnimation* clutter_actor_animate (ClutterActor *actor, gulong mode, guint duration, const gchar *first_property_name, ...);
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, "height", 100, 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, 100, "rotation-angle-z", 360, "fixed::rotation-center-x", 100, "fixed::rotation-center-y", 100, NULL);
Will animate the "rotation-angle-z" property between the current value and 360 degrees, and set the "rotation-center-x" and "rotation-center-y" to the fixed value of 100 pixels.
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.
Calling this function on an actor that is already being animated will cause the current animation to change with the new final value.
g_object_ref()
.
|
a ClutterActor |
|
an animation mode logical id |
|
duration of the animation, in milliseconds |
|
the name of a property |
|
a NULL terminated list of property names and
property values
|
Returns : |
a ClutterAnimation object. The object is owned by the
ClutterActor and should not be unreferenced with g_object_unref()
|
Since 1.0
ClutterAnimation* clutter_actor_animate_with_timeline (ClutterActor *actor, gulong mode, ClutterTimeline *timeline, const gchar *first_property_name, ...);
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 ClutterActor |
|
an animation mode logical id |
|
a ClutterTimeline |
|
the name of a property |
|
a NULL terminated list of property names and
property values
|
Returns : |
a ClutterAnimation object. The object is owned by the
ClutterActor and should not be unreferenced with g_object_unref()
|
Since 1.0
ClutterAnimation* clutter_actor_animate_with_alpha (ClutterActor *actor, ClutterAlpha *alpha, const gchar *first_property_name, ...);
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 ClutterActor |
|
a ClutterAlpha |
|
the name of a property |
|
a NULL terminated list of property names and
property values
|
Returns : |
a ClutterAnimation object. The object is owned by the
ClutterActor and should not be unreferenced with g_object_unref()
|
Since 1.0