summaryrefslogtreecommitdiff
path: root/gtk/gtkcssnodedeclaration.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2016-10-08 01:16:46 +0200
committerBenjamin Otte <otte@redhat.com>2016-10-16 18:17:21 +0200
commit9b9b475f0a1d15999cdd03e90693e87fbc3e16e2 (patch)
tree94a9fe67e28db578285ba66d09d6f69187505c11 /gtk/gtkcssnodedeclaration.c
parent1a7dcb2053bae92abfa3388d71ed4679bc5c13a0 (diff)
downloadgtk+-9b9b475f0a1d15999cdd03e90693e87fbc3e16e2.tar.gz
API: stylecontext: Remove regions
Diffstat (limited to 'gtk/gtkcssnodedeclaration.c')
-rw-r--r--gtk/gtkcssnodedeclaration.c202
1 files changed, 3 insertions, 199 deletions
diff --git a/gtk/gtkcssnodedeclaration.c b/gtk/gtkcssnodedeclaration.c
index ca6324aec6..cf888fc44e 100644
--- a/gtk/gtkcssnodedeclaration.c
+++ b/gtk/gtkcssnodedeclaration.c
@@ -22,14 +22,6 @@
#include <string.h>
-typedef struct _GtkRegion GtkRegion;
-
-struct _GtkRegion
-{
- GQuark class_quark;
- GtkRegionFlags flags;
-};
-
struct _GtkCssNodeDeclaration {
guint refcount;
GtkJunctionSides junction_sides;
@@ -38,9 +30,7 @@ struct _GtkCssNodeDeclaration {
const /* interned */ char *id;
GtkStateFlags state;
guint n_classes;
- guint n_regions;
/* GQuark classes[n_classes]; */
- /* GtkRegion region[n_regions]; */
};
static inline GQuark *
@@ -49,25 +39,17 @@ get_classes (const GtkCssNodeDeclaration *decl)
return (GQuark *) (decl + 1);
}
-static inline GtkRegion *
-get_regions (const GtkCssNodeDeclaration *decl)
-{
- return (GtkRegion *) (get_classes (decl) + decl->n_classes);
-}
-
static inline gsize
-sizeof_node (guint n_classes,
- guint n_regions)
+sizeof_node (guint n_classes)
{
return sizeof (GtkCssNodeDeclaration)
- + sizeof (GQuark) * n_classes
- + sizeof (GtkRegion) * n_regions;
+ + sizeof (GQuark) * n_classes;
}
static inline gsize
sizeof_this_node (GtkCssNodeDeclaration *decl)
{
- return sizeof_node (decl->n_classes, decl->n_regions);
+ return sizeof_node (decl->n_classes);
}
static void
@@ -123,7 +105,6 @@ gtk_css_node_declaration_new (void)
NULL,
NULL,
0,
- 0,
0
};
@@ -382,155 +363,11 @@ gtk_css_node_declaration_get_classes (const GtkCssNodeDeclaration *decl,
return get_classes (decl);
}
-static gboolean
-find_region (const GtkCssNodeDeclaration *decl,
- GQuark region_quark,
- guint *position)
-{
- gint min, max, mid;
- gboolean found = FALSE;
- GtkRegion *regions;
- guint pos;
-
- if (position)
- *position = 0;
-
- if (decl->n_regions == 0)
- return FALSE;
-
- min = 0;
- max = decl->n_regions - 1;
- regions = get_regions (decl);
-
- do
- {
- GQuark item;
-
- mid = (min + max) / 2;
- item = regions[mid].class_quark;
-
- if (region_quark == item)
- {
- found = TRUE;
- pos = mid;
- break;
- }
- else if (region_quark > item)
- min = pos = mid + 1;
- else
- {
- max = mid - 1;
- pos = mid;
- }
- }
- while (min <= max);
-
- if (position)
- *position = pos;
-
- return found;
-}
-
-gboolean
-gtk_css_node_declaration_add_region (GtkCssNodeDeclaration **decl,
- GQuark region_quark,
- GtkRegionFlags flags)
-{
- GtkRegion *regions;
- guint pos;
-
- if (find_region (*decl, region_quark, &pos))
- return FALSE;
-
- gtk_css_node_declaration_make_writable_resize (decl,
- (char *) &get_regions (*decl)[pos] - (char *) *decl,
- sizeof (GtkRegion),
- 0);
- (*decl)->n_regions++;
- regions = get_regions(*decl);
- regions[pos].class_quark = region_quark;
- regions[pos].flags = flags;
-
- return TRUE;
-}
-
-gboolean
-gtk_css_node_declaration_remove_region (GtkCssNodeDeclaration **decl,
- GQuark region_quark)
-{
- guint pos;
-
- if (!find_region (*decl, region_quark, &pos))
- return FALSE;
-
- gtk_css_node_declaration_make_writable_resize (decl,
- (char *) &get_regions (*decl)[pos] - (char *) *decl,
- 0,
- sizeof (GtkRegion));
- (*decl)->n_regions--;
-
- return TRUE;
-}
-
-gboolean
-gtk_css_node_declaration_clear_regions (GtkCssNodeDeclaration **decl)
-{
- if ((*decl)->n_regions == 0)
- return FALSE;
-
- gtk_css_node_declaration_make_writable_resize (decl,
- (char *) get_regions (*decl) - (char *) *decl,
- 0,
- sizeof (GtkRegion) * (*decl)->n_regions);
- (*decl)->n_regions = 0;
-
- return TRUE;
-}
-
-gboolean
-gtk_css_node_declaration_has_region (const GtkCssNodeDeclaration *decl,
- GQuark region_quark,
- GtkRegionFlags *flags_return)
-{
- guint pos;
-
- if (!find_region (decl, region_quark, &pos))
- {
- if (flags_return)
- *flags_return = 0;
- return FALSE;
- }
-
- if (flags_return)
- *flags_return = get_regions (decl)[pos].flags;
-
- return TRUE;
-}
-
-GList *
-gtk_css_node_declaration_list_regions (const GtkCssNodeDeclaration *decl)
-{
- GtkRegion *regions;
- GList *result;
- guint i;
-
- regions = get_regions (decl);
- result = NULL;
-
- for (i = 0; i < decl->n_regions; i++)
- {
- result = g_list_prepend (result, GUINT_TO_POINTER (regions[i].class_quark));
- }
-
- return result;
-}
-
guint
gtk_css_node_declaration_hash (gconstpointer elem)
{
const GtkCssNodeDeclaration *decl = elem;
GQuark *classes;
- GtkRegion *regions;
guint hash, i;
hash = (guint) decl->type;
@@ -545,14 +382,6 @@ gtk_css_node_declaration_hash (gconstpointer elem)
hash += classes[i];
}
- regions = get_regions (decl);
- for (i = 0; i < decl->n_regions; i++)
- {
- hash <<= 5;
- hash += regions[i].class_quark;
- hash += regions[i].flags;
- }
-
hash ^= ((guint) decl->junction_sides) << (sizeof (guint) * 8 - 5);
hash ^= decl->state;
@@ -566,7 +395,6 @@ gtk_css_node_declaration_equal (gconstpointer elem1,
const GtkCssNodeDeclaration *decl1 = elem1;
const GtkCssNodeDeclaration *decl2 = elem2;
GQuark *classes1, *classes2;
- GtkRegion *regions1, *regions2;
guint i;
if (decl1 == decl2)
@@ -595,18 +423,6 @@ gtk_css_node_declaration_equal (gconstpointer elem1,
return FALSE;
}
- if (decl1->n_regions != decl2->n_regions)
- return FALSE;
-
- regions1 = get_regions (decl1);
- regions2 = get_regions (decl2);
- for (i = 0; i < decl1->n_regions; i++)
- {
- if (regions1[i].class_quark != regions2[i].class_quark ||
- regions1[i].flags != regions2[i].flags)
- return FALSE;
- }
-
if (decl1->junction_sides != decl2->junction_sides)
return FALSE;
@@ -619,7 +435,6 @@ gtk_css_node_declaration_add_to_widget_path (const GtkCssNodeDeclaration *decl,
guint pos)
{
GQuark *classes;
- GtkRegion *regions;
guint i;
/* Set name and id */
@@ -627,17 +442,6 @@ gtk_css_node_declaration_add_to_widget_path (const GtkCssNodeDeclaration *decl,
if (decl->id)
gtk_widget_path_iter_set_name (path, pos, decl->id);
- /* Set widget regions */
- regions = get_regions (decl);
- for (i = 0; i < decl->n_regions; i++)
- {
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
- gtk_widget_path_iter_add_region (path, pos,
- g_quark_to_string (regions[i].class_quark),
- regions[i].flags);
-G_GNUC_END_IGNORE_DEPRECATIONS
- }
-
/* Set widget classes */
classes = get_classes (decl);
for (i = 0; i < decl->n_classes; i++)