csscomputedvalues: Handle starting animations differently
This commit is contained in:
@ -364,9 +364,9 @@ gtk_css_computed_values_find_transition (GtkCssComputedValues *values,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_css_computed_values_start_transitions (GtkCssComputedValues *values,
|
gtk_css_computed_values_create_css_transitions (GtkCssComputedValues *values,
|
||||||
gint64 timestamp,
|
gint64 timestamp,
|
||||||
GtkCssComputedValues *source)
|
GtkCssComputedValues *source)
|
||||||
{
|
{
|
||||||
TransitionInfo transitions[GTK_CSS_PROPERTY_N_PROPERTIES] = { { 0, } };
|
TransitionInfo transitions[GTK_CSS_PROPERTY_N_PROPERTIES] = { { 0, } };
|
||||||
GtkCssValue *durations, *delays, *timing_functions;
|
GtkCssValue *durations, *delays, *timing_functions;
|
||||||
@ -432,9 +432,9 @@ gtk_css_computed_values_find_animation (GtkCssComputedValues *values,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_css_computed_values_start_css_animations (GtkCssComputedValues *values,
|
gtk_css_computed_values_create_css_animations (GtkCssComputedValues *values,
|
||||||
gint64 timestamp,
|
gint64 timestamp,
|
||||||
GtkStyleContext *context)
|
GtkStyleContext *context)
|
||||||
{
|
{
|
||||||
GtkStyleProviderPrivate *provider;
|
GtkStyleProviderPrivate *provider;
|
||||||
GtkCssValue *durations, *delays, *timing_functions, *animations;
|
GtkCssValue *durations, *delays, *timing_functions, *animations;
|
||||||
@ -487,18 +487,13 @@ gtk_css_computed_values_start_css_animations (GtkCssComputedValues *values,
|
|||||||
/* PUBLIC API */
|
/* PUBLIC API */
|
||||||
|
|
||||||
void
|
void
|
||||||
_gtk_css_computed_values_start_animations (GtkCssComputedValues *values,
|
_gtk_css_computed_values_create_animations (GtkCssComputedValues *values,
|
||||||
gint64 timestamp,
|
gint64 timestamp,
|
||||||
GtkCssComputedValues *source,
|
GtkCssComputedValues *source,
|
||||||
GtkStyleContext *context)
|
GtkStyleContext *context)
|
||||||
{
|
{
|
||||||
GtkBitmask *ignore;
|
gtk_css_computed_values_create_css_transitions (values, timestamp, source);
|
||||||
|
gtk_css_computed_values_create_css_animations (values, timestamp, context);
|
||||||
gtk_css_computed_values_start_transitions (values, timestamp, source);
|
|
||||||
gtk_css_computed_values_start_css_animations (values, timestamp, context);
|
|
||||||
|
|
||||||
ignore = _gtk_css_computed_values_advance (values, timestamp);
|
|
||||||
_gtk_bitmask_free (ignore);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkBitmask *
|
GtkBitmask *
|
||||||
|
|||||||
@ -88,7 +88,7 @@ GtkCssValue * _gtk_css_computed_values_get_intrinsic_value (GtkCssCom
|
|||||||
GtkBitmask * _gtk_css_computed_values_get_difference (GtkCssComputedValues *values,
|
GtkBitmask * _gtk_css_computed_values_get_difference (GtkCssComputedValues *values,
|
||||||
GtkCssComputedValues *other);
|
GtkCssComputedValues *other);
|
||||||
|
|
||||||
void _gtk_css_computed_values_start_animations (GtkCssComputedValues *values,
|
void _gtk_css_computed_values_create_animations (GtkCssComputedValues *values,
|
||||||
gint64 timestamp,
|
gint64 timestamp,
|
||||||
GtkCssComputedValues *source,
|
GtkCssComputedValues *source,
|
||||||
GtkStyleContext *context);
|
GtkStyleContext *context);
|
||||||
|
|||||||
@ -3041,10 +3041,10 @@ gtk_style_context_should_animate (GtkStyleContext *context)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_style_context_start_animations (GtkStyleContext *context,
|
gtk_style_context_create_animations (GtkStyleContext *context,
|
||||||
GtkCssComputedValues *values,
|
GtkCssComputedValues *values,
|
||||||
GtkCssComputedValues *previous,
|
GtkCssComputedValues *previous,
|
||||||
gint64 timestamp)
|
gint64 timestamp)
|
||||||
{
|
{
|
||||||
if (!gtk_style_context_should_animate (context))
|
if (!gtk_style_context_should_animate (context))
|
||||||
{
|
{
|
||||||
@ -3052,10 +3052,10 @@ gtk_style_context_start_animations (GtkStyleContext *context,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_gtk_css_computed_values_start_animations (values,
|
_gtk_css_computed_values_create_animations (values,
|
||||||
timestamp,
|
timestamp,
|
||||||
previous,
|
previous,
|
||||||
context);
|
context);
|
||||||
|
|
||||||
if (_gtk_css_computed_values_is_static (values))
|
if (_gtk_css_computed_values_is_static (values))
|
||||||
{
|
{
|
||||||
@ -3168,8 +3168,11 @@ _gtk_style_context_validate (GtkStyleContext *context,
|
|||||||
|
|
||||||
data = style_data_lookup (context);
|
data = style_data_lookup (context);
|
||||||
|
|
||||||
gtk_style_context_start_animations (context, data->store, current->store, timestamp);
|
gtk_style_context_create_animations (context, data->store, current->store, timestamp);
|
||||||
change &= ~GTK_CSS_CHANGE_ANIMATE;
|
if (_gtk_css_computed_values_is_static (data->store))
|
||||||
|
change &= ~GTK_CSS_CHANGE_ANIMATE;
|
||||||
|
else
|
||||||
|
change |= GTK_CSS_CHANGE_ANIMATE;
|
||||||
|
|
||||||
changes = _gtk_css_computed_values_get_difference (data->store, current->store);
|
changes = _gtk_css_computed_values_get_difference (data->store, current->store);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user