diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2012-07-19 21:55:35 -0400 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2012-07-19 22:13:24 -0400 |
commit | 12c75e9737152f91c440c935c0393f5ee9ef473f (patch) | |
tree | 7e44ac3a3d35f3454aa460d311f2a7c1c1699ae8 /clutter/clutter-timeline.h | |
parent | 4546f844080672580c469d75168630b737419c17 (diff) | |
download | clutter-12c75e9737152f91c440c935c0393f5ee9ef473f.tar.gz |
timeline: Add cubic-bezier() progress functions
Another progress function from the CSS3 Transitions specification, using
a parametrices cubic bezier curve between (0, 0) and (1, 1) with two
control points.
(sadly, no ASCII art can approximate a cubic bezier, so no graph)
The cubic-bezier() progress function comes with a bunch of preset easing
modes: ease, ease-in, ease-out, and ease-in-out, that we can map to
enumeration values.
Diffstat (limited to 'clutter/clutter-timeline.h')
-rw-r--r-- | clutter/clutter-timeline.h | 120 |
1 files changed, 64 insertions, 56 deletions
diff --git a/clutter/clutter-timeline.h b/clutter/clutter-timeline.h index e153613d3..a1a2dc65c 100644 --- a/clutter/clutter-timeline.h +++ b/clutter/clutter-timeline.h @@ -117,72 +117,80 @@ struct _ClutterTimelineClass GType clutter_timeline_get_type (void) G_GNUC_CONST; -ClutterTimeline * clutter_timeline_new (guint msecs); - -guint clutter_timeline_get_duration (ClutterTimeline *timeline); -void clutter_timeline_set_duration (ClutterTimeline *timeline, - guint msecs); -ClutterTimelineDirection clutter_timeline_get_direction (ClutterTimeline *timeline); -void clutter_timeline_set_direction (ClutterTimeline *timeline, - ClutterTimelineDirection direction); -void clutter_timeline_start (ClutterTimeline *timeline); -void clutter_timeline_pause (ClutterTimeline *timeline); -void clutter_timeline_stop (ClutterTimeline *timeline); -void clutter_timeline_set_auto_reverse (ClutterTimeline *timeline, - gboolean reverse); -gboolean clutter_timeline_get_auto_reverse (ClutterTimeline *timeline); +ClutterTimeline * clutter_timeline_new (guint msecs); + +guint clutter_timeline_get_duration (ClutterTimeline *timeline); +void clutter_timeline_set_duration (ClutterTimeline *timeline, + guint msecs); +ClutterTimelineDirection clutter_timeline_get_direction (ClutterTimeline *timeline); +void clutter_timeline_set_direction (ClutterTimeline *timeline, + ClutterTimelineDirection direction); +void clutter_timeline_start (ClutterTimeline *timeline); +void clutter_timeline_pause (ClutterTimeline *timeline); +void clutter_timeline_stop (ClutterTimeline *timeline); +void clutter_timeline_set_auto_reverse (ClutterTimeline *timeline, + gboolean reverse); +gboolean clutter_timeline_get_auto_reverse (ClutterTimeline *timeline); CLUTTER_AVAILABLE_IN_1_10 -void clutter_timeline_set_repeat_count (ClutterTimeline *timeline, - gint count); +void clutter_timeline_set_repeat_count (ClutterTimeline *timeline, + gint count); CLUTTER_AVAILABLE_IN_1_10 -gint clutter_timeline_get_repeat_count (ClutterTimeline *timeline); -void clutter_timeline_rewind (ClutterTimeline *timeline); -void clutter_timeline_skip (ClutterTimeline *timeline, - guint msecs); -void clutter_timeline_advance (ClutterTimeline *timeline, - guint msecs); -guint clutter_timeline_get_elapsed_time (ClutterTimeline *timeline); -gdouble clutter_timeline_get_progress (ClutterTimeline *timeline); -gboolean clutter_timeline_is_playing (ClutterTimeline *timeline); -void clutter_timeline_set_delay (ClutterTimeline *timeline, - guint msecs); -guint clutter_timeline_get_delay (ClutterTimeline *timeline); -guint clutter_timeline_get_delta (ClutterTimeline *timeline); -void clutter_timeline_add_marker_at_time (ClutterTimeline *timeline, - const gchar *marker_name, - guint msecs); -void clutter_timeline_remove_marker (ClutterTimeline *timeline, - const gchar *marker_name); -gchar ** clutter_timeline_list_markers (ClutterTimeline *timeline, - gint msecs, - gsize *n_markers) G_GNUC_MALLOC; -gboolean clutter_timeline_has_marker (ClutterTimeline *timeline, - const gchar *marker_name); -void clutter_timeline_advance_to_marker (ClutterTimeline *timeline, - const gchar *marker_name); +gint clutter_timeline_get_repeat_count (ClutterTimeline *timeline); +void clutter_timeline_rewind (ClutterTimeline *timeline); +void clutter_timeline_skip (ClutterTimeline *timeline, + guint msecs); +void clutter_timeline_advance (ClutterTimeline *timeline, + guint msecs); +guint clutter_timeline_get_elapsed_time (ClutterTimeline *timeline); +gdouble clutter_timeline_get_progress (ClutterTimeline *timeline); +gboolean clutter_timeline_is_playing (ClutterTimeline *timeline); +void clutter_timeline_set_delay (ClutterTimeline *timeline, + guint msecs); +guint clutter_timeline_get_delay (ClutterTimeline *timeline); +guint clutter_timeline_get_delta (ClutterTimeline *timeline); +void clutter_timeline_add_marker_at_time (ClutterTimeline *timeline, + const gchar *marker_name, + guint msecs); +void clutter_timeline_remove_marker (ClutterTimeline *timeline, + const gchar *marker_name); +gchar ** clutter_timeline_list_markers (ClutterTimeline *timeline, + gint msecs, + gsize *n_markers) G_GNUC_MALLOC; +gboolean clutter_timeline_has_marker (ClutterTimeline *timeline, + const gchar *marker_name); +void clutter_timeline_advance_to_marker (ClutterTimeline *timeline, + const gchar *marker_name); CLUTTER_AVAILABLE_IN_1_10 -void clutter_timeline_set_progress_func (ClutterTimeline *timeline, - ClutterTimelineProgressFunc func, - gpointer data, - GDestroyNotify notify); +void clutter_timeline_set_progress_func (ClutterTimeline *timeline, + ClutterTimelineProgressFunc func, + gpointer data, + GDestroyNotify notify); CLUTTER_AVAILABLE_IN_1_10 -void clutter_timeline_set_progress_mode (ClutterTimeline *timeline, - ClutterAnimationMode mode); +void clutter_timeline_set_progress_mode (ClutterTimeline *timeline, + ClutterAnimationMode mode); CLUTTER_AVAILABLE_IN_1_10 -ClutterAnimationMode clutter_timeline_get_progress_mode (ClutterTimeline *timeline); +ClutterAnimationMode clutter_timeline_get_progress_mode (ClutterTimeline *timeline); CLUTTER_AVAILABLE_IN_1_12 -void clutter_timeline_set_step_progress (ClutterTimeline *timeline, - gint n_steps, - ClutterStepMode step_mode); +void clutter_timeline_set_step_progress (ClutterTimeline *timeline, + gint n_steps, + ClutterStepMode step_mode); CLUTTER_AVAILABLE_IN_1_12 -gboolean clutter_timeline_get_step_progress (ClutterTimeline *timeline, - gint *n_steps, - ClutterStepMode *step_mode); +gboolean clutter_timeline_get_step_progress (ClutterTimeline *timeline, + gint *n_steps, + ClutterStepMode *step_mode); +CLUTTER_AVAILABLE_IN_1_12 +void clutter_timeline_set_cubic_bezier_progress (ClutterTimeline *timeline, + const ClutterPoint *c_1, + const ClutterPoint *c_2); +CLUTTER_AVAILABLE_IN_1_12 +gboolean clutter_timeline_get_cubic_bezier_progress (ClutterTimeline *timeline, + ClutterPoint *c_1, + ClutterPoint *c_2); CLUTTER_AVAILABLE_IN_1_10 -gint64 clutter_timeline_get_duration_hint (ClutterTimeline *timeline); +gint64 clutter_timeline_get_duration_hint (ClutterTimeline *timeline); CLUTTER_AVAILABLE_IN_1_10 -gint clutter_timeline_get_current_repeat (ClutterTimeline *timeline); +gint clutter_timeline_get_current_repeat (ClutterTimeline *timeline); G_END_DECLS |