| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Rename _gtk_css_print_string to strip the _ and add
an insert_newlines argument to it. Update all callers,
and make the render node serializer insert newlines.
|
|
|
|
|
|
| |
Move this to a separate header, since it is not
parser functionality, and kill the duplicate
gtkcssparserprivate.h header.
|
|
|
|
|
| |
With these changes, we skip roughly 85% of compute() calls during
widget-factory startup
|
|
|
|
|
| |
This is important to have for debugging and e.g. to print statistics for
the individual css value types
|
|
|
|
|
| |
Well, just rename _gtk_css_parser_read_string() for the new semantics,
but this sounds cooler.
|
|
|
|
| |
And use it to fix the palette parser.
|
|
|
|
|
|
|
| |
Dynamic values are values that change their contents with the current
(monotonic) time.
This just introduces the GtkCssValue API for it.
|
|
|
|
|
|
|
|
| |
This is just lots of renaming.
The interface remains private, so the public API does not change, apart
from removing the definition of the Interface object to avoid
subclassing.
|
|
|
|
| |
It is not used anymore, and it was not a good idea.
|
|
|
|
|
| |
This lets us conveniently create ident values from
multiple candidates.
|
|
|
|
| |
They are not used anymore.
|
|
|
|
|
|
| |
This way, we can remove it as a separate argument from
gtk_css_value_compute() and allow computation to only depend on one
thing: the style provider.
|
|
|
|
|
| |
This is literally just renaming of the object (and the associated source
files). No other changes are in there.
|
|
|
|
|
|
|
|
| |
Introduced in 65c4c1555d0634c063c3aa354620de260e4aaf7f.
Found by gnome-continuous running the testsuite.
Includes fixing a broken test in the testsuite.
|
|
|
|
| |
It used to infloop on special characters.
|
|
|
|
| |
It's used in two places already, and Iwant to use it in a third one.
|
|
|
|
|
|
|
|
| |
We need to be able to compute different GtkCssImage values
depending on the scale, and we need this at compute time so that
we don't need to read any images other than the scale in used (to
e.g. calculate the image size). GtkStyleProviderPrivate is shared
for all style contexts, so its not right.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Here's the shortest description of the bug I can come up with:
When computing values, we have 3 kinds of dependencies:
(1) other properties ("currentColor" or em values)
(2) inherited properties ("inherit")
(3) generic things from the theme (@keyframes or @define-color)
Previously, we passed the GtkStyleContext as an argument, because it
provided these 3 things using:
(1) _gtk_style_context_peek_property()
(2) _gtk_style_context_peek_property(gtk_style_context_get_parent())
(3) context->priv->cascade
However, this makes it impossible to lookup values other than the ones
accessible via _gtk_style_context_peek_property(). And this is exactly
what we are doing in gtk_style_context_update_cache(). So when the cache
updates encountered case (1), they were looking up the values from the
wrong style data.
So this large patch essentially does nothing but replace the
context argument in all compute functions with new arguments for the 3
cases above:
(1) values
(2) parent_values
(3) provider
We apparently have a lot of computing code.
|
|
|
|
| |
A NULL string should be printed as "none".
|
| |
|
|
|
|
|
|
|
| |
This is to allow animating arrays properly. I'm not really thrilled
about this solution (we leak propertys into the values again...), but
it's the best I can come up with - I prefer it to having N different
array types...
|
|
|
|
|
|
|
|
|
| |
When values are computed, they might depend on various other values and
we need to track this so we can update the values when those other
values change. This is the first step in making that happen.
This patch does not do any dependency tracking at all, instead it uses
GTK_CSS_DEPENDS_ON_EVERYTHING as a sort of FIXME.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a reorganization of how value computing should be done.
Previously the GtkCssStyleProperty.compute vfunc was supposed to take
care of special cases when it needed those for computation. However,
this proved to be very complicated in cases where values were nested and
only the last value (of a common type) needed to be special cased.
A common example for this was the fallback handling for unresolvable
colors.
Now, we pass the property's ID along with all compute functions so we
can do the special casing where it's necessary.
Note that no actual changes happen in this commit. This will happen in
follow-ups.
|
|
|
|
|
|
|
| |
This commit is essentially a large reorganization. Instead of all value
subtypes having their own compute function, there is the general
_gtk_css_value_compute() function that then calls a vfunc on the
subtype.
|
| |
|
|
|
|
|
|
|
| |
Returns a value that transitions between start and end or %NULL if the
values cannot be transitioned.
So far, all implementations but numbers and rgba return NULL.
|
|
|