summaryrefslogtreecommitdiff
path: root/clutter/clutter-timeline.h
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2012-07-19 21:55:35 -0400
committerEmmanuele Bassi <ebassi@gnome.org>2012-07-19 22:13:24 -0400
commit12c75e9737152f91c440c935c0393f5ee9ef473f (patch)
tree7e44ac3a3d35f3454aa460d311f2a7c1c1699ae8 /clutter/clutter-timeline.h
parent4546f844080672580c469d75168630b737419c17 (diff)
downloadclutter-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.h120
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