summaryrefslogtreecommitdiff
path: root/src/select/select.h
diff options
context:
space:
mode:
authorMichael Drake <michael.drake@codethink.co.uk>2016-10-23 15:57:43 +0100
committerMichael Drake <tlsa@netsurf-browser.org>2016-11-19 14:30:07 +0000
commitce28a1a8cb638ec2563f375277ee4950f5eb4bde (patch)
tree34006bcff92e387913d1bf901147534519b735c3 /src/select/select.h
parentffe1de36ded35058f082a3185615b55ca0668996 (diff)
downloadlibcss-ce28a1a8cb638ec2563f375277ee4950f5eb4bde.tar.gz
libcss-ce28a1a8cb638ec2563f375277ee4950f5eb4bde.tar.bz2
Enable sharing where pseudo common pseudo classes are the same.
Diffstat (limited to 'src/select/select.h')
-rw-r--r--src/select/select.h28
1 files changed, 21 insertions, 7 deletions
diff --git a/src/select/select.h b/src/select/select.h
index 96f4546..1d9a813 100644
--- a/src/select/select.h
+++ b/src/select/select.h
@@ -31,16 +31,30 @@ typedef struct prop_state {
inherit : 1; /* Property is set to inherit */
} prop_state;
+
+typedef enum css_node_flags {
+ CSS_NODE_FLAGS_NONE = 0,
+ CSS_NODE_FLAGS_HAS_HINTS = (1 << 0),
+ CSS_NODE_FLAGS_PSEUDO_CLASS_ACTIVE = (1 << 1),
+ CSS_NODE_FLAGS_PSEUDO_CLASS_FOCUS = (1 << 2),
+ CSS_NODE_FLAGS_PSEUDO_CLASS_HOVER = (1 << 3),
+ CSS_NODE_FLAGS_PSEUDO_CLASS_LINK = (1 << 4),
+ CSS_NODE_FLAGS_PSEUDO_CLASS_VISITED = (1 << 5),
+ CSS_NODE_FLAGS_TAINT_PSEUDO_CLASS = (1 << 6),
+ CSS_NODE_FLAGS_TAINT_ATTRIBUTE = (1 << 7),
+ CSS_NODE_FLAGS_TAINT_SIBLING = (1 << 8),
+ CSS_NODE_FLAGS__PSEUDO_CLASSES_MASK =
+ (CSS_NODE_FLAGS_PSEUDO_CLASS_ACTIVE |
+ CSS_NODE_FLAGS_PSEUDO_CLASS_FOCUS |
+ CSS_NODE_FLAGS_PSEUDO_CLASS_HOVER |
+ CSS_NODE_FLAGS_PSEUDO_CLASS_LINK |
+ CSS_NODE_FLAGS_PSEUDO_CLASS_VISITED),
+} css_node_flags;
+
struct css_node_data {
css_select_results partial;
css_bloom *bloom;
- enum {
- CSS_NODE_FLAGS_NONE = 0,
- CSS_NODE_FLAGS_HAS_HINTS = (1 << 0),
- CSS_NODE_FLAGS_TAINT_PSEUDO_CLASS = (1 << 1),
- CSS_NODE_FLAGS_TAINT_ATTRIBUTE = (1 << 2),
- CSS_NODE_FLAGS_TAINT_SIBLING = (1 << 3),
- } flags;
+ css_node_flags flags;
};
/**