summaryrefslogtreecommitdiff
path: root/gtk/gtkcsstypes.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-01-15 20:27:12 -0500
committerMatthias Clasen <mclasen@redhat.com>2020-01-16 07:24:04 -0500
commitd14bace6d0d9505b28c153ab629ca455d97a9fd2 (patch)
treebc039ca6ac4a9c07451b9fac048d43b17a2ee73a /gtk/gtkcsstypes.c
parent77f71448d543d39954d776d3b93322d376f34617 (diff)
downloadgtk+-matthiasc/css-change.tar.gz
css: Track selected state separatelymatthiasc/css-change
Like the previous change, this reduces the number of css nodes reacting to parent-state changes. The remaining parent-state cases here are due to :link. Before (numbers from widget-factory with Adwaita): 2247 nodes class 612 name 2246 id 2 first-child 148 last-child 156 state 2245 hover 562 disabled 859 backdrop 1080 sibling-name 63 sibling-disabled 51 parent-class 586 parent-name 788 parent-id 2 parent-first-child 78 parent-last-child 78 parent-state 236 parent-hover 5 parent-disabled 91 parent-backdrop 4 After: 2247 nodes class 612 name 2246 id 2 first-child 148 last-child 156 state 2245 hover 562 disabled 859 backdrop 1080 selected 579 sibling-name 63 sibling-disabled 51 parent-class 586 parent-name 788 parent-id 2 parent-first-child 78 parent-last-child 78 parent-state 115 parent-hover 5 parent-disabled 91 parent-backdrop 4 parent-selected 144
Diffstat (limited to 'gtk/gtkcsstypes.c')
-rw-r--r--gtk/gtkcsstypes.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gtk/gtkcsstypes.c b/gtk/gtkcsstypes.c
index 0406a7c837..eead8842d9 100644
--- a/gtk/gtkcsstypes.c
+++ b/gtk/gtkcsstypes.c
@@ -77,6 +77,7 @@ _gtk_css_change_for_sibling (GtkCssChange match)
| GTK_CSS_CHANGE_STATE \
| GTK_CSS_CHANGE_HOVER \
| GTK_CSS_CHANGE_DISABLED \
+ | GTK_CSS_CHANGE_SELECTED \
| GTK_CSS_CHANGE_BACKDROP)
#define KEEP_STATES ( ~(BASE_STATES|GTK_CSS_CHANGE_SOURCE|GTK_CSS_CHANGE_PARENT_STYLE) \
@@ -103,6 +104,7 @@ _gtk_css_change_for_child (GtkCssChange match)
| GTK_CSS_CHANGE_HOVER \
| GTK_CSS_CHANGE_DISABLED \
| GTK_CSS_CHANGE_BACKDROP \
+ | GTK_CSS_CHANGE_SELECTED \
| GTK_CSS_CHANGE_SIBLING_CLASS \
| GTK_CSS_CHANGE_SIBLING_NAME \
| GTK_CSS_CHANGE_SIBLING_ID \
@@ -113,7 +115,8 @@ _gtk_css_change_for_child (GtkCssChange match)
| GTK_CSS_CHANGE_SIBLING_STATE \
| GTK_CSS_CHANGE_SIBLING_HOVER \
| GTK_CSS_CHANGE_SIBLING_DISABLED \
- | GTK_CSS_CHANGE_SIBLING_BACKDROP)
+ | GTK_CSS_CHANGE_SIBLING_BACKDROP \
+ | GTK_CSS_CHANGE_SIBLING_SELECTED)
#define KEEP_STATES (~(BASE_STATES|GTK_CSS_CHANGE_SOURCE|GTK_CSS_CHANGE_PARENT_STYLE))
@@ -142,6 +145,7 @@ gtk_css_change_print (GtkCssChange change,
{ GTK_CSS_CHANGE_HOVER, "hover" },
{ GTK_CSS_CHANGE_DISABLED, "disabled" },
{ GTK_CSS_CHANGE_BACKDROP, "backdrop" },
+ { GTK_CSS_CHANGE_SELECTED, "selected" },
{ GTK_CSS_CHANGE_SIBLING_CLASS, "sibling-class" },
{ GTK_CSS_CHANGE_SIBLING_NAME, "sibling-name" },
@@ -154,6 +158,7 @@ gtk_css_change_print (GtkCssChange change,
{ GTK_CSS_CHANGE_SIBLING_HOVER, "sibling-hover" },
{ GTK_CSS_CHANGE_SIBLING_DISABLED, "sibling-disabled" },
{ GTK_CSS_CHANGE_SIBLING_BACKDROP, "sibling-backdrop" },
+ { GTK_CSS_CHANGE_SIBLING_SELECTED, "sibling-selected" },
{ GTK_CSS_CHANGE_PARENT_CLASS, "parent-class" },
{ GTK_CSS_CHANGE_PARENT_NAME, "parent-name" },
@@ -166,6 +171,7 @@ gtk_css_change_print (GtkCssChange change,
{ GTK_CSS_CHANGE_PARENT_HOVER, "parent-hover" },
{ GTK_CSS_CHANGE_PARENT_DISABLED, "parent-disabled" },
{ GTK_CSS_CHANGE_PARENT_BACKDROP, "parent-backdrop" },
+ { GTK_CSS_CHANGE_PARENT_SELECTED, "parent-selected" },
{ GTK_CSS_CHANGE_PARENT_SIBLING_CLASS, "parent-sibling-" },
{ GTK_CSS_CHANGE_PARENT_SIBLING_NAME, "parent-sibling-name" },
@@ -178,6 +184,7 @@ gtk_css_change_print (GtkCssChange change,
{ GTK_CSS_CHANGE_PARENT_SIBLING_HOVER, "parent-sibling-hover" },
{ GTK_CSS_CHANGE_PARENT_SIBLING_DISABLED, "parent-sibling-disabled" },
{ GTK_CSS_CHANGE_PARENT_SIBLING_BACKDROP, "parent-sibling-backdrop" },
+ { GTK_CSS_CHANGE_PARENT_SIBLING_SELECTED, "parent-sibling-selected" },
{ GTK_CSS_CHANGE_SOURCE, "source" },
{ GTK_CSS_CHANGE_PARENT_STYLE, "parent-style" },