Пример #1
0
static void
gtk_css_path_node_invalidate (GtkCssNode *node)
{
  GtkCssPathNode *path_node = GTK_CSS_PATH_NODE (node);

  if (path_node->context)
    {
      GtkBitmask *changes;

      changes = _gtk_bitmask_new ();
      changes = _gtk_bitmask_invert_range (changes,
                                           0,
                                           _gtk_css_style_property_get_n_properties ());

      gtk_style_context_validate (path_node->context, changes);

      _gtk_bitmask_free (changes);
    }
}
Пример #2
0
GtkCssLookup *
_gtk_css_lookup_new (const GtkBitmask *relevant)
{
  GtkCssLookup *lookup;

  lookup = g_malloc0 (sizeof (GtkCssLookup));

  if (relevant)
    {
      lookup->missing = _gtk_bitmask_copy (relevant);
    }
  else
    {
      lookup->missing = _gtk_bitmask_new ();
      lookup->missing = _gtk_bitmask_invert_range (lookup->missing, 0, GTK_CSS_PROPERTY_N_PROPERTIES);
    }

  return lookup;
}
Пример #3
0
GtkCssLookup *
_gtk_css_lookup_new (const GtkBitmask *relevant)
{
  GtkCssLookup *lookup;
  guint n = _gtk_css_style_property_get_n_properties ();

  lookup = g_malloc0 (sizeof (GtkCssLookup) + sizeof (GtkCssLookupValue) * n);

  if (relevant)
    {
      lookup->missing = _gtk_bitmask_copy (relevant);
    }
  else
    {
      lookup->missing = _gtk_bitmask_new ();
      lookup->missing = _gtk_bitmask_invert_range (lookup->missing, 0, n);
    }

  return lookup;
}
Пример #4
0
GtkBitmask *
_gtk_css_computed_values_get_difference (GtkCssComputedValues *values,
        GtkCssComputedValues *other)
{
    GtkBitmask *result;
    guint i, len;

    len = MIN (values->values->len, other->values->len);
    result = _gtk_bitmask_new ();
    if (values->values->len != other->values->len)
        result = _gtk_bitmask_invert_range (result, len, MAX (values->values->len, other->values->len));

    for (i = 0; i < len; i++)
    {
        if (!_gtk_css_value_equal (g_ptr_array_index (values->values, i),
                                   g_ptr_array_index (other->values, i)))
            result = _gtk_bitmask_set (result, i, TRUE);
    }

    return result;
}