16#ifndef AEONGUI_CSS_SELECTOR_H
17#define AEONGUI_CSS_SELECTOR_H
89 DLL std::vector<ComplexSelector> ParseSelector (
const std::string& aSelector );
92 DLL
bool MatchesCompound (
const DOM::Element& aElement,
const CompoundSelector& aCompound );
95 DLL
bool MatchesSelector (
const DOM::Element& aElement,
const ComplexSelector& aSelector );
98 DLL
bool MatchesAny (
const DOM::Element& aElement,
const std::vector<ComplexSelector>& aSelectors );
Base class for DOM elements.
Definition Element.hpp:46
A compound selector together with the combinator that precedes it.
Definition CSSSelector.hpp:81
CompoundSelector compound
The compound selector for this part.
Definition CSSSelector.hpp:82
Combinator combinator
Combinator linking to the next part.
Definition CSSSelector.hpp:83
Definition CSSSelector.hpp:78
std::vector< Part > parts
Parts in left-to-right order as written in CSS.
Definition CSSSelector.hpp:85
A compound selector: a sequence of simple selectors that must all match the same element.
Definition CSSSelector.hpp:61
std::vector< SimpleSelector > selectors
Simple selectors in this compound.
Definition CSSSelector.hpp:62
A single simple selector component (type, id, class, or attribute).
Definition CSSSelector.hpp:32
AttrOp
Attribute matching operator.
Definition CSSSelector.hpp:47
@ Exists
[attr]
Definition CSSSelector.hpp:48
@ Includes
[attr~=value]
Definition CSSSelector.hpp:50
@ Substring
[attr*=value]
Definition CSSSelector.hpp:54
@ Equals
[attr=value]
Definition CSSSelector.hpp:49
@ DashMatch
[attr|=value]
Definition CSSSelector.hpp:51
@ Prefix
[attr^=value]
Definition CSSSelector.hpp:52
@ Suffix
[attr$=value]
Definition CSSSelector.hpp:53
std::string value
Definition CSSSelector.hpp:44
Type
Kind of simple selector.
Definition CSSSelector.hpp:35
@ Id
#myId
Definition CSSSelector.hpp:38
@ Attribute
[attr] or [attr=value]
Definition CSSSelector.hpp:40
@ Universal
Definition CSSSelector.hpp:36
@ Class
.myClass
Definition CSSSelector.hpp:39
@ TypeSel
e.g. rect, text
Definition CSSSelector.hpp:37
AttrOp attrOp
The attribute match operation.
Definition CSSSelector.hpp:56
Type type
The selector kind.
Definition CSSSelector.hpp:42
std::string name
Selector name (tag name, id, class, or attribute name).
Definition CSSSelector.hpp:43