Add singleton for css number 1.0

This will be nice as this is will be the default for opacity.

https://bugzilla.gnome.org/show_bug.cgi?id=687842
This commit is contained in:
Alexander Larsson 2013-02-06 14:28:20 +01:00
parent ebb84e8d19
commit 7d21ec23f6

View File

@ -189,7 +189,10 @@ GtkCssValue *
_gtk_css_number_value_new (double value,
GtkCssUnit unit)
{
static GtkCssValue zero_singleton = { &GTK_CSS_VALUE_NUMBER, 1, GTK_CSS_NUMBER, 0 };
static GtkCssValue number_singletons[] = {
{ &GTK_CSS_VALUE_NUMBER, 1, GTK_CSS_NUMBER, 0 },
{ &GTK_CSS_VALUE_NUMBER, 1, GTK_CSS_NUMBER, 1 },
};
static GtkCssValue px_singletons[] = {
{ &GTK_CSS_VALUE_NUMBER, 1, GTK_CSS_PX, 0 },
{ &GTK_CSS_VALUE_NUMBER, 1, GTK_CSS_PX, 1 },
@ -199,8 +202,8 @@ _gtk_css_number_value_new (double value,
};
GtkCssValue *result;
if (unit == GTK_CSS_NUMBER && value == 0)
return _gtk_css_value_ref (&zero_singleton);
if (unit == GTK_CSS_NUMBER && (value == 0 || value == 1))
return _gtk_css_value_ref (&number_singletons[(int) value]);
if (unit == GTK_CSS_PX &&
(value == 0 ||