summaryrefslogtreecommitdiff
path: root/gtk/gtkcssdimensionvalue.c
diff options
context:
space:
mode:
authorTimm Bäder <mail@baedert.org>2019-11-07 07:31:04 +0100
committerTimm Bäder <mail@baedert.org>2019-11-14 09:15:58 +0100
commitcd3cd64769a320538dca9d7fa9737823e9bb2a3a (patch)
treece593d6310abd6474f24cef39f420cc9e443aacd /gtk/gtkcssdimensionvalue.c
parentfb0b0ddfe025d095e903d31f516a9cf621f6e00a (diff)
downloadgtk+-cd3cd64769a320538dca9d7fa9737823e9bb2a3a.tar.gz
cssdimenstionvalue: Add common degree value singletons
Diffstat (limited to 'gtk/gtkcssdimensionvalue.c')
-rw-r--r--gtk/gtkcssdimensionvalue.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/gtk/gtkcssdimensionvalue.c b/gtk/gtkcssdimensionvalue.c
index 61a0e1926b..d545b65e20 100644
--- a/gtk/gtkcssdimensionvalue.c
+++ b/gtk/gtkcssdimensionvalue.c
@@ -318,6 +318,12 @@ gtk_css_dimension_value_new (double value,
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_S, 0 },
{ &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_S, 1 },
};
+ static GtkCssValue deg_singletons[] = {
+ { &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_DEG, 0 },
+ { &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_DEG, 90 },
+ { &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_DEG, 180 },
+ { &GTK_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_DEG, 270 },
+ };
GtkCssValue *result;
switch ((guint)unit)
@@ -365,6 +371,18 @@ gtk_css_dimension_value_new (double value,
break;
+ case GTK_CSS_DEG:
+ if (value == 0)
+ return _gtk_css_value_ref (&deg_singletons[0]);
+ if (value == 90)
+ return _gtk_css_value_ref (&deg_singletons[1]);
+ if (value == 180)
+ return _gtk_css_value_ref (&deg_singletons[2]);
+ if (value == 270)
+ return _gtk_css_value_ref (&deg_singletons[3]);
+
+ break;
+
default:
;
}