diff options
Diffstat (limited to 'gtk/gtkcssvalue.c')
-rw-r--r-- | gtk/gtkcssvalue.c | 82 |
1 files changed, 69 insertions, 13 deletions
diff --git a/gtk/gtkcssvalue.c b/gtk/gtkcssvalue.c index 7bd1a55e45..a797f65534 100644 --- a/gtk/gtkcssvalue.c +++ b/gtk/gtkcssvalue.c @@ -183,6 +183,31 @@ _gtk_css_value_new_from_int (gint val) } GtkCssValue * +_gtk_css_value_new_from_enum (GType type, + gint val) +{ + GtkCssValue *value; + + g_return_val_if_fail (g_type_is_a (type, G_TYPE_ENUM), NULL); + + value = gtk_css_value_new (type); + value->u.gint = val; + + return value; +} + +GtkCssValue * +_gtk_css_value_new_from_double (double d) +{ + GtkCssValue *value; + + value = gtk_css_value_new (G_TYPE_DOUBLE); + value->u.dbl = d; + + return value; +} + +GtkCssValue * _gtk_css_value_new_take_string (char *string) { GtkCssValue *value; @@ -193,6 +218,17 @@ _gtk_css_value_new_take_string (char *string) return value; } +GtkCssValue * +_gtk_css_value_new_take_strv (char **strv) +{ + GtkCssValue *value; + + value = gtk_css_value_new (G_TYPE_STRV); + value->u.ptr = strv; + + return value; +} + static gpointer g_boxed_copy0 (GType boxed_type, gconstpointer src_boxed) @@ -236,6 +272,17 @@ _gtk_css_value_new_take_image (GtkCssImage *v) } GtkCssValue * +_gtk_css_value_new_take_binding_sets (GPtrArray *array) +{ + GtkCssValue *value; + + value = gtk_css_value_new (G_TYPE_PTR_ARRAY); + value->u.ptr = array; + + return value; +} + +GtkCssValue * _gtk_css_value_new_from_number (const GtkCssNumber *v) { GtkCssValue *value; @@ -323,6 +370,28 @@ _gtk_css_value_new_from_background_position (const GtkCssBackgroundPosition *v) } GtkCssValue * +_gtk_css_value_new_from_border_corner_radius (const GtkCssBorderCornerRadius *v) +{ + GtkCssValue *value; + + value = gtk_css_value_new (GTK_TYPE_CSS_BORDER_CORNER_RADIUS); + value->u.ptr = g_boxed_copy0 (GTK_TYPE_CSS_BORDER_CORNER_RADIUS, v); + + return value; +} + +GtkCssValue * +_gtk_css_value_new_from_border_style (GtkBorderStyle style) +{ + GtkCssValue *value; + + value = gtk_css_value_new (GTK_TYPE_BORDER_STYLE); + value->u.gint = style; + + return value; +} + +GtkCssValue * _gtk_css_value_new_take_symbolic_color (GtkSymbolicColor *v) { GtkCssValue *value; @@ -434,19 +503,6 @@ _gtk_css_value_init_gvalue (const GtkCssValue *value, } } -gboolean -_gtk_css_value_is_special (const GtkCssValue *value) -{ - return _gtk_css_value_holds (value, GTK_TYPE_CSS_SPECIAL_VALUE); -} - -GtkCssSpecialValue -_gtk_css_value_get_special_kind (const GtkCssValue *value) -{ - g_return_val_if_fail (_gtk_css_value_holds (value, GTK_TYPE_CSS_SPECIAL_VALUE), 0); - return value->u.gint; -} - const GtkCssNumber * _gtk_css_value_get_number (const GtkCssValue *value) { |