| Clutter Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Implemented Interfaces | Properties | Signals | ||||
ClutterBehaviourPathClutterBehaviourPath — A behaviour for moving actors along a ClutterPath |
ClutterBehaviourPath; ClutterBehaviourPathClass; ClutterBehaviour * clutter_behaviour_path_new (ClutterAlpha *alpha,ClutterPath *path); ClutterBehaviour * clutter_behaviour_path_new_with_description (ClutterAlpha *alpha,const gchar *desc); ClutterBehaviour * clutter_behaviour_path_new_with_knots (ClutterAlpha *alpha,const ClutterKnot *knots,guint n_knots); void clutter_behaviour_path_set_path (ClutterBehaviourPath *pathb,ClutterPath *path); ClutterPath * clutter_behaviour_path_get_path (ClutterBehaviourPath *pathb); ClutterKnot; ClutterKnot * clutter_knot_copy (const ClutterKnot *knot); void clutter_knot_free (ClutterKnot *knot); gboolean clutter_knot_equal (const ClutterKnot *knot_a,const ClutterKnot *knot_b);
ClutterBehaviourPath interpolates actors along a defined path.
A path is described by a ClutterPath object. The path can contain
straight line parts and bezier curves. If the path contains
CLUTTER_PATH_MOVE_TO parts then the actors will jump to those
coordinates. This can be used make disjoint paths.
When creating a path behaviour in a ClutterScript, you can specify the path property directly as a string. For example:
1 2 3 4 5 6 7 8 9 |
{ "id" : "spline-path", "type" : "ClutterBehaviourPath", "path" : "M 50 50 L 100 100", "alpha" : { "timeline" : "main-timeline", "function" : "ramp } } |
ClutterBehaviourPath is available since Clutter 0.2
typedef struct _ClutterBehaviourPath ClutterBehaviourPath;
The ClutterBehaviourPath structure contains only private data and should be accessed using the provided API
Since 0.2
typedef struct {
void (*knot_reached) (ClutterBehaviourPath *pathb,
guint knot_num);
} ClutterBehaviourPathClass;
The ClutterBehaviourPathClass struct contains only private data
Since 0.2
ClutterBehaviour * clutter_behaviour_path_new (ClutterAlpha *alpha,ClutterPath *path);
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 ClutterAlpha instance, or NULL. [allow-none]
|
|
a ClutterPath or NULL for an empty path
|
Returns : |
a ClutterBehaviour |
Since 0.2
ClutterBehaviour * clutter_behaviour_path_new_with_description (ClutterAlpha *alpha,const gchar *desc);
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 ClutterAlpha instance, or NULL. [allow-none]
|
|
a string description of the path |
Returns : |
a ClutterBehaviour |
Since 1.0
ClutterBehaviour * clutter_behaviour_path_new_with_knots (ClutterAlpha *alpha,const ClutterKnot *knots,guint n_knots);
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_TOs.
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 ClutterAlpha instance, or NULL. [allow-none]
|
|
an array of ClutterKnots |
|
number of entries in knots
|
Returns : |
a ClutterBehaviour |
Since 1.0
void clutter_behaviour_path_set_path (ClutterBehaviourPath *pathb,ClutterPath *path);
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 |
Since 1.0
ClutterPath * clutter_behaviour_path_get_path (ClutterBehaviourPath *pathb);
Get the current path of the behaviour
|
a ClutterBehaviourPath instance |
Returns : |
the path. [transfer none] |
Since 1.0
ClutterKnot * clutter_knot_copy (const ClutterKnot *knot);
Makes an allocated copy of a knot.
|
a ClutterKnot |
Returns : |
the copied knot. |
Since 0.2
void clutter_knot_free (ClutterKnot *knot);
Frees the memory of an allocated knot.
|
a ClutterKnot |
Since 0.2
gboolean clutter_knot_equal (const ClutterKnot *knot_a,const ClutterKnot *knot_b);
Compares to knot and checks if the point to the same location.
|
First knot |
|
Second knot |
Returns : |
TRUE if the knots point to the same location.
|
Since 0.2
"path" property"path" ClutterPath* : Read / Write
The ClutterPath object representing the path to animate along.
"knot-reached" signalvoid user_function (ClutterBehaviourPath *pathb, guint knot_num, gpointer user_data) : Run Last
This signal is emitted each time a node defined inside the path is reached.
|
the object which received the signal |
|
the index of the ClutterKnot reached |
|
user data set when the signal handler was connected. |
Since 0.2