From cd3cd64769a320538dca9d7fa9737823e9bb2a3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 7 Nov 2019 07:31:04 +0100 Subject: [PATCH] cssdimenstionvalue: Add common degree value singletons --- gtk/gtkcssdimensionvalue.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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, { >K_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_S, 0 }, { >K_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_S, 1 }, }; + static GtkCssValue deg_singletons[] = { + { >K_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_DEG, 0 }, + { >K_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_DEG, 90 }, + { >K_CSS_VALUE_DIMENSION.value_class, 1, GTK_CSS_DEG, 180 }, + { >K_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 (°_singletons[0]); + if (value == 90) + return _gtk_css_value_ref (°_singletons[1]); + if (value == 180) + return _gtk_css_value_ref (°_singletons[2]); + if (value == 270) + return _gtk_css_value_ref (°_singletons[3]); + + break; + default: ; }