G_DEFINE_ABSTRACT_TYPE (GtkStyleAnimation, _gtk_style_animation, G_TYPE_OBJECT)
-static GtkBitmask *
+static void
gtk_style_animation_real_set_values (GtkStyleAnimation *animation,
- GtkBitmask *changed,
gint64 for_time_us,
GtkCssComputedValues *values)
{
- return changed;
}
static gboolean
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
{
}
-GtkBitmask *
+void
_gtk_style_animation_set_values (GtkStyleAnimation *animation,
- GtkBitmask *changed,
gint64 for_time_us,
GtkCssComputedValues *values)
{
GtkStyleAnimationClass *klass;
- g_return_val_if_fail (GTK_IS_STYLE_ANIMATION (animation), changed);
- g_return_val_if_fail (GTK_IS_CSS_COMPUTED_VALUES (values), changed);
+ g_return_if_fail (GTK_IS_STYLE_ANIMATION (animation));
+ g_return_if_fail (GTK_IS_CSS_COMPUTED_VALUES (values));
klass = GTK_STYLE_ANIMATION_GET_CLASS (animation);
- return klass->set_values (animation, changed, for_time_us, values);
+ return klass->set_values (animation, for_time_us, values);
}
gboolean
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);
+}