summaryrefslogtreecommitdiff
path: root/gtk/gtkcsscomputedvalues.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2013-06-27 18:26:05 +0200
committerAlexander Larsson <alexl@redhat.com>2013-07-03 14:39:25 +0200
commitaf2c40bd54149237cd4ab998b5515167018fdc47 (patch)
tree09b605f0a8192ea4215863cdca2082eaf263d3a8 /gtk/gtkcsscomputedvalues.c
parent38e1748df89ef0a92b050f77529cd42cea9b3caa (diff)
downloadgtk+-af2c40bd54149237cd4ab998b5515167018fdc47.tar.gz
css: Add a scale argument to css-value compute vfunc
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.
Diffstat (limited to 'gtk/gtkcsscomputedvalues.c')
-rw-r--r--gtk/gtkcsscomputedvalues.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/gtk/gtkcsscomputedvalues.c b/gtk/gtkcsscomputedvalues.c
index dea23bdf5e..6f7d368b6b 100644
--- a/gtk/gtkcsscomputedvalues.c
+++ b/gtk/gtkcsscomputedvalues.c
@@ -113,6 +113,7 @@ maybe_unref_section (gpointer section)
void
_gtk_css_computed_values_compute_value (GtkCssComputedValues *values,
GtkStyleProviderPrivate *provider,
+ int scale,
GtkCssComputedValues *parent_values,
guint id,
GtkCssValue *specified,
@@ -142,7 +143,7 @@ _gtk_css_computed_values_compute_value (GtkCssComputedValues *values,
else
_gtk_css_value_ref (specified);
- value = _gtk_css_value_compute (specified, id, provider, values, parent_values, &dependencies);
+ value = _gtk_css_value_compute (specified, id, provider, scale, values, parent_values, &dependencies);
_gtk_css_computed_values_set_value (values, id, value, dependencies, section);
@@ -445,6 +446,7 @@ gtk_css_computed_values_create_css_animations (GtkCssComputedValues *values,
GtkCssComputedValues *parent_values,
gint64 timestamp,
GtkStyleProviderPrivate *provider,
+ int scale,
GtkCssComputedValues *source)
{
GtkCssValue *durations, *delays, *timing_functions, *animations;
@@ -489,7 +491,7 @@ gtk_css_computed_values_create_css_animations (GtkCssComputedValues *values,
if (keyframes == NULL)
continue;
- keyframes = _gtk_css_keyframes_compute (keyframes, provider, values, parent_values);
+ keyframes = _gtk_css_keyframes_compute (keyframes, provider, scale, values, parent_values);
animation = _gtk_css_animation_new (name,
keyframes,
@@ -514,11 +516,12 @@ _gtk_css_computed_values_create_animations (GtkCssComputedValues *values,
GtkCssComputedValues *parent_values,
gint64 timestamp,
GtkStyleProviderPrivate *provider,
+ int scale,
GtkCssComputedValues *source)
{
if (source != NULL)
gtk_css_computed_values_create_css_transitions (values, timestamp, source);
- gtk_css_computed_values_create_css_animations (values, parent_values, timestamp, provider, source);
+ gtk_css_computed_values_create_css_animations (values, parent_values, timestamp, provider, scale, source);
}
GtkBitmask *