Clutter 0.8.2 Reference Manual | ||||
---|---|---|---|---|
ClutterScore; ClutterScoreClass; ClutterScore* clutter_score_new (void); void clutter_score_set_loop (ClutterScore *score, gboolean loop); gboolean clutter_score_get_loop (ClutterScore *score); gulong clutter_score_append (ClutterScore *score, ClutterTimeline *parent, ClutterTimeline *timeline); gulong clutter_score_append_at_marker (ClutterScore *score, ClutterTimeline *parent, const gchar *marker_name, ClutterTimeline *timeline); void clutter_score_remove (ClutterScore *score, gulong id); void clutter_score_remove_all (ClutterScore *score); ClutterTimeline* clutter_score_get_timeline (ClutterScore *score, gulong id); GSList* clutter_score_list_timelines (ClutterScore *score); void clutter_score_start (ClutterScore *score); void clutter_score_pause (ClutterScore *score); void clutter_score_stop (ClutterScore *score); gboolean clutter_score_is_playing (ClutterScore *score); void clutter_score_rewind (ClutterScore *score);
"completed" : Run Last "paused" : Run Last "started" : Run Last "timeline-completed" : Run Last "timeline-started" : Run Last
ClutterScore is a base class for sequencing multiple timelines in order. Using ClutterScore it is possible to start multiple timelines at the same time or launch multiple timelines when a particular timeline has emitted the ClutterTimeline::completed signal.
Each time a ClutterTimeline is started and completed, a signal will be emitted.
For example, this code will start two ClutterTimelines after a third timeline terminates:
ClutterTimeline *timeline_1, *timeline_2, *timeline_3; ClutterScore *score; timeline_1 = clutter_timeline_new_for_duration (1000); timeline_2 = clutter_timeline_new_for_duration (500); timeline_3 = clutter_timeline_new_for_duration (500); score = clutter_score_new (); clutter_score_append (score, NULL, timeline_1); clutter_score_append (score, timeline_1, timeline_2); clutter_score_append (score, timeline_1, timeline_3); clutter_score_start (score);
A ClutterScore takes a reference on the timelines it manages, so timelines can be safely unreferenced after being appended.
New timelines can be appended to the ClutterScore using
clutter_score_append()
and removed using clutter_score_remove()
.
Timelines can also be appended to a specific marker on the
parent timeline, using clutter_score_append_at_marker()
.
The score can be cleared using clutter_score_remove_all()
.
The list of timelines can be retrieved using
clutter_score_list_timelines()
.
The score state is controlled using clutter_score_start()
,
clutter_score_pause()
, clutter_score_stop()
and clutter_score_rewind()
.
The state can be queried using clutter_score_is_playing()
.
ClutterScore is available since Clutter 0.6
typedef struct { void (* timeline_started) (ClutterScore *score, ClutterTimeline *timeline); void (* timeline_completed) (ClutterScore *score, ClutterTimeline *timeline); void (* started) (ClutterScore *score); void (* completed) (ClutterScore *score); void (* paused) (ClutterScore *score); } ClutterScoreClass;
ClutterScore* clutter_score_new (void);
Creates a new ClutterScore. A ClutterScore is an object that can hold multiple ClutterTimelines in a sequential order.
Returns : |
the newly created ClutterScore. Use g_object_unref()
when done.
|
Since 0.6
void clutter_score_set_loop (ClutterScore *score, gboolean loop);
Sets whether score
should loop. A looping ClutterScore will start
from its initial state after the ::complete signal has been fired.
|
a ClutterScore |
|
TRUE for enable looping
|
Since 0.6
gboolean clutter_score_get_loop (ClutterScore *score);
Gets whether score
is looping
|
a ClutterScore |
Returns : |
TRUE if the score is looping
|
Since 0.6
gulong clutter_score_append (ClutterScore *score, ClutterTimeline *parent, ClutterTimeline *timeline);
Appends a timeline to another one existing in the score; the newly
appended timeline will be started when parent
is complete.
If parent
is NULL
, the new ClutterTimeline will be started when
clutter_score_start()
is called.
ClutterScore will take a reference on timeline
.
|
a ClutterScore |
|
a ClutterTimeline in the score, or NULL
|
|
a ClutterTimeline |
Returns : |
the id of the ClutterTimeline inside the score, or
0 on failure. The returned id can be used with clutter_score_remove()
or clutter_score_get_timeline() .
|
Since 0.6
gulong clutter_score_append_at_marker (ClutterScore *score, ClutterTimeline *parent, const gchar *marker_name, ClutterTimeline *timeline);
Appends timeline
at the given marker_name
on the parent
ClutterTimeline.
If you want to append timeline
at the end of parent
, use
clutter_score_append()
.
The ClutterScore will take a reference on timeline
.
|
a ClutterScore |
|
the parent ClutterTimeline |
|
the name of the marker to use |
|
the ClutterTimeline to append |
Returns : |
the id of the ClutterTimeline inside the score, or
0 on failure. The returned id can be used with clutter_score_remove()
or clutter_score_get_timeline() .
|
Since 0.8
void clutter_score_remove (ClutterScore *score, gulong id);
Removes the ClutterTimeline with the given id inside score
. If
the timeline has other timelines attached to it, those are removed
as well.
|
a ClutterScore |
|
the id of the timeline to remove |
Since 0.6
void clutter_score_remove_all (ClutterScore *score);
Removes all the timelines inside score
.
|
a ClutterScore |
Since 0.6
ClutterTimeline* clutter_score_get_timeline (ClutterScore *score, gulong id);
Retrieves the ClutterTimeline for id
inside score
.
|
a ClutterScore |
|
the id of the timeline |
Returns : |
the requested timeline, or NULL . This function does
not increase the reference count on the returned ClutterTimeline
|
Since 0.6
GSList* clutter_score_list_timelines (ClutterScore *score);
Retrieves a list of all the ClutterTimelines managed by score
.
|
a ClutterScore |
Returns : |
a GSList containing all the timelines in the score.
This function does not increase the reference count of the
returned timelines. Use g_slist_free() on the returned list to
deallocate its resources.
|
Since 0.6
void clutter_score_start (ClutterScore *score);
Starts the score.
|
A ClutterScore |
Since 0.6
void clutter_score_pause (ClutterScore *score);
Pauses a playing score score
.
|
a ClutterScore |
Since 0.6
void clutter_score_stop (ClutterScore *score);
Stops and rewinds a playing ClutterScore instance.
|
A ClutterScore |
Since 0.6
gboolean clutter_score_is_playing (ClutterScore *score);
Query state of a ClutterScore instance.
|
A ClutterScore |
Returns : |
TRUE if score is currently playing
|
Since 0.6
void clutter_score_rewind (ClutterScore *score);
Rewinds a ClutterScore to its initial state.
|
A ClutterScore |
Since 0.6
"loop"
property"loop" gboolean : Read / Write
Whether the ClutterScore should restart once finished.
Default value: FALSE
Since 0.6
"completed"
signalvoid user_function (ClutterScore *score, gpointer user_data) : Run Last
The ::completed signal is emitted each time a ClutterScore terminates.
|
the score which received the signal |
|
user data set when the signal handler was connected. |
Since 0.6
"paused"
signalvoid user_function (ClutterScore *score, gpointer user_data) : Run Last
The ::paused signal is emitted each time a ClutterScore is paused.
|
the score which received the signal |
|
user data set when the signal handler was connected. |
Since 0.6
"started"
signalvoid user_function (ClutterScore *score, gpointer user_data) : Run Last
The ::started signal is emitted each time a ClutterScore starts playing.
|
the score which received the signal |
|
user data set when the signal handler was connected. |
Since 0.6
"timeline-completed"
signalvoid user_function (ClutterScore *score, ClutterTimeline *timeline, gpointer user_data) : Run Last
The ::timeline-completed signal is emitted each time a timeline inside a ClutterScore terminates.
|
the score which received the signal |
|
the completed timeline |
|
user data set when the signal handler was connected. |
Since 0.6
"timeline-started"
signalvoid user_function (ClutterScore *score, ClutterTimeline *timeline, gpointer user_data) : Run Last
The ::timeline-started signal is emitted each time a new timeline inside a ClutterScore starts playing.
|
the score which received the signal |
|
the current timeline |
|
user data set when the signal handler was connected. |
Since 0.6