| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Rather than first collecting matches and then getting the change
for them we do the change collection directly on the tree. This
is about twice as fast.
|
| |
|
|
|
|
|
| |
We traverse the tree on the matches instead of using
the linear selectors.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
From a set of GtkCssSelectors and the rulesets they match to
we create a large decision tree that lets us efficitently match
against all the rules and return the set of matched rulesets.
The tree is created such that at each level we pick the initial rule[1]
in all the considered selectors for that level and use put the
one that is in most selectors in the node. All selectors matching that
are put in the previous part of the tree.
|
|
|
|
|
| |
The implementations were broken and get_style() is deprecated and
documented to return NULL now.
|
|
|
|
|
| |
This allows querying selectors for which changes would change their
"matchingness".
|
| |
|
|
|
|
| |
and include them in the C files instead.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Passing the length of the widget path that is relevant is not necessary
anymore, it was only useful for inheritance. Instead, we now pass the
state flags and let the selector do the state matching for us.
|
|
|
|
|
| |
It should have been const all the time, but I assumed widgetpath code
wasn't properly const. PEBKAC.
|
|
|
|
| |
This will be necessary when handling inherit.
|
|
Selectors now go into their own C file. The new selectors are modeled a
lot closer to the CSS spec. In particular the specificity computation
matches CSS 2.1 exactly.
For details about the why, see also:
http://mail.gnome.org/archives/gtk-devel-list/2011-May/msg00061.html
https://bugzilla.gnome.org/show_bug.cgi?id=649798
|