mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-10-02 12:07:29 +00:00
computedvalues: Split out a function
This commit is contained in:
parent
b6594d1ac9
commit
50fdb6a13f
@ -73,6 +73,16 @@ maybe_unref_section (gpointer section)
|
|||||||
gtk_css_section_unref (section);
|
gtk_css_section_unref (section);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gtk_css_computed_values_ensure_array (GtkCssComputedValues *values,
|
||||||
|
guint at_least_size)
|
||||||
|
{
|
||||||
|
if (values->values == NULL)
|
||||||
|
values->values = g_ptr_array_new_with_free_func ((GDestroyNotify)_gtk_css_value_unref);
|
||||||
|
if (at_least_size > values->values->len)
|
||||||
|
g_ptr_array_set_size (values->values, at_least_size);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
_gtk_css_computed_values_compute_value (GtkCssComputedValues *values,
|
_gtk_css_computed_values_compute_value (GtkCssComputedValues *values,
|
||||||
GtkStyleContext *context,
|
GtkStyleContext *context,
|
||||||
@ -89,10 +99,7 @@ _gtk_css_computed_values_compute_value (GtkCssComputedValues *values,
|
|||||||
prop = _gtk_css_style_property_lookup_by_id (id);
|
prop = _gtk_css_style_property_lookup_by_id (id);
|
||||||
parent = gtk_style_context_get_parent (context);
|
parent = gtk_style_context_get_parent (context);
|
||||||
|
|
||||||
if (values->values == NULL)
|
gtk_css_computed_values_ensure_array (values, id + 1);
|
||||||
values->values = g_ptr_array_new_with_free_func ((GDestroyNotify)_gtk_css_value_unref);
|
|
||||||
if (id <= values->values->len)
|
|
||||||
g_ptr_array_set_size (values->values, id + 1);
|
|
||||||
|
|
||||||
/* http://www.w3.org/TR/css3-cascade/#cascade
|
/* http://www.w3.org/TR/css3-cascade/#cascade
|
||||||
* Then, for every element, the value for each property can be found
|
* Then, for every element, the value for each property can be found
|
||||||
@ -181,10 +188,7 @@ _gtk_css_computed_values_set_value (GtkCssComputedValues *values,
|
|||||||
{
|
{
|
||||||
g_return_if_fail (GTK_IS_CSS_COMPUTED_VALUES (values));
|
g_return_if_fail (GTK_IS_CSS_COMPUTED_VALUES (values));
|
||||||
|
|
||||||
if (values->values == NULL)
|
gtk_css_computed_values_ensure_array (values, id + 1);
|
||||||
values->values = g_ptr_array_new_with_free_func ((GDestroyNotify)_gtk_css_value_unref);
|
|
||||||
if (id >= values->values->len)
|
|
||||||
g_ptr_array_set_size (values->values, id + 1);
|
|
||||||
|
|
||||||
if (g_ptr_array_index (values->values, id))
|
if (g_ptr_array_index (values->values, id))
|
||||||
_gtk_css_value_unref (g_ptr_array_index (values->values, id));
|
_gtk_css_value_unref (g_ptr_array_index (values->values, id));
|
||||||
|
Loading…
Reference in New Issue
Block a user