summaryrefslogtreecommitdiff
path: root/gtk/gtkstyleanimation.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkstyleanimation.c')
-rw-r--r--gtk/gtkstyleanimation.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/gtk/gtkstyleanimation.c b/gtk/gtkstyleanimation.c
index aab78bddd7..ac74851c59 100644
--- a/gtk/gtkstyleanimation.c
+++ b/gtk/gtkstyleanimation.c
@@ -39,11 +39,19 @@ gtk_style_animation_real_is_finished (GtkStyleAnimation *animation,
return TRUE;
}
+static gboolean
+gtk_style_animation_real_is_static (GtkStyleAnimation *animation,
+ gint64 at_time_us)
+{
+ return FALSE;
+}
+
static void
_gtk_style_animation_class_init (GtkStyleAnimationClass *klass)
{
klass->set_values = gtk_style_animation_real_set_values;
klass->is_finished = gtk_style_animation_real_is_finished;
+ klass->is_static = gtk_style_animation_real_is_static;
}
static void
@@ -80,3 +88,26 @@ _gtk_style_animation_is_finished (GtkStyleAnimation *animation,
return klass->is_finished (animation, at_time_us);
}
+/**
+ * _gtk_style_animation_is_static:
+ * @animation: The animation to query
+ * @at_time_us: The timestamp to query for
+ *
+ * Checks if @animation will not change its values anymore after
+ * @at_time_us. This happens for example when the animation has reached its
+ * final value or when it has been paused.
+ *
+ * Returns: %TRUE if @animation will not change anymore after @at_time_us
+ **/
+gboolean
+_gtk_style_animation_is_static (GtkStyleAnimation *animation,
+ gint64 at_time_us)
+{
+ GtkStyleAnimationClass *klass;
+
+ g_return_val_if_fail (GTK_IS_STYLE_ANIMATION (animation), TRUE);
+
+ klass = GTK_STYLE_ANIMATION_GET_CLASS (animation);
+
+ return klass->is_static (animation, at_time_us);
+}