summaryrefslogtreecommitdiff
path: root/gtk/gtkcsskeyframes.c
Commit message (Collapse)AuthorAgeFilesLines
* css: Add a scale argument to css-value compute vfuncAlexander Larsson2013-07-031-0/+2
| | | | | | | | 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.
* csskeyframes: unref GtkCssValues when free-ingCosimo Cecchi2012-10-161-2/+13
| | | | | We assume a reference to all the GtkCssValues we store, so we need to release it when free-ing.
* css: Huge refactoring to avoid computing wrong valuesBenjamin Otte2012-09-281-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* cssprovider: Add parsing support for @keyframesBenjamin Otte2012-09-171-0/+521