summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2015-01-31 11:56:15 +0100
committerBenjamin Otte <otte@redhat.com>2015-02-06 11:26:31 +0100
commit1116914ea03685ffbff188e48e32685a4985c2d3 (patch)
tree13ba596816f999356a705ce410e588e7dfef56c4
parent808bfe0a98ac4cd2e11ea4eed82a66470121c19b (diff)
downloadgtk+-1116914ea03685ffbff188e48e32685a4985c2d3.tar.gz
css: Move scale to GtkStyleProviderPrivatewip/mir2
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.
-rw-r--r--gtk/gtkcssanimatedstyle.c6
-rw-r--r--gtk/gtkcssanimatedstyleprivate.h1
-rw-r--r--gtk/gtkcssarrayvalue.c7
-rw-r--r--gtk/gtkcssbgsizevalue.c9
-rw-r--r--gtk/gtkcssbordervalue.c9
-rw-r--r--gtk/gtkcsscolorvalue.c23
-rw-r--r--gtk/gtkcsscornervalue.c9
-rw-r--r--gtk/gtkcsseasevalue.c5
-rw-r--r--gtk/gtkcssenginevalue.c5
-rw-r--r--gtk/gtkcssenumvalue.c18
-rw-r--r--gtk/gtkcssiconthemevalue.c1
-rw-r--r--gtk/gtkcssimage.c16
-rw-r--r--gtk/gtkcssimagebuiltin.c1
-rw-r--r--gtk/gtkcssimagegradient.c7
-rw-r--r--gtk/gtkcssimageicontheme.c9
-rw-r--r--gtk/gtkcssimagelinear.c11
-rw-r--r--gtk/gtkcssimageprivate.h10
-rw-r--r--gtk/gtkcssimagescaled.c15
-rw-r--r--gtk/gtkcssimageurl.c5
-rw-r--r--gtk/gtkcssimagevalue.c7
-rw-r--r--gtk/gtkcssinheritvalue.c14
-rw-r--r--gtk/gtkcssinitialvalue.c10
-rw-r--r--gtk/gtkcsskeyframes.c2
-rw-r--r--gtk/gtkcsskeyframesprivate.h1
-rw-r--r--gtk/gtkcsslookup.c2
-rw-r--r--gtk/gtkcsslookupprivate.h1
-rw-r--r--gtk/gtkcssnumbervalue.c31
-rw-r--r--gtk/gtkcsspositionvalue.c9
-rw-r--r--gtk/gtkcssrepeatvalue.c5
-rw-r--r--gtk/gtkcssrgbavalue.c5
-rw-r--r--gtk/gtkcssshadowsvalue.c7
-rw-r--r--gtk/gtkcssshadowvalue.c15
-rw-r--r--gtk/gtkcssstaticstyle.c8
-rw-r--r--gtk/gtkcssstaticstyleprivate.h3
-rw-r--r--gtk/gtkcssstringvalue.c5
-rw-r--r--gtk/gtkcsstransformvalue.c33
-rw-r--r--gtk/gtkcsstypedvalue.c7
-rw-r--r--gtk/gtkcssunsetvalue.c10
-rw-r--r--gtk/gtkcssvalue.c11
-rw-r--r--gtk/gtkcssvalueprivate.h10
-rw-r--r--gtk/gtkstylecascade.c9
-rw-r--r--gtk/gtkstylecontext.c4
-rw-r--r--gtk/gtkstyleproviderprivate.c14
-rw-r--r--gtk/gtkstyleproviderprivate.h2
44 files changed, 177 insertions, 215 deletions
diff --git a/gtk/gtkcssanimatedstyle.c b/gtk/gtkcssanimatedstyle.c
index 98aa930865..4583d8cc71 100644
--- a/gtk/gtkcssanimatedstyle.c
+++ b/gtk/gtkcssanimatedstyle.c
@@ -313,7 +313,6 @@ gtk_css_animated_style_create_css_animations (GSList *animation
GtkCssStyle *parent_style,
gint64 timestamp,
GtkStyleProviderPrivate *provider,
- int scale,
GtkCssStyle *source)
{
GtkCssValue *durations, *delays, *timing_functions, *animation_names;
@@ -358,7 +357,7 @@ gtk_css_animated_style_create_css_animations (GSList *animation
if (keyframes == NULL)
continue;
- keyframes = _gtk_css_keyframes_compute (keyframes, provider, scale, base_style, parent_style);
+ keyframes = _gtk_css_keyframes_compute (keyframes, provider, base_style, parent_style);
animation = _gtk_css_animation_new (name,
keyframes,
@@ -401,7 +400,6 @@ gtk_css_animated_style_new (GtkCssStyle *base_style,
GtkCssStyle *parent_style,
gint64 timestamp,
GtkStyleProviderPrivate *provider,
- int scale,
GtkCssStyle *previous_style)
{
GtkCssAnimatedStyle *result;
@@ -416,7 +414,7 @@ gtk_css_animated_style_new (GtkCssStyle *base_style,
if (previous_style != NULL)
animations = gtk_css_animated_style_create_css_transitions (animations, base_style, timestamp, previous_style);
- animations = gtk_css_animated_style_create_css_animations (animations, base_style, parent_style, timestamp, provider, scale, previous_style);
+ animations = gtk_css_animated_style_create_css_animations (animations, base_style, parent_style, timestamp, provider, previous_style);
if (animations == NULL)
return g_object_ref (base_style);
diff --git a/gtk/gtkcssanimatedstyleprivate.h b/gtk/gtkcssanimatedstyleprivate.h
index c125ebb4b8..4a6d2b975a 100644
--- a/gtk/gtkcssanimatedstyleprivate.h
+++ b/gtk/gtkcssanimatedstyleprivate.h
@@ -56,7 +56,6 @@ GtkCssStyle * gtk_css_animated_style_new (GtkCssStyle
GtkCssStyle *parent_style,
gint64 timestamp,
GtkStyleProviderPrivate *provider,
- int scale,
GtkCssStyle *previous_style);
GtkCssStyle * gtk_css_animated_style_new_advance (GtkCssAnimatedStyle *source,
GtkCssStyle *base,
diff --git a/gtk/gtkcssarrayvalue.c b/gtk/gtkcssarrayvalue.c
index 73452adabd..94226b6ea2 100644
--- a/gtk/gtkcssarrayvalue.c
+++ b/gtk/gtkcssarrayvalue.c
@@ -46,9 +46,8 @@ static GtkCssValue *
gtk_css_value_array_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssValue *result;
@@ -59,7 +58,7 @@ gtk_css_value_array_compute (GtkCssValue *value,
result = NULL;
for (i = 0; i < value->n_values; i++)
{
- i_value = _gtk_css_value_compute (value->values[i], property_id, provider, scale, values, parent_values, &child_deps);
+ i_value = _gtk_css_value_compute (value->values[i], property_id, provider, style, parent_style, &child_deps);
*dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
diff --git a/gtk/gtkcssbgsizevalue.c b/gtk/gtkcssbgsizevalue.c
index ef8c525e33..7fb2de4f65 100644
--- a/gtk/gtkcssbgsizevalue.c
+++ b/gtk/gtkcssbgsizevalue.c
@@ -44,9 +44,8 @@ static GtkCssValue *
gtk_css_value_bg_size_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssValue *x, *y;
@@ -59,10 +58,10 @@ gtk_css_value_bg_size_compute (GtkCssValue *value,
x = y = NULL;
if (value->x)
- x = _gtk_css_value_compute (value->x, property_id, provider, scale, values, parent_values, &x_deps);
+ x = _gtk_css_value_compute (value->x, property_id, provider, style, parent_style, &x_deps);
if (value->y)
- y = _gtk_css_value_compute (value->y, property_id, provider, scale, values, parent_values, &y_deps);
+ y = _gtk_css_value_compute (value->y, property_id, provider, style, parent_style, &y_deps);
*dependencies = _gtk_css_dependencies_union (x_deps, y_deps);
diff --git a/gtk/gtkcssbordervalue.c b/gtk/gtkcssbordervalue.c
index edf0c67145..146616d28f 100644
--- a/gtk/gtkcssbordervalue.c
+++ b/gtk/gtkcssbordervalue.c
@@ -45,10 +45,9 @@ static GtkCssValue *
gtk_css_value_border_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
- GtkCssDependencies *dependencies)
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
+ GtkCssDependencies *dependencies)
{
GtkCssValue *computed;
GtkCssDependencies child_deps;
@@ -62,7 +61,7 @@ gtk_css_value_border_compute (GtkCssValue *value,
{
if (value->values[i])
{
- computed->values[i] = _gtk_css_value_compute (value->values[i], property_id, provider, scale, values, parent_values, &child_deps);
+ computed->values[i] = _gtk_css_value_compute (value->values[i], property_id, provider, style, parent_style, &child_deps);
*dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
changed |= (computed->values[i] != value->values[i]);
}
diff --git a/gtk/gtkcsscolorvalue.c b/gtk/gtkcsscolorvalue.c
index b9b247d2d6..dcc641033a 100644
--- a/gtk/gtkcsscolorvalue.c
+++ b/gtk/gtkcsscolorvalue.c
@@ -100,9 +100,8 @@ gtk_css_value_color_free (GtkCssValue *color)
static GtkCssValue *
gtk_css_value_color_get_fallback (guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values)
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style)
{
static const GdkRGBA transparent = { 0, 0, 0, 0 };
@@ -124,9 +123,8 @@ gtk_css_value_color_get_fallback (guint property_id,
return _gtk_css_value_compute (_gtk_css_style_property_get_initial_value (_gtk_css_style_property_lookup_by_id (property_id)),
property_id,
provider,
- scale,
- values,
- parent_values,
+ style,
+ parent_style,
NULL);
default:
if (property_id < GTK_CSS_PROPERTY_N_PROPERTIES)
@@ -302,9 +300,8 @@ static GtkCssValue *
gtk_css_value_color_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssValue *resolved, *current;
@@ -316,9 +313,9 @@ gtk_css_value_color_compute (GtkCssValue *value,
*/
if (property_id == GTK_CSS_PROPERTY_COLOR)
{
- if (parent_values)
+ if (parent_style)
{
- current = gtk_css_style_get_value (parent_values, GTK_CSS_PROPERTY_COLOR);
+ current = gtk_css_style_get_value (parent_style, GTK_CSS_PROPERTY_COLOR);
current_deps = GTK_CSS_EQUALS_PARENT;
}
else
@@ -329,7 +326,7 @@ gtk_css_value_color_compute (GtkCssValue *value,
}
else
{
- current = gtk_css_style_get_value (values, GTK_CSS_PROPERTY_COLOR);
+ current = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_COLOR);
current_deps = GTK_CSS_DEPENDS_ON_COLOR;
}
@@ -341,7 +338,7 @@ gtk_css_value_color_compute (GtkCssValue *value,
NULL);
if (resolved == NULL)
- return gtk_css_value_color_get_fallback (property_id, provider, scale, values, parent_values);
+ return gtk_css_value_color_get_fallback (property_id, provider, style, parent_style);
return resolved;
}
diff --git a/gtk/gtkcsscornervalue.c b/gtk/gtkcsscornervalue.c
index d97737207a..1eaee72056 100644
--- a/gtk/gtkcsscornervalue.c
+++ b/gtk/gtkcsscornervalue.c
@@ -40,16 +40,15 @@ static GtkCssValue *
gtk_css_value_corner_compute (GtkCssValue *corner,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssValue *x, *y;
GtkCssDependencies x_deps, y_deps;
- x = _gtk_css_value_compute (corner->x, property_id, provider, scale, values, parent_values, &x_deps);
- y = _gtk_css_value_compute (corner->y, property_id, provider, scale, values, parent_values, &y_deps);
+ x = _gtk_css_value_compute (corner->x, property_id, provider, style, parent_style, &x_deps);
+ y = _gtk_css_value_compute (corner->y, property_id, provider, style, parent_style, &y_deps);
*dependencies = _gtk_css_dependencies_union (x_deps, y_deps);
if (x == corner->x && y == corner->y)
{
diff --git a/gtk/gtkcsseasevalue.c b/gtk/gtkcsseasevalue.c
index e1ec50d308..2e5ff3b86d 100644
--- a/gtk/gtkcsseasevalue.c
+++ b/gtk/gtkcsseasevalue.c
@@ -53,9 +53,8 @@ static GtkCssValue *
gtk_css_value_ease_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
return _gtk_css_value_ref (value);
diff --git a/gtk/gtkcssenginevalue.c b/gtk/gtkcssenginevalue.c
index 554a894944..ce2a5e4766 100644
--- a/gtk/gtkcssenginevalue.c
+++ b/gtk/gtkcssenginevalue.c
@@ -39,9 +39,8 @@ static GtkCssValue *
gtk_css_value_engine_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
return _gtk_css_value_ref (value);
diff --git a/gtk/gtkcssenumvalue.c b/gtk/gtkcssenumvalue.c
index 15140520ef..49833df092 100644
--- a/gtk/gtkcssenumvalue.c
+++ b/gtk/gtkcssenumvalue.c
@@ -41,9 +41,8 @@ static GtkCssValue *
gtk_css_value_enum_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
return _gtk_css_value_ref (value);
@@ -165,9 +164,8 @@ static GtkCssValue *
gtk_css_value_font_size_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
double font_size;
@@ -200,8 +198,8 @@ gtk_css_value_font_size_compute (GtkCssValue *value,
break;
case GTK_CSS_FONT_SIZE_SMALLER:
*dependencies = GTK_CSS_DEPENDS_ON_PARENT;
- if (parent_values)
- font_size = _gtk_css_number_value_get (gtk_css_style_get_value (parent_values, GTK_CSS_PROPERTY_FONT_SIZE), 100);
+ if (parent_style)
+ font_size = _gtk_css_number_value_get (gtk_css_style_get_value (parent_style, GTK_CSS_PROPERTY_FONT_SIZE), 100);
else
font_size = _gtk_css_font_size_get_default (provider);
/* XXX: This is what WebKit does... */
@@ -209,8 +207,8 @@ gtk_css_value_font_size_compute (GtkCssValue *value,
break;
case GTK_CSS_FONT_SIZE_LARGER:
*dependencies = GTK_CSS_DEPENDS_ON_PARENT;
- if (parent_values)
- font_size = _gtk_css_number_value_get (gtk_css_style_get_value (parent_values, GTK_CSS_PROPERTY_FONT_SIZE), 100);
+ if (parent_style)
+ font_size = _gtk_css_number_value_get (gtk_css_style_get_value (parent_style, GTK_CSS_PROPERTY_FONT_SIZE), 100);
else
font_size = _gtk_css_font_size_get_default (provider);
/* XXX: This is what WebKit does... */
diff --git a/gtk/gtkcssiconthemevalue.c b/gtk/gtkcssiconthemevalue.c
index 8422f2cbc6..305e71384b 100644
--- a/gtk/gtkcssiconthemevalue.c
+++ b/gtk/gtkcssiconthemevalue.c
@@ -73,7 +73,6 @@ static GtkCssValue *
gtk_css_value_icon_theme_compute (GtkCssValue *icon_theme,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
GtkCssStyle *style,
GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
diff --git a/gtk/gtkcssimage.c b/gtk/gtkcssimage.c
index bdcbcf3c80..2b7cfa3c07 100644
--- a/gtk/gtkcssimage.c
+++ b/gtk/gtkcssimage.c
@@ -64,9 +64,8 @@ static GtkCssImage *
gtk_css_image_real_compute (GtkCssImage *image,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
return g_object_ref (image);
@@ -149,17 +148,16 @@ GtkCssImage *
_gtk_css_image_compute (GtkCssImage *image,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssDependencies unused;
GtkCssImageClass *klass;
g_return_val_if_fail (GTK_IS_CSS_IMAGE (image), NULL);
- g_return_val_if_fail (GTK_IS_CSS_STYLE (values), NULL);
- g_return_val_if_fail (parent_values == NULL || GTK_IS_CSS_STYLE (parent_values), NULL);
+ g_return_val_if_fail (GTK_IS_CSS_STYLE (style), NULL);
+ g_return_val_if_fail (parent_style == NULL || GTK_IS_CSS_STYLE (parent_style), NULL);
if (dependencies == NULL)
dependencies = &unused;
@@ -167,7 +165,7 @@ _gtk_css_image_compute (GtkCssImage *image,
klass = GTK_CSS_IMAGE_GET_CLASS (image);
- return klass->compute (image, property_id, provider, scale, values, parent_values, dependencies);
+ return klass->compute (image, property_id, provider, style, parent_style, dependencies);
}
GtkCssImage *
diff --git a/gtk/gtkcssimagebuiltin.c b/gtk/gtkcssimagebuiltin.c
index 3ee9bd5c96..17508c7969 100644
--- a/gtk/gtkcssimagebuiltin.c
+++ b/gtk/gtkcssimagebuiltin.c
@@ -805,7 +805,6 @@ static GtkCssImage *
gtk_css_image_builtin_compute (GtkCssImage *image,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
GtkCssStyle *style,
GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
diff --git a/gtk/gtkcssimagegradient.c b/gtk/gtkcssimagegradient.c
index 8be1957dd6..3758def4e3 100644
--- a/gtk/gtkcssimagegradient.c
+++ b/gtk/gtkcssimagegradient.c
@@ -34,9 +34,8 @@ static GtkCssImage *
gtk_css_image_gradient_compute (GtkCssImage *image,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssImageGradient *gradient = GTK_CSS_IMAGE_GRADIENT (image);
@@ -47,7 +46,7 @@ gtk_css_image_gradient_compute (GtkCssImage *image,
copy = g_object_new (GTK_TYPE_CSS_IMAGE_GRADIENT, NULL);
copy->gradient = gtk_gradient_ref (gradient->gradient);
- copy->pattern = _gtk_gradient_resolve_full (copy->gradient, provider, values, parent_values, dependencies);
+ copy->pattern = _gtk_gradient_resolve_full (copy->gradient, provider, style, parent_style, dependencies);
return GTK_CSS_IMAGE (copy);
}
diff --git a/gtk/gtkcssimageicontheme.c b/gtk/gtkcssimageicontheme.c
index 799724bcc6..458928c361 100644
--- a/gtk/gtkcssimageicontheme.c
+++ b/gtk/gtkcssimageicontheme.c
@@ -128,9 +128,8 @@ static GtkCssImage *
gtk_css_image_icon_theme_compute (GtkCssImage *image,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssImageIconTheme *icon_theme = GTK_CSS_IMAGE_ICON_THEME (image);
@@ -147,8 +146,8 @@ gtk_css_image_icon_theme_compute (GtkCssImage *image,
copy = g_object_new (GTK_TYPE_CSS_IMAGE_ICON_THEME, NULL);
copy->name = g_strdup (icon_theme->name);
copy->icon_theme = gtk_icon_theme_get_for_screen (screen);
- copy->scale = scale;
- copy->color = *_gtk_css_rgba_value_get_rgba (gtk_css_style_get_value (values, GTK_CSS_PROPERTY_COLOR));
+ copy->scale = _gtk_style_provider_private_get_scale (provider);
+ copy->color = *_gtk_css_rgba_value_get_rgba (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_COLOR));
*dependencies = GTK_CSS_DEPENDS_ON_COLOR;
diff --git a/gtk/gtkcssimagelinear.c b/gtk/gtkcssimagelinear.c
index f8ee0b2bc2..ac6310c6a5 100644
--- a/gtk/gtkcssimagelinear.c
+++ b/gtk/gtkcssimagelinear.c
@@ -431,9 +431,8 @@ static GtkCssImage *
gtk_css_image_linear_compute (GtkCssImage *image,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssImageLinear *linear = GTK_CSS_IMAGE_LINEAR (image);
@@ -443,7 +442,7 @@ gtk_css_image_linear_compute (GtkCssImage *image,
copy = g_object_new (GTK_TYPE_CSS_IMAGE_LINEAR, NULL);
copy->repeating = linear->repeating;
- copy->angle = _gtk_css_value_compute (linear->angle, property_id, provider, scale, values, parent_values, dependencies);
+ copy->angle = _gtk_css_value_compute (linear->angle, property_id, provider, style, parent_style, dependencies);
g_array_set_size (copy->stops, linear->stops->len);
for (i = 0; i < linear->stops->len; i++)
@@ -454,12 +453,12 @@ gtk_css_image_linear_compute (GtkCssImage *image,
stop = &g_array_index (linear->stops, GtkCssImageLinearColorStop, i);
scopy = &g_array_index (copy->stops, GtkCssImageLinearColorStop, i);
- scopy->color = _gtk_css_value_compute (stop->color, property_id, provider, scale, values, parent_values, &child_deps);
+ scopy->color = _gtk_css_value_compute (stop->color, property_id, provider, style, parent_style, &child_deps);
*dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
if (stop->offset)
{
- scopy->offset = _gtk_css_value_compute (stop->offset, property_id, provider, scale, values, parent_values, &child_deps);
+ scopy->offset = _gtk_css_value_compute (stop->offset, property_id, provider, style, parent_style, &child_deps);
*dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
}
else
diff --git a/gtk/gtkcssimageprivate.h b/gtk/gtkcssimageprivate.h
index b253a2fe2a..5c53f39644 100644
--- a/gtk/gtkcssimageprivate.h
+++ b/gtk/gtkcssimageprivate.h
@@ -58,9 +58,8 @@ struct _GtkCssImageClass
GtkCssImage *(* compute) (GtkCssImage *image,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies);
/* compare two images for equality */
gboolean (* equal) (GtkCssImage *image1,
@@ -96,9 +95,8 @@ double _gtk_css_image_get_aspect_ratio (GtkCssImage *
GtkCssImage * _gtk_css_image_compute (GtkCssImage *image,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies);
gboolean _gtk_css_image_equal (GtkCssImage *image1,
GtkCssImage *image2);
diff --git a/gtk/gtkcssimagescaled.c b/gtk/gtkcssimagescaled.c
index b0093385e8..9bc2061ac1 100644
--- a/gtk/gtkcssimagescaled.c
+++ b/gtk/gtkcssimagescaled.c
@@ -21,6 +21,8 @@
#include "gtkcssimagescaledprivate.h"
+#include "gtkstyleproviderprivate.h"
+
G_DEFINE_TYPE (GtkCssImageScaled, _gtk_css_image_scaled, GTK_TYPE_CSS_IMAGE)
static int
@@ -94,15 +96,15 @@ static GtkCssImage *
gtk_css_image_scaled_compute (GtkCssImage *image,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssImageScaled *scaled = GTK_CSS_IMAGE_SCALED (image);
GtkCssImageScaled *copy;
- int i;
+ int i, scale;
+ scale = _gtk_style_provider_private_get_scale (provider);
scale = MAX(MIN (scale, scaled->n_images), 1);
if (scaled->scale == scale)
@@ -119,9 +121,8 @@ gtk_css_image_scaled_compute (GtkCssImage *image,
copy->images[i] = _gtk_css_image_compute (scaled->images[i],
property_id,
provider,
- scale,
- values,
- parent_values,
+ style,
+ parent_style,
dependencies);
else
copy->images[i] = g_object_ref (scaled->images[i]);
diff --git a/gtk/gtkcssimageurl.c b/gtk/gtkcssimageurl.c
index e04b9f2e7d..136a02e75b 100644
--- a/gtk/gtkcssimageurl.c
+++ b/gtk/gtkcssimageurl.c
@@ -123,9 +123,8 @@ static GtkCssImage *
gtk_css_image_url_compute (GtkCssImage *image,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssImageUrl *url = GTK_CSS_IMAGE_URL (image);
diff --git a/gtk/gtkcssimagevalue.c b/gtk/gtkcssimagevalue.c
index febfef9d38..86d81455b6 100644
--- a/gtk/gtkcssimagevalue.c
+++ b/gtk/gtkcssimagevalue.c
@@ -37,9 +37,8 @@ static GtkCssValue *
gtk_css_value_image_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssImage *image, *computed;
@@ -49,7 +48,7 @@ gtk_css_value_image_compute (GtkCssValue *value,
if (image == NULL)
return _gtk_css_value_ref (value);
- computed = _gtk_css_image_compute (image, property_id, provider, scale, values, parent_values, dependencies);
+ computed = _gtk_css_image_compute (image, property_id, provider, style, parent_style, dependencies);
if (computed == image)
{
diff --git a/gtk/gtkcssinheritvalue.c b/gtk/gtkcssinheritvalue.c
index 90dae5e163..cf7549829c 100644
--- a/gtk/gtkcssinheritvalue.c
+++ b/gtk/gtkcssinheritvalue.c
@@ -37,24 +37,22 @@ static GtkCssValue *
gtk_css_value_inherit_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
- if (parent_values)
+ if (parent_style)
{
*dependencies = GTK_CSS_EQUALS_PARENT;
- return _gtk_css_value_ref (gtk_css_style_get_value (parent_values, property_id));
+ return _gtk_css_value_ref (gtk_css_style_get_value (parent_style, property_id));
}
else
{
return _gtk_css_value_compute (_gtk_css_initial_value_get (),
property_id,
provider,
- scale,
- values,
- parent_values,
+ style,
+ parent_style,
dependencies);
}
}
diff --git a/gtk/gtkcssinitialvalue.c b/gtk/gtkcssinitialvalue.c
index 0a16cb940c..5b1be1019c 100644
--- a/gtk/gtkcssinitialvalue.c
+++ b/gtk/gtkcssinitialvalue.c
@@ -41,9 +41,8 @@ static GtkCssValue *
gtk_css_value_initial_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkSettings *settings;
@@ -94,9 +93,8 @@ gtk_css_value_initial_compute (GtkCssValue *value,
return _gtk_css_value_compute (_gtk_css_style_property_get_initial_value (_gtk_css_style_property_lookup_by_id (property_id)),
property_id,
provider,
- scale,
- values,
- parent_values,
+ style,
+ parent_style,
dependencies);
}
diff --git a/gtk/gtkcsskeyframes.c b/gtk/gtkcsskeyframes.c
index e40bdad157..02605ad947 100644
--- a/gtk/gtkcsskeyframes.c
+++ b/gtk/gtkcsskeyframes.c
@@ -437,7 +437,6 @@ _gtk_css_keyframes_print (GtkCssKeyframes *keyframes,
GtkCssKeyframes *
_gtk_css_keyframes_compute (GtkCssKeyframes *keyframes,
GtkStyleProviderPrivate *provider,
- int scale,
GtkCssStyle *style,
GtkCssStyle *parent_style)
{
@@ -466,7 +465,6 @@ _gtk_css_keyframes_compute (GtkCssKeyframes *keyframes,
KEYFRAMES_VALUE (resolved, k, p) = _gtk_css_value_compute (KEYFRAMES_VALUE (keyframes, k, p),
resolved->property_ids[p],
provider,
- scale,
style,
parent_style,
NULL);
diff --git a/gtk/gtkcsskeyframesprivate.h b/gtk/gtkcsskeyframesprivate.h
index 0b88d638a4..b9dc13e627 100644
--- a/gtk/gtkcsskeyframesprivate.h
+++ b/gtk/gtkcsskeyframesprivate.h
@@ -38,7 +38,6 @@ void _gtk_css_keyframes_print (GtkCssKeyframes
GtkCssKeyframes * _gtk_css_keyframes_compute (GtkCssKeyframes *keyframes,
GtkStyleProviderPrivate *provider,
- int scale,
GtkCssStyle *style,
GtkCssStyle *parent_style);
diff --git a/gtk/gtkcsslookup.c b/gtk/gtkcsslookup.c
index c48223194d..66fe47213b 100644
--- a/gtk/gtkcsslookup.c
+++ b/gtk/gtkcsslookup.c
@@ -105,7 +105,6 @@ _gtk_css_lookup_set (GtkCssLookup *lookup,
void
_gtk_css_lookup_resolve (GtkCssLookup *lookup,
GtkStyleProviderPrivate *provider,
- int scale,
GtkCssStaticStyle *style,
GtkCssStyle *parent_style)
{
@@ -124,7 +123,6 @@ _gtk_css_lookup_resolve (GtkCssLookup *lookup,
_gtk_bitmask_get (lookup->missing, i))
gtk_css_static_style_compute_value (GTK_CSS_STATIC_STYLE (style),
provider,
- scale,
parent_style,
i,
lookup->values[i].value,
diff --git a/gtk/gtkcsslookupprivate.h b/gtk/gtkcsslookupprivate.h
index 62c6a30768..cb504661c1 100644
--- a/gtk/gtkcsslookupprivate.h
+++ b/gtk/gtkcsslookupprivate.h
@@ -50,7 +50,6 @@ void _gtk_css_lookup_set (GtkCssLookup
GtkCssValue *value);
void _gtk_css_lookup_resolve (GtkCssLookup *lookup,
GtkStyleProviderPrivate *provider,
- int scale,
GtkCssStaticStyle *style,
GtkCssStyle *parent_style);
diff --git a/gtk/gtkcssnumbervalue.c b/gtk/gtkcssnumbervalue.c
index 1c95317351..009c9704f7 100644
--- a/gtk/gtkcssnumbervalue.c
+++ b/gtk/gtkcssnumbervalue.c
@@ -38,30 +38,29 @@ gtk_css_value_number_free (GtkCssValue *value)
static double
get_base_font_size (guint property_id,
GtkStyleProviderPrivate *provider,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
if (property_id == GTK_CSS_PROPERTY_FONT_SIZE)
{
*dependencies = GTK_CSS_DEPENDS_ON_PARENT;
- if (parent_values)
- return _gtk_css_number_value_get (gtk_css_style_get_value (parent_values, GTK_CSS_PROPERTY_FONT_SIZE), 100);
+ if (parent_style)
+ return _gtk_css_number_value_get (gtk_css_style_get_value (parent_style, GTK_CSS_PROPERTY_FONT_SIZE), 100);
else
return _gtk_css_font_size_get_default (provider);
}
*dependencies = GTK_CSS_DEPENDS_ON_FONT_SIZE;
- return _gtk_css_number_value_get (gtk_css_style_get_value (values, GTK_CSS_PROPERTY_FONT_SIZE), 100);
+ return _gtk_css_number_value_get (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_FONT_SIZE), 100);
}
static GtkCssValue *
gtk_css_value_number_compute (GtkCssValue *number,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkBorderStyle border_style;
@@ -70,27 +69,27 @@ gtk_css_value_number_compute (GtkCssValue *number,
switch (property_id)
{
case GTK_CSS_PROPERTY_BORDER_TOP_WIDTH:
- border_style = _gtk_css_border_style_value_get(gtk_css_style_get_value (values, GTK_CSS_PROPERTY_BORDER_TOP_STYLE));
+ border_style = _gtk_css_border_style_value_get(gtk_css_style_get_value (style, GTK_CSS_PROPERTY_BORDER_TOP_STYLE));
if (border_style == GTK_BORDER_STYLE_NONE || border_style == GTK_BORDER_STYLE_HIDDEN)
return _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
break;
case GTK_CSS_PROPERTY_BORDER_RIGHT_WIDTH:
- border_style = _gtk_css_border_style_value_get(gtk_css_style_get_value (values, GTK_CSS_PROPERTY_BORDER_RIGHT_STYLE));
+ border_style = _gtk_css_border_style_value_get(gtk_css_style_get_value (style, GTK_CSS_PROPERTY_BORDER_RIGHT_STYLE));
if (border_style == GTK_BORDER_STYLE_NONE || border_style == GTK_BORDER_STYLE_HIDDEN)
return _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
break;
case GTK_CSS_PROPERTY_BORDER_BOTTOM_WIDTH:
- border_style = _gtk_css_border_style_value_get(gtk_css_style_get_value (values, GTK_CSS_PROPERTY_BORDER_BOTTOM_STYLE));
+ border_style = _gtk_css_border_style_value_get(gtk_css_style_get_value (style, GTK_CSS_PROPERTY_BORDER_BOTTOM_STYLE));
if (border_style == GTK_BORDER_STYLE_NONE || border_style == GTK_BORDER_STYLE_HIDDEN)
return _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
break;
case GTK_CSS_PROPERTY_BORDER_LEFT_WIDTH:
- border_style = _gtk_css_border_style_value_get(gtk_css_style_get_value (values, GTK_CSS_PROPERTY_BORDER_LEFT_STYLE));
+ border_style = _gtk_css_border_style_value_get(gtk_css_style_get_value (style, GTK_CSS_PROPERTY_BORDER_LEFT_STYLE));
if (border_style == GTK_BORDER_STYLE_NONE || border_style == GTK_BORDER_STYLE_HIDDEN)
return _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
break;
case GTK_CSS_PROPERTY_OUTLINE_WIDTH:
- border_style = _gtk_css_border_style_value_get(gtk_css_style_get_value (values, GTK_CSS_PROPERTY_OUTLINE_STYLE));
+ border_style = _gtk_css_border_style_value_get(gtk_css_style_get_value (style, GTK_CSS_PROPERTY_OUTLINE_STYLE));
if (border_style == GTK_BORDER_STYLE_NONE || border_style == GTK_BORDER_STYLE_HIDDEN)
return _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
break;
@@ -107,7 +106,7 @@ gtk_css_value_number_compute (GtkCssValue *number,
/* percentages for font sizes are computed, other percentages aren't */
if (property_id == GTK_CSS_PROPERTY_FONT_SIZE)
return _gtk_css_number_value_new (number->value / 100.0 *
- get_base_font_size (property_id, provider, values, parent_values, dependencies),
+ get_base_font_size (property_id, provider, style, parent_style, dependencies),
GTK_CSS_PX);
case GTK_CSS_NUMBER:
case GTK_CSS_PX:
@@ -135,13 +134,13 @@ gtk_css_value_number_compute (GtkCssValue *number,
break;
case GTK_CSS_EM:
return _gtk_css_number_value_new (number->value *
- get_base_font_size (property_id, provider, values, parent_values, dependencies),
+ get_base_font_size (property_id, provider, style, parent_style, dependencies),
GTK_CSS_PX);
break;
case GTK_CSS_EX:
/* for now we pretend ex is half of em */
return _gtk_css_number_value_new (number->value * 0.5 *
- get_base_font_size (property_id, provider, values, parent_values, dependencies),
+ get_base_font_size (property_id, provider, style, parent_style, dependencies),
GTK_CSS_PX);
case GTK_CSS_RAD:
return _gtk_css_number_value_new (number->value * 360.0 / (2 * G_PI),
diff --git a/gtk/gtkcsspositionvalue.c b/gtk/gtkcsspositionvalue.c
index 371ec69641..ef750fc12e 100644
--- a/gtk/gtkcsspositionvalue.c
+++ b/gtk/gtkcsspositionvalue.c
@@ -40,16 +40,15 @@ static GtkCssValue *
gtk_css_value_position_compute (GtkCssValue *position,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssValue *x, *y;
GtkCssDependencies x_deps, y_deps;
- x = _gtk_css_value_compute (position->x, property_id, provider, scale, values, parent_values, &x_deps);
- y = _gtk_css_value_compute (position->y, property_id, provider, scale, values, parent_values, &y_deps);
+ x = _gtk_css_value_compute (position->x, property_id, provider, style, parent_style, &x_deps);
+ y = _gtk_css_value_compute (position->y, property_id, provider, style, parent_style, &y_deps);
*dependencies = _gtk_css_dependencies_union (x_deps, y_deps);
if (x == position->x && y == position->y)
{
diff --git a/gtk/gtkcssrepeatvalue.c b/gtk/gtkcssrepeatvalue.c
index efc89e89bb..c121757528 100644
--- a/gtk/gtkcssrepeatvalue.c
+++ b/gtk/gtkcssrepeatvalue.c
@@ -37,9 +37,8 @@ static GtkCssValue *
gtk_css_value_repeat_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
return _gtk_css_value_ref (value);
diff --git a/gtk/gtkcssrgbavalue.c b/gtk/gtkcssrgbavalue.c
index f994819a73..fde22fe285 100644
--- a/gtk/gtkcssrgbavalue.c
+++ b/gtk/gtkcssrgbavalue.c
@@ -37,9 +37,8 @@ static GtkCssValue *
gtk_css_value_rgba_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
return _gtk_css_value_ref (value);
diff --git a/gtk/gtkcssshadowsvalue.c b/gtk/gtkcssshadowsvalue.c
index f0bae5c793..0009469438 100644
--- a/gtk/gtkcssshadowsvalue.c
+++ b/gtk/gtkcssshadowsvalue.c
@@ -54,9 +54,8 @@ static GtkCssValue *
gtk_css_value_shadows_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssValue *result;
@@ -69,7 +68,7 @@ gtk_css_value_shadows_compute (GtkCssValue *value,
result = gtk_css_shadows_value_new (value->values, value->len);
for (i = 0; i < value->len; i++)
{
- result->values[i] = _gtk_css_value_compute (value->values[i], property_id, provider, scale, values, parent_values, &child_deps);
+ result->values[i] = _gtk_css_value_compute (value->values[i], property_id, provider, style, parent_style, &child_deps);
*dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
}
diff --git a/gtk/gtkcssshadowvalue.c b/gtk/gtkcssshadowvalue.c
index d7f3963200..36e9840997 100644
--- a/gtk/gtkcssshadowvalue.c
+++ b/gtk/gtkcssshadowvalue.c
@@ -66,32 +66,31 @@ static GtkCssValue *
gtk_css_value_shadow_compute (GtkCssValue *shadow,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssValue *hoffset, *voffset, *radius, *spread, *color;
GtkCssDependencies child_deps;
child_deps = 0;
- hoffset = _gtk_css_value_compute (shadow->hoffset, property_id, provider, scale, values, parent_values, &child_deps);
+ hoffset = _gtk_css_value_compute (shadow->hoffset, property_id, provider, style, parent_style, &child_deps);
*dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
child_deps = 0;
- voffset = _gtk_css_value_compute (shadow->voffset, property_id, provider, scale, values, parent_values, &child_deps);
+ voffset = _gtk_css_value_compute (shadow->voffset, property_id, provider, style, parent_style, &child_deps);
*dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
child_deps = 0;
- radius = _gtk_css_value_compute (shadow->radius, property_id, provider, scale, values, parent_values, &child_deps);
+ radius = _gtk_css_value_compute (shadow->radius, property_id, provider, style, parent_style, &child_deps);
*dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
child_deps = 0;
- spread = _gtk_css_value_compute (shadow->spread, property_id, provider, scale, values, parent_values, &child_deps),
+ spread = _gtk_css_value_compute (shadow->spread, property_id, provider, style, parent_style, &child_deps),
*dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
child_deps = 0;
- color = _gtk_css_value_compute (shadow->color, property_id, provider, scale, values, parent_values, &child_deps);
+ color = _gtk_css_value_compute (shadow->color, property_id, provider, style, parent_style, &child_deps);
*dependencies = _gtk_css_dependencies_union (*dependencies, child_deps);
return gtk_css_shadow_value_new (hoffset, voffset, radius, spread, shadow->inset, color);
diff --git a/gtk/gtkcssstaticstyle.c b/gtk/gtkcssstaticstyle.c
index a127b69968..9b0e3d457f 100644
--- a/gtk/gtkcssstaticstyle.c
+++ b/gtk/gtkcssstaticstyle.c
@@ -198,7 +198,6 @@ gtk_css_static_style_get_default (void)
result = gtk_css_static_style_new_compute (GTK_STYLE_PROVIDER_PRIVATE (settings),
NULL,
- 1,
NULL);
g_object_set_qdata_full (G_OBJECT (settings), style_quark, result, g_object_unref);
@@ -208,7 +207,6 @@ gtk_css_static_style_get_default (void)
GtkCssStyle *
gtk_css_static_style_new_compute (GtkStyleProviderPrivate *provider,
const GtkCssMatcher *matcher,
- int scale,
GtkCssStyle *parent)
{
GtkCssStaticStyle *result;
@@ -229,7 +227,6 @@ gtk_css_static_style_new_compute (GtkStyleProviderPrivate *provider,
_gtk_css_lookup_resolve (lookup,
provider,
- scale,
result,
parent);
@@ -243,7 +240,6 @@ gtk_css_static_style_new_update (GtkCssStaticStyle *style,
const GtkBitmask *parent_changes,
GtkStyleProviderPrivate *provider,
const GtkCssMatcher *matcher,
- int scale,
GtkCssStyle *parent)
{
GtkCssStaticStyle *result;
@@ -295,7 +291,6 @@ gtk_css_static_style_new_update (GtkCssStaticStyle *style,
_gtk_css_lookup_resolve (lookup,
provider,
- scale,
result,
parent);
@@ -308,7 +303,6 @@ gtk_css_static_style_new_update (GtkCssStaticStyle *style,
void
gtk_css_static_style_compute_value (GtkCssStaticStyle *style,
GtkStyleProviderPrivate *provider,
- int scale,
GtkCssStyle *parent_style,
guint id,
GtkCssValue *specified,
@@ -338,7 +332,7 @@ gtk_css_static_style_compute_value (GtkCssStaticStyle *style,
else
_gtk_css_value_ref (specified);
- value = _gtk_css_value_compute (specified, id, provider, scale, GTK_CSS_STYLE (style), parent_style, &dependencies);
+ value = _gtk_css_value_compute (specified, id, provider, GTK_CSS_STYLE (style), parent_style, &dependencies);
gtk_css_static_style_set_value (style, id, value, section);
diff --git a/gtk/gtkcssstaticstyleprivate.h b/gtk/gtkcssstaticstyleprivate.h
index 281a6f1d74..6abc20541f 100644
--- a/gtk/gtkcssstaticstyleprivate.h
+++ b/gtk/gtkcssstaticstyleprivate.h
@@ -60,18 +60,15 @@ GType gtk_css_static_style_get_type (void) G_GNUC_CO
GtkCssStyle * gtk_css_static_style_get_default (void);
GtkCssStyle * gtk_css_static_style_new_compute (GtkStyleProviderPrivate *provider,
const GtkCssMatcher *matcher,
- int scale,
GtkCssStyle *parent);
GtkCssStyle * gtk_css_static_style_new_update (GtkCssStaticStyle *style,
const GtkBitmask *parent_changes,
GtkStyleProviderPrivate *provider,
const GtkCssMatcher *matcher,
- int scale,
GtkCssStyle *parent);
void gtk_css_static_style_compute_value (GtkCssStaticStyle *style,
GtkStyleProviderPrivate*provider,
- int scale,
GtkCssStyle *parent_style,
guint id,
GtkCssValue *specified,
diff --git a/gtk/gtkcssstringvalue.c b/gtk/gtkcssstringvalue.c
index ee62822f8a..95353a2a05 100644
--- a/gtk/gtkcssstringvalue.c
+++ b/gtk/gtkcssstringvalue.c
@@ -37,9 +37,8 @@ static GtkCssValue *
gtk_css_value_string_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
return _gtk_css_value_ref (value);
diff --git a/gtk/gtkcsstransformvalue.c b/gtk/gtkcsstransformvalue.c
index 901f093942..beaf4662e5 100644
--- a/gtk/gtkcsstransformvalue.c
+++ b/gtk/gtkcsstransformvalue.c
@@ -231,9 +231,8 @@ gtk_css_transform_compute (GtkCssTransform *dest,
GtkCssTransform *src,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssDependencies x_deps, y_deps;
@@ -246,33 +245,33 @@ gtk_css_transform_compute (GtkCssTransform *dest,
return TRUE;
case GTK_CSS_TRANSFORM_TRANSLATE:
x_deps = y_deps = 0;
- dest->translate.x = _gtk_css_value_compute (src->translate.x, property_id, provider, scale, values, parent_values, &x_deps);
- dest->translate.y = _gtk_css_value_compute (src->translate.y, property_id, provider, scale, values, parent_values, &y_deps);
+ dest->translate.x = _gtk_css_value_compute (src->translate.x, property_id, provider, style, parent_style, &x_deps);
+ dest->translate.y = _gtk_css_value_compute (src->translate.y, property_id, provider, style, parent_style, &y_deps);
*dependencies = _gtk_css_dependencies_union (x_deps, y_deps);
return dest->translate.x == src->translate.x
&& dest->translate.y == src->translate.y;
case GTK_CSS_TRANSFORM_ROTATE:
- dest->rotate.rotate = _gtk_css_value_compute (src->rotate.rotate, property_id, provider, scale, values, parent_values, dependencies);
+ dest->rotate.rotate = _gtk_css_value_compute (src->rotate.rotate, property_id, provider, style, parent_style, dependencies);
return dest->rotate.rotate == src->rotate.rotate;
case GTK_CSS_TRANSFORM_SCALE:
x_deps = y_deps = 0;
- dest->scale.x = _gtk_css_value_compute (src->scale.x, property_id, provider, scale, values, parent_values, &x_deps);
- dest->scale.y = _gtk_css_value_compute (src->scale.y, property_id, provider, scale, values, parent_values, &y_deps);
+ dest->scale.x = _gtk_css_value_compute (src->scale.x, property_id, provider, style, parent_style, &x_deps);
+ dest->scale.y = _gtk_css_value_compute (src->scale.y, property_id, provider, style, parent_style, &y_deps);
*dependencies = _gtk_css_dependencies_union (x_deps, y_deps);
return dest->scale.x == src->scale.x
&& dest->scale.y == src->scale.y;
case GTK_CSS_TRANSFORM_SKEW:
x_deps = y_deps = 0;
- dest->skew.x = _gtk_css_value_compute (src->skew.x, property_id, provider, scale, values, parent_values, &x_deps);
- dest->skew.y = _gtk_css_value_compute (src->skew.y, property_id, provider, scale, values, parent_values, &y_deps);
+ dest->skew.x = _gtk_css_value_compute (src->skew.x, property_id, provider, style, parent_style, &x_deps);
+ dest->skew.y = _gtk_css_value_compute (src->skew.y, property_id, provider, style, parent_style, &y_deps);
*dependencies = _gtk_css_dependencies_union (x_deps, y_deps);
return dest->skew.x == src->skew.x
&& dest->skew.y == src->skew.y;
case GTK_CSS_TRANSFORM_SKEW_X:
- dest->skew_x.skew = _gtk_css_value_compute (src->skew_x.skew, property_id, provider, scale, values, parent_values, dependencies);
+ dest->skew_x.skew = _gtk_css_value_compute (src->skew_x.skew, property_id, provider, style, parent_style, dependencies);
return dest->skew_x.skew == src->skew_x.skew;
case GTK_CSS_TRANSFORM_SKEW_Y:
- dest->skew_y.skew = _gtk_css_value_compute (src->skew_y.skew, property_id, provider, scale, values, parent_values, dependencies);
+ dest->skew_y.skew = _gtk_css_value_compute (src->skew_y.skew, property_id, provider, style, parent_style, dependencies);
return dest->skew_y.skew == src->skew_y.skew;
case GTK_CSS_TRANSFORM_NONE:
default:
@@ -285,9 +284,8 @@ static GtkCssValue *
gtk_css_value_transform_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssDependencies transform_deps;
@@ -308,9 +306,8 @@ gtk_css_value_transform_compute (GtkCssValue *value,
&value->transforms[i],
property_id,
provider,
- scale,
- values,
- parent_values,
+ style,
+ parent_style,
&transform_deps);
*dependencies = _gtk_css_dependencies_union (*dependencies, transform_deps);
}
diff --git a/gtk/gtkcsstypedvalue.c b/gtk/gtkcsstypedvalue.c
index cfce35fed7..202e3dda91 100644
--- a/gtk/gtkcsstypedvalue.c
+++ b/gtk/gtkcsstypedvalue.c
@@ -38,14 +38,13 @@ static GtkCssValue *
gtk_css_value_typed_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssCustomProperty *custom = GTK_CSS_CUSTOM_PROPERTY (_gtk_css_style_property_lookup_by_id (property_id));
- return _gtk_css_style_funcs_compute_value (provider, values, parent_values, custom->pspec->value_type, value, dependencies);
+ return _gtk_css_style_funcs_compute_value (provider, style, parent_style, custom->pspec->value_type, value, dependencies);
}
static gboolean
diff --git a/gtk/gtkcssunsetvalue.c b/gtk/gtkcssunsetvalue.c
index 73b0c6f4a9..dabbcb175b 100644
--- a/gtk/gtkcssunsetvalue.c
+++ b/gtk/gtkcssunsetvalue.c
@@ -38,9 +38,8 @@ static GtkCssValue *
gtk_css_value_unset_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssStyleProperty *property;
@@ -56,9 +55,8 @@ gtk_css_value_unset_compute (GtkCssValue *value,
return _gtk_css_value_compute (unset_value,
property_id,
provider,
- scale,
- values,
- parent_values,
+ style,
+ parent_style,
dependencies);
}
diff --git a/gtk/gtkcssvalue.c b/gtk/gtkcssvalue.c
index ec73f41c5d..1dc2f1ceac 100644
--- a/gtk/gtkcssvalue.c
+++ b/gtk/gtkcssvalue.c
@@ -87,23 +87,22 @@ GtkCssValue *
_gtk_css_value_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies)
{
GtkCssDependencies fallback;
gtk_internal_return_val_if_fail (value != NULL, NULL);
gtk_internal_return_val_if_fail (GTK_IS_STYLE_PROVIDER_PRIVATE (provider), NULL);
- gtk_internal_return_val_if_fail (GTK_IS_CSS_STYLE (values), NULL);
- gtk_internal_return_val_if_fail (parent_values == NULL || GTK_IS_CSS_STYLE (parent_values), NULL);
+ gtk_internal_return_val_if_fail (GTK_IS_CSS_STYLE (style), NULL);
+ gtk_internal_return_val_if_fail (parent_style == NULL || GTK_IS_CSS_STYLE (parent_style), NULL);
if (dependencies == NULL)
dependencies = &fallback;
*dependencies = 0;
- return value->class->compute (value, property_id, provider, scale, values, parent_values, dependencies);
+ return value->class->compute (value, property_id, provider, style, parent_style, dependencies);
}
gboolean
diff --git a/gtk/gtkcssvalueprivate.h b/gtk/gtkcssvalueprivate.h
index 973ecc5559..ee244ce12f 100644
--- a/gtk/gtkcssvalueprivate.h
+++ b/gtk/gtkcssvalueprivate.h
@@ -43,9 +43,8 @@ struct _GtkCssValueClass {
GtkCssValue * (* compute) (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies);
gboolean (* equal) (const GtkCssValue *value1,
const GtkCssValue *value2);
@@ -69,9 +68,8 @@ void _gtk_css_value_unref (GtkCssValue
GtkCssValue *_gtk_css_value_compute (GtkCssValue *value,
guint property_id,
GtkStyleProviderPrivate *provider,
- int scale,
- GtkCssStyle *values,
- GtkCssStyle *parent_values,
+ GtkCssStyle *style,
+ GtkCssStyle *parent_style,
GtkCssDependencies *dependencies);
gboolean _gtk_css_value_equal (const GtkCssValue *value1,
const GtkCssValue *value2);
diff --git a/gtk/gtkstylecascade.c b/gtk/gtkstylecascade.c
index 9219d61b59..13df0bd8b5 100644
--- a/gtk/gtkstylecascade.c
+++ b/gtk/gtkstylecascade.c
@@ -174,6 +174,14 @@ gtk_style_cascade_get_color (GtkStyleProviderPrivate *provider,
return NULL;
}
+static int
+gtk_style_cascade_get_scale (GtkStyleProviderPrivate *provider)
+{
+ GtkStyleCascade *cascade = GTK_STYLE_CASCADE (provider);
+
+ return cascade->scale;
+}
+
static GtkCssKeyframes *
gtk_style_cascade_get_keyframes (GtkStyleProviderPrivate *provider,
const char *name)
@@ -235,6 +243,7 @@ gtk_style_cascade_provider_private_iface_init (GtkStyleProviderPrivateInterface
{
iface->get_color = gtk_style_cascade_get_color;
iface->get_settings = gtk_style_cascade_get_settings;
+ iface->get_scale = gtk_style_cascade_get_scale;
iface->get_keyframes = gtk_style_cascade_get_keyframes;
iface->lookup = gtk_style_cascade_lookup;
}
diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c
index 9b4798e678..a1d15331aa 100644
--- a/gtk/gtkstylecontext.c
+++ b/gtk/gtkstylecontext.c
@@ -825,7 +825,6 @@ update_properties (GtkStyleContext *context,
parent_changes,
GTK_STYLE_PROVIDER_PRIVATE (priv->cascade),
&matcher,
- _gtk_style_cascade_get_scale (priv->cascade),
parent);
gtk_widget_path_free (path);
@@ -857,12 +856,10 @@ build_properties (GtkStyleContext *context,
if (_gtk_css_matcher_init (&matcher, path))
style = gtk_css_static_style_new_compute (GTK_STYLE_PROVIDER_PRIVATE (priv->cascade),
&matcher,
- _gtk_style_cascade_get_scale (priv->cascade),
parent);
else
style = gtk_css_static_style_new_compute (GTK_STYLE_PROVIDER_PRIVATE (priv->cascade),
NULL,
- _gtk_style_cascade_get_scale (priv->cascade),
parent);
gtk_widget_path_free (path);
@@ -3011,7 +3008,6 @@ _gtk_style_context_validate (GtkStyleContext *context,
priv->parent ? gtk_style_context_lookup_style (priv->parent) : NULL,
timestamp,
GTK_STYLE_PROVIDER_PRIVATE (priv->cascade),
- _gtk_style_cascade_get_scale (priv->cascade),
gtk_style_context_should_create_transitions (context, current) ? current : NULL);
gtk_style_context_clear_cache (context);
diff --git a/gtk/gtkstyleproviderprivate.c b/gtk/gtkstyleproviderprivate.c
index 35a6f6e0f6..6c11b03acf 100644
--- a/gtk/gtkstyleproviderprivate.c
+++ b/gtk/gtkstyleproviderprivate.c
@@ -127,3 +127,17 @@ _gtk_style_provider_private_get_settings (GtkStyleProviderPrivate *provider)
return iface->get_settings (provider);
}
+int
+_gtk_style_provider_private_get_scale (GtkStyleProviderPrivate *provider)
+{
+ GtkStyleProviderPrivateInterface *iface;
+
+ g_return_val_if_fail (GTK_IS_STYLE_PROVIDER_PRIVATE (provider), 1);
+
+ iface = GTK_STYLE_PROVIDER_PRIVATE_GET_INTERFACE (provider);
+
+ if (!iface->get_scale)
+ return 1;
+
+ return iface->get_scale (provider);
+}
diff --git a/gtk/gtkstyleproviderprivate.h b/gtk/gtkstyleproviderprivate.h
index a66e186088..ff58b9e869 100644
--- a/gtk/gtkstyleproviderprivate.h
+++ b/gtk/gtkstyleproviderprivate.h
@@ -44,6 +44,7 @@ struct _GtkStyleProviderPrivateInterface
GtkSettings * (* get_settings) (GtkStyleProviderPrivate *provider);
GtkCssKeyframes * (* get_keyframes) (GtkStyleProviderPrivate *provider,
const char *name);
+ int (* get_scale) (GtkStyleProviderPrivate *provider);
void (* lookup) (GtkStyleProviderPrivate *provider,
const GtkCssMatcher *matcher,
GtkCssLookup *lookup,
@@ -60,6 +61,7 @@ GtkCssValue * _gtk_style_provider_private_get_color (GtkStyleProvid
const char *name);
GtkCssKeyframes * _gtk_style_provider_private_get_keyframes(GtkStyleProviderPrivate *provider,
const char *name);
+int _gtk_style_provider_private_get_scale (GtkStyleProviderPrivate *provider);
void _gtk_style_provider_private_lookup (GtkStyleProviderPrivate *provider,
const GtkCssMatcher *matcher,
GtkCssLookup *lookup,