![]() |
![]() |
![]() |
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:
{ "id" : "spline-path", "type" : "ClutterBehaviourPath", "path" : "M 50 50 L 100 100", "alpha" : { "timeline" : "main-timeline", "function" : "ramp } }
CLUTTER_ALPHA_MAX_ALPHA
, then the actors will walk
the path back to the starting ClutterKnot.
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
|
signal class handler for the ClutterBehaviourPath::knot_reached signal |
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.
|
a ClutterAlpha, or NULL
|
|
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.
|
a ClutterAlpha |
|
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_TO
s.
|
a ClutterAlpha |
|
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
typedef struct { gint x; gint y; } ClutterKnot;
Point in a path behaviour.
gint |
X coordinate of the knot |
gint |
Y coordinate of the knot |
Since 0.2
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 ClutterPathKnot reached |
|
user data set when the signal handler was connected. |
Since 0.2