Commit c42e54e9 authored by Benjamin Otte's avatar Benjamin Otte

css: Add _gtk_css_style_property_get_mask_affecting()

Computes a bitmask for all properties that affect the given flags.
parent ffff7b05
......@@ -406,6 +406,35 @@ _gtk_css_style_property_get_initial_value (GtkCssStyleProperty *property)
return property->initial_value;
}
/**
* _gtk_css_style_property_get_mask_affecting:
* @flags: the flags that are affected
*
* Computes a bitmask for all properties that have at least one of @flags
* set.
*
* Returns: (transfer: full): A #GtkBitmask with the bit set for every
* property that has at least one of @flags set.
*/
GtkBitmask *
_gtk_css_style_property_get_mask_affecting (GtkCssAffects affects)
{
GtkBitmask *result;
guint i;
result = _gtk_bitmask_new ();
for (i = 0; i < _gtk_css_style_property_get_n_properties (); i++)
{
GtkCssStyleProperty *prop = _gtk_css_style_property_lookup_by_id (i);
if (_gtk_css_style_property_get_affects (prop) & affects)
result = _gtk_bitmask_set (result, i, TRUE);
}
return result;
}
gboolean
_gtk_css_style_property_changes_affect_size (const GtkBitmask *changes)
{
......
......@@ -83,6 +83,8 @@ void _gtk_css_style_property_print_value (GtkCssStyleProp
GtkCssValue *value,
GString *string);
GtkBitmask * _gtk_css_style_property_get_mask_affecting
(GtkCssAffects affects);
gboolean _gtk_css_style_property_changes_affect_size
(const GtkBitmask *changes);
gboolean _gtk_css_style_property_changes_affect_font
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment