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.
This commit is contained in:
@ -117,72 +117,80 @@ struct _ClutterTimelineClass
|
||||
|
||||
GType clutter_timeline_get_type (void) G_GNUC_CONST;
|
||||
|
||||
ClutterTimeline * clutter_timeline_new (guint msecs);
|
||||
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);
|
||||
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
|
||||
|
||||
|
Reference in New Issue
Block a user