diff options
author | Benjamin Otte <otte@redhat.com> | 2012-09-12 15:27:59 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2012-09-17 20:39:12 +0200 |
commit | 7224f897d64055acd09d9befedb526456b80d103 (patch) | |
tree | 9fa909ca97955da01df9a00b83852bb3e888ec94 /gtk/gtkcssanimation.c | |
parent | 229b6fe17a1c198a1381d905656c23820bfcce94 (diff) | |
download | gtk+-7224f897d64055acd09d9befedb526456b80d103.tar.gz |
animation: Add _gtk_style_animation_is_static()
This will be useful to not trigger updates all the time when nothing is
happening (ie due to animations being paused or due to them having
reached their final value).
Diffstat (limited to 'gtk/gtkcssanimation.c')
-rw-r--r-- | gtk/gtkcssanimation.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gtk/gtkcssanimation.c b/gtk/gtkcssanimation.c index 765bb4e750..c0964de2ba 100644 --- a/gtk/gtkcssanimation.c +++ b/gtk/gtkcssanimation.c @@ -143,6 +143,18 @@ gtk_css_animation_is_finished (GtkStyleAnimation *style_animation, return FALSE; } +static gboolean +gtk_css_animation_is_static (GtkStyleAnimation *style_animation, + gint64 at_time_us) +{ + GtkCssAnimation *animation = GTK_CSS_ANIMATION (style_animation); + double iteration; + + iteration = gtk_css_animation_get_iteration (animation, at_time_us); + + return iteration >= animation->iteration_count; +} + static void gtk_css_animation_finalize (GObject *object) { @@ -165,6 +177,7 @@ _gtk_css_animation_class_init (GtkCssAnimationClass *klass) animation_class->set_values = gtk_css_animation_set_values; animation_class->is_finished = gtk_css_animation_is_finished; + animation_class->is_static = gtk_css_animation_is_static; } static void |