css: Simplify compute for font variations

Just like font features, font variations are stored
as a hash table mapping strings to pure number values,
which never change during compute.
This commit is contained in:
Matthias Clasen 2020-01-10 01:36:23 -05:00
parent 898e29c989
commit 99aa47185e

View File

@ -56,29 +56,7 @@ gtk_css_value_font_variations_compute (GtkCssValue *specified,
GtkCssStyle *style, GtkCssStyle *style,
GtkCssStyle *parent_style) GtkCssStyle *parent_style)
{ {
GHashTableIter iter; return _gtk_css_value_ref (specified);
gpointer name, coord;
GtkCssValue *computed_coord;
GtkCssValue *result;
gboolean changes = FALSE;
result = gtk_css_font_variations_value_new_empty ();
g_hash_table_iter_init (&iter, specified->axes);
while (g_hash_table_iter_next (&iter, &name, &coord))
{
computed_coord = _gtk_css_value_compute (coord, property_id, provider, style, parent_style);
changes |= computed_coord != coord;
gtk_css_font_variations_value_add_axis (result, name, computed_coord);
}
if (!changes)
{
_gtk_css_value_unref (result);
result = _gtk_css_value_ref (specified);
}
return result;
} }
static gboolean static gboolean