ClutterAnimatable

ClutterAnimatable — Interface for animatable classes

Synopsis

                    ClutterAnimatable;
struct              ClutterAnimatableIface;
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);
GParamSpec *        clutter_animatable_find_property    (ClutterAnimatable *animatable,
                                                         const gchar *property_name);
void                clutter_animatable_get_initial_state
                                                        (ClutterAnimatable *animatable,
                                                         const gchar *property_name,
                                                         GValue *value);
void                clutter_animatable_set_final_state  (ClutterAnimatable *animatable,
                                                         const gchar *property_name,
                                                         const GValue *value);

Object Hierarchy

  GInterface
   +----ClutterAnimatable

Known Implementations

ClutterAnimatable is implemented by ClutterActor, ClutterBox, ClutterCairoTexture, ClutterClone, ClutterGroup, ClutterRectangle, ClutterStage, ClutterText and ClutterTexture.

Description

ClutterAnimatable is an interface that allows a GObject class to control how a ClutterAnimation will animate a property.

Each ClutterAnimatable should implement the animate_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_animate_property() passing the name of the currently animated property; the initial and final values of the animation interval; the progress factor. The ClutterAnimatable implementation should return the computed value for the animated property.

ClutterAnimatable is available since Clutter 1.0

Details

ClutterAnimatable

typedef struct _ClutterAnimatable ClutterAnimatable;

ClutterAnimatable is an opaque structure whose members cannot be directly accessed

Since 1.0


struct ClutterAnimatableIface

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);
};

Base interface for GObjects that can be animated by a a ClutterAnimation.

animate_property ()

virtual function for custom interpolation of a property

find_property ()

virtual function for retrieving the GParamSpec of an animatable property

get_initial_state ()

virtual function for retrieving the initial state of an animatable property

set_final_state ()

virtual function for setting the state of an animatable property

Since 1.0


clutter_animatable_animate_property ()

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);

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 :

a ClutterAnimatable

animation :

a ClutterAnimation

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

Returns :

TRUE if the value has been validated and can be applied to the ClutterAnimatable, and FALSE otherwise

Since 1.0


clutter_animatable_find_property ()

GParamSpec *        clutter_animatable_find_property    (ClutterAnimatable *animatable,
                                                         const gchar *property_name);

Finds the GParamSpec for property_name

animatable :

a ClutterAnimatable

property_name :

the name of the animatable property to find

Returns :

The GParamSpec for the given property or NULL. [transfer none]

Since 1.4


clutter_animatable_get_initial_state ()

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 :

a ClutterAnimatable

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


clutter_animatable_set_final_state ()

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 :

a ClutterAnimatable

property_name :

the name of the animatable property to set

value :

the value of the animatable property to set

Since 1.4