diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-01-15 20:27:12 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-01-16 07:24:04 -0500 |
commit | d14bace6d0d9505b28c153ab629ca455d97a9fd2 (patch) | |
tree | bc039ca6ac4a9c07451b9fac048d43b17a2ee73a /gtk/gtkcsstypes.c | |
parent | 77f71448d543d39954d776d3b93322d376f34617 (diff) | |
download | gtk+-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.c | 9 |
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" }, |