forked from AuroraMiddleware/gtk
cssstaticstyle: Compute initial/inherit values directly
This commit is contained in:
parent
629f528f6d
commit
8d6c5ba90e
@ -37,7 +37,7 @@ gtk_css_value_initial_free (GtkCssValue *value)
|
|||||||
g_assert_not_reached ();
|
g_assert_not_reached ();
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkCssValue *
|
static GtkCssValue *
|
||||||
gtk_css_value_initial_compute (GtkCssValue *value,
|
gtk_css_value_initial_compute (GtkCssValue *value,
|
||||||
guint property_id,
|
guint property_id,
|
||||||
GtkStyleProvider *provider,
|
GtkStyleProvider *provider,
|
||||||
@ -124,3 +124,15 @@ _gtk_css_initial_value_get (void)
|
|||||||
{
|
{
|
||||||
return &initial;
|
return &initial;
|
||||||
}
|
}
|
||||||
|
GtkCssValue *
|
||||||
|
_gtk_css_initial_value_new_compute (guint property_id,
|
||||||
|
GtkStyleProvider *provider,
|
||||||
|
GtkCssStyle *style,
|
||||||
|
GtkCssStyle *parent_style)
|
||||||
|
{
|
||||||
|
return gtk_css_value_initial_compute (NULL,
|
||||||
|
property_id,
|
||||||
|
provider,
|
||||||
|
style,
|
||||||
|
parent_style);
|
||||||
|
}
|
||||||
|
@ -26,9 +26,7 @@ G_BEGIN_DECLS
|
|||||||
|
|
||||||
GtkCssValue * _gtk_css_initial_value_new (void);
|
GtkCssValue * _gtk_css_initial_value_new (void);
|
||||||
GtkCssValue * _gtk_css_initial_value_get (void);
|
GtkCssValue * _gtk_css_initial_value_get (void);
|
||||||
|
GtkCssValue * _gtk_css_initial_value_new_compute (guint property_id,
|
||||||
GtkCssValue * gtk_css_value_initial_compute (GtkCssValue *value,
|
|
||||||
guint property_id,
|
|
||||||
GtkStyleProvider *provider,
|
GtkStyleProvider *provider,
|
||||||
GtkCssStyle *style,
|
GtkCssStyle *style,
|
||||||
GtkCssStyle *parent_style);
|
GtkCssStyle *parent_style);
|
||||||
|
@ -218,13 +218,20 @@ gtk_css_static_style_compute_value (GtkCssStaticStyle *style,
|
|||||||
{
|
{
|
||||||
GtkCssStyleProperty *prop = _gtk_css_style_property_lookup_by_id (id);
|
GtkCssStyleProperty *prop = _gtk_css_style_property_lookup_by_id (id);
|
||||||
|
|
||||||
if (_gtk_css_style_property_is_inherit (prop))
|
if (parent_style && _gtk_css_style_property_is_inherit (prop))
|
||||||
specified = _gtk_css_inherit_value_get ();
|
{
|
||||||
|
/* Just take the style from the parent */
|
||||||
|
value = _gtk_css_value_ref (gtk_css_style_get_value (parent_style, id));
|
||||||
|
}
|
||||||
else
|
else
|
||||||
specified = _gtk_css_initial_value_get ();
|
{
|
||||||
|
value = _gtk_css_initial_value_new_compute (id, provider, (GtkCssStyle *)style, parent_style);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
value = _gtk_css_value_compute (specified, id, provider, (GtkCssStyle *)style, parent_style);
|
||||||
}
|
}
|
||||||
|
|
||||||
value = _gtk_css_value_compute (specified, id, provider, (GtkCssStyle *)style, parent_style);
|
|
||||||
|
|
||||||
gtk_css_static_style_set_value (style, id, value, section);
|
gtk_css_static_style_set_value (style, id, value, section);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user