forked from AuroraMiddleware/gtk
cssanimatedstyle: Avoid unnecessary transition work
No need to do all the transition work if the transition duration will be 0 for all of them.
This commit is contained in:
parent
5c705ae9a5
commit
eeb5cd2321
@ -272,12 +272,18 @@ gtk_css_animated_style_create_css_transitions (GSList *animations,
|
||||
GtkCssValue *durations, *delays, *timing_functions;
|
||||
guint i;
|
||||
|
||||
transition_infos_set (transitions, gtk_css_style_get_value (base_style, GTK_CSS_PROPERTY_TRANSITION_PROPERTY));
|
||||
|
||||
durations = gtk_css_style_get_value (base_style, GTK_CSS_PROPERTY_TRANSITION_DURATION);
|
||||
delays = gtk_css_style_get_value (base_style, GTK_CSS_PROPERTY_TRANSITION_DELAY);
|
||||
timing_functions = gtk_css_style_get_value (base_style, GTK_CSS_PROPERTY_TRANSITION_TIMING_FUNCTION);
|
||||
|
||||
if (_gtk_css_array_value_get_n_values (durations) == 1 &&
|
||||
_gtk_css_array_value_get_n_values (delays) == 1 &&
|
||||
_gtk_css_number_value_get (_gtk_css_array_value_get_nth (durations, 0), 100) +
|
||||
_gtk_css_number_value_get (_gtk_css_array_value_get_nth (delays, 0), 100) == 0)
|
||||
return animations;
|
||||
|
||||
transition_infos_set (transitions, gtk_css_style_get_value (base_style, GTK_CSS_PROPERTY_TRANSITION_PROPERTY));
|
||||
|
||||
for (i = 0; i < GTK_CSS_PROPERTY_N_PROPERTIES; i++)
|
||||
{
|
||||
GtkStyleAnimation *animation;
|
||||
|
Loading…
Reference in New Issue
Block a user