}
static GtkCssValue *
-gtk_css_value_calc_multiply (const GtkCssValue *value,
- double factor)
+gtk_css_value_calc_multiply (GtkCssValue *value,
+ double factor)
{
GtkCssValue *result;
gsize i;
}
static GtkCssValue *
-gtk_css_value_dimension_multiply (const GtkCssValue *value,
- double factor)
+gtk_css_value_dimension_multiply (GtkCssValue *value,
+ double factor)
{
return gtk_css_dimension_value_new (value->value * factor, value->unit);
}
}
GtkCssValue *
-gtk_css_number_value_multiply (const GtkCssValue *value,
- double factor)
+gtk_css_number_value_multiply (GtkCssValue *value,
+ double factor)
{
GtkCssNumberValueClass *number_value_class = (GtkCssNumberValueClass *) value->class;
+ if (factor == 1)
+ return _gtk_css_value_ref (value);
+
return number_value_class->multiply (value, factor);
}
double one_hundred_percent);
GtkCssDimension (* get_dimension) (const GtkCssValue *value);
gboolean (* has_percent) (const GtkCssValue *value);
- GtkCssValue * (* multiply) (const GtkCssValue *value,
+ GtkCssValue * (* multiply) (GtkCssValue *value,
double factor);
GtkCssValue * (* try_add) (GtkCssValue *value1,
GtkCssValue *value2);
GtkCssDimension gtk_css_number_value_get_dimension (const GtkCssValue *value) G_GNUC_PURE;
gboolean gtk_css_number_value_has_percent (const GtkCssValue *value) G_GNUC_PURE;
-GtkCssValue * gtk_css_number_value_multiply (const GtkCssValue *value,
+GtkCssValue * gtk_css_number_value_multiply (GtkCssValue *value,
double factor);
GtkCssValue * gtk_css_number_value_add (GtkCssValue *value1,
GtkCssValue *value2);