Top | ![]() |
![]() |
![]() |
![]() |
ClutterAnimatable is implemented by ClutterActor, ClutterBox, ClutterCairoTexture, ClutterClone, ClutterGLXTexturePixmap, ClutterGroup, ClutterRectangle, ClutterScrollActor, ClutterStage, ClutterText, ClutterTexture and ClutterX11TexturePixmap.
ClutterAnimatable is an interface that allows a GObject class to control how a ClutterAnimation will animate a property.
Each ClutterAnimatable should implement the
ClutterAnimatableIface.interpolate_property()
virtual function of the
interface to compute the animation state between two values of an interval
depending on a progress factor, expressed as a floating point value.
If a ClutterAnimatable is animated by a ClutterAnimation
instance, the ClutterAnimation will call
clutter_animatable_interpolate_property()
passing the name of the
currently animated property; the values interval; and the progress factor.
The ClutterAnimatable implementation should return the computed value for
the animated
property.
ClutterAnimatable is available since Clutter 1.0
gboolean clutter_animatable_animate_property (ClutterAnimatable *animatable
,ClutterAnimation *animation
,const gchar *property_name
,const GValue *initial_value
,const GValue *final_value
,gdouble progress
,GValue *value
);
clutter_animatable_animate_property
has been deprecated since version 1.8 and should not be used in newly-written code.
Use clutter_animatable_interpolate_value()
instead
Calls the animate_property()
virtual function for animatable
.
The initial_value
and final_value
GValues 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.
animatable |
||
animation |
||
property_name |
the name of the animated property |
|
initial_value |
the initial value of the animation interval |
|
final_value |
the final value of the animation interval |
|
progress |
the progress factor |
|
value |
return location for the animation value |
TRUE
if the value has been validated and can
be applied to the ClutterAnimatable, and FALSE
otherwise
Since: 1.0
GParamSpec * clutter_animatable_find_property (ClutterAnimatable *animatable
,const gchar *property_name
);
Finds the GParamSpec for property_name
Since: 1.4
void clutter_animatable_get_initial_state (ClutterAnimatable *animatable
,const gchar *property_name
,GValue *value
);
Retrieves the current state of property_name
and sets value
with it
animatable |
||
property_name |
the name of the animatable property to retrieve |
|
value |
a GValue initialized to the type of the property to retrieve |
Since: 1.4
void clutter_animatable_set_final_state (ClutterAnimatable *animatable
,const gchar *property_name
,const GValue *value
);
Sets the current state of property_name
to value
animatable |
||
property_name |
the name of the animatable property to set |
|
value |
the value of the animatable property to set |
Since: 1.4
gboolean clutter_animatable_interpolate_value (ClutterAnimatable *animatable
,const gchar *property_name
,ClutterInterval *interval
,gdouble progress
,GValue *value
);
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 ClutterAnimatables.
This function replaces clutter_animatable_animate_property()
.
animatable |
||
property_name |
the name of the property to interpolate |
|
interval |
a ClutterInterval with the animation range |
|
progress |
the progress to use to interpolate between the
initial and final values of the |
|
value |
return location for an initialized GValue
using the same type of the |
[out] |
Since: 1.8
typedef struct _ClutterAnimatable ClutterAnimatable;
ClutterAnimatable is an opaque structure whose members cannot be directly accessed
Since: 1.0
struct ClutterAnimatableIface { gboolean (* animate_property) (ClutterAnimatable *animatable, ClutterAnimation *animation, const gchar *property_name, const GValue *initial_value, const GValue *final_value, gdouble progress, GValue *value); GParamSpec *(* find_property) (ClutterAnimatable *animatable, const gchar *property_name); void (* get_initial_state) (ClutterAnimatable *animatable, const gchar *property_name, GValue *value); void (* set_final_state) (ClutterAnimatable *animatable, const gchar *property_name, const GValue *value); gboolean (* interpolate_value) (ClutterAnimatable *animatable, const gchar *property_name, ClutterInterval *interval, gdouble progress, GValue *value); };
Base interface for GObjects that can be animated by a a ClutterAnimation.
virtual function for custom interpolation of a property. This virtual function is deprecated |
||
virtual function for retrieving the GParamSpec of an animatable property |
||
virtual function for retrieving the initial state of an animatable property |
||
virtual function for setting the state of an animatable property |
||
virtual function for interpolating the progress of a property |
Since: 1.0