background: Simplify background-repeat

It used to be a struct, now it's just an enum
This commit is contained in:
Benjamin Otte
2012-01-04 16:31:04 +01:00
parent 07aa7f6b20
commit 4b7ca9602d
5 changed files with 5 additions and 52 deletions

View File

@ -1061,35 +1061,6 @@ shadow_value_compute (GValue *computed,
g_value_take_boxed (computed, shadow); g_value_take_boxed (computed, shadow);
} }
static gboolean
background_repeat_value_parse (GtkCssParser *parser,
GFile *file,
GValue *value)
{
GtkCssBackgroundRepeat repeat;
int style;
if (!enum_parse (parser, GTK_TYPE_CSS_BACKGROUND_REPEAT_STYLE, &style))
return FALSE;
repeat.repeat = style;
g_value_set_boxed (value, &repeat);
return TRUE;
}
static void
background_repeat_value_print (const GValue *value,
GString *string)
{
GtkCssBackgroundRepeat *repeat;
repeat = g_value_get_boxed (value);
enum_print (repeat->repeat, GTK_TYPE_CSS_BACKGROUND_REPEAT_STYLE, string);
}
static gboolean static gboolean
border_image_repeat_value_parse (GtkCssParser *parser, border_image_repeat_value_parse (GtkCssParser *parser,
GFile *file, GFile *file,
@ -1319,10 +1290,6 @@ gtk_css_style_funcs_init (void)
flags_value_parse, flags_value_parse,
flags_value_print, flags_value_print,
NULL); NULL);
register_conversion_function (GTK_TYPE_CSS_BACKGROUND_REPEAT,
background_repeat_value_parse,
background_repeat_value_print,
NULL);
} }
/** /**

View File

@ -448,7 +448,6 @@ _gtk_css_style_property_init_properties (void)
GdkRGBA rgba; GdkRGBA rgba;
GtkCssBorderCornerRadius no_corner_radius = { 0, }; GtkCssBorderCornerRadius no_corner_radius = { 0, };
GtkBorder border_of_ones = { 1, 1, 1, 1 }; GtkBorder border_of_ones = { 1, 1, 1, 1 };
GtkCssBackgroundRepeat background_repeat = { GTK_CSS_BACKGROUND_REPEAT_STYLE_REPEAT };
GtkCssBorderImageRepeat border_image_repeat = { GTK_CSS_REPEAT_STYLE_STRETCH, GTK_CSS_REPEAT_STYLE_STRETCH }; GtkCssBorderImageRepeat border_image_repeat = { GTK_CSS_REPEAT_STYLE_STRETCH, GTK_CSS_REPEAT_STYLE_STRETCH };
/* Initialize "color" and "font-size" first, /* Initialize "color" and "font-size" first,
@ -711,7 +710,7 @@ _gtk_css_style_property_init_properties (void)
NULL, NULL,
NULL, NULL,
NULL, NULL,
&background_repeat); GTK_CSS_BACKGROUND_REPEAT);
g_value_init (&value, GTK_TYPE_CSS_IMAGE); g_value_init (&value, GTK_TYPE_CSS_IMAGE);
_gtk_style_property_register ("background-image", _gtk_style_property_register ("background-image",
CAIRO_GOBJECT_TYPE_PATTERN, CAIRO_GOBJECT_TYPE_PATTERN,

View File

@ -31,7 +31,5 @@ type_name ## _copy (const TypeName *foo) \
\ \
G_DEFINE_BOXED_TYPE (TypeName, type_name, type_name ## _copy, g_free) G_DEFINE_BOXED_TYPE (TypeName, type_name, type_name ## _copy, g_free)
DEFINE_BOXED_TYPE_WITH_COPY_FUNC (GtkCssBackgroundRepeat, _gtk_css_background_repeat)
DEFINE_BOXED_TYPE_WITH_COPY_FUNC (GtkCssBorderCornerRadius, _gtk_css_border_corner_radius) DEFINE_BOXED_TYPE_WITH_COPY_FUNC (GtkCssBorderCornerRadius, _gtk_css_border_corner_radius)
DEFINE_BOXED_TYPE_WITH_COPY_FUNC (GtkCssBorderImageRepeat, _gtk_css_border_image_repeat) DEFINE_BOXED_TYPE_WITH_COPY_FUNC (GtkCssBorderImageRepeat, _gtk_css_border_image_repeat)

View File

@ -31,9 +31,9 @@ typedef enum {
} GtkCssSpecialValue; } GtkCssSpecialValue;
typedef enum { typedef enum {
GTK_CSS_BACKGROUND_REPEAT_STYLE_REPEAT, GTK_CSS_BACKGROUND_REPEAT,
GTK_CSS_BACKGROUND_REPEAT_STYLE_NO_REPEAT, GTK_CSS_BACKGROUND_NO_REPEAT,
} GtkCssBackgroundRepeatStyle; } GtkCssBackgroundRepeat;
typedef enum { typedef enum {
GTK_CSS_REPEAT_STYLE_STRETCH, GTK_CSS_REPEAT_STYLE_STRETCH,
@ -48,16 +48,9 @@ typedef enum {
GTK_CSS_AREA_CONTENT_BOX GTK_CSS_AREA_CONTENT_BOX
} GtkCssArea; } GtkCssArea;
typedef struct _GtkCssBackgroundRepeat GtkCssBackgroundRepeat;
typedef struct _GtkCssBorderCornerRadius GtkCssBorderCornerRadius; typedef struct _GtkCssBorderCornerRadius GtkCssBorderCornerRadius;
typedef struct _GtkCssBorderImageRepeat GtkCssBorderImageRepeat; typedef struct _GtkCssBorderImageRepeat GtkCssBorderImageRepeat;
struct _GtkCssBackgroundRepeat {
/* FIXME: will have vrepeat and hrepeat instead */
GtkCssBackgroundRepeatStyle repeat;
};
struct _GtkCssBorderCornerRadius { struct _GtkCssBorderCornerRadius {
double horizontal; double horizontal;
double vertical; double vertical;
@ -68,14 +61,10 @@ struct _GtkCssBorderImageRepeat {
GtkCssBorderRepeatStyle hrepeat; GtkCssBorderRepeatStyle hrepeat;
}; };
#define GTK_TYPE_CSS_BACKGROUND_REPEAT _gtk_css_background_repeat_get_type ()
#define GTK_TYPE_CSS_BORDER_CORNER_RADIUS _gtk_css_border_corner_radius_get_type () #define GTK_TYPE_CSS_BORDER_CORNER_RADIUS _gtk_css_border_corner_radius_get_type ()
#define GTK_TYPE_CSS_BORDER_RADIUS _gtk_css_border_radius_get_type () #define GTK_TYPE_CSS_BORDER_RADIUS _gtk_css_border_radius_get_type ()
#define GTK_TYPE_CSS_BORDER_IMAGE_REPEAT _gtk_css_border_image_repeat_get_type () #define GTK_TYPE_CSS_BORDER_IMAGE_REPEAT _gtk_css_border_image_repeat_get_type ()
GType _gtk_css_background_repeat_get_type (void);
GType _gtk_css_border_corner_radius_get_type (void); GType _gtk_css_border_corner_radius_get_type (void);
GType _gtk_css_border_radius_get_type (void); GType _gtk_css_border_radius_get_type (void);
GType _gtk_css_border_image_repeat_get_type (void); GType _gtk_css_border_image_repeat_get_type (void);

View File

@ -116,7 +116,7 @@ _gtk_theming_background_paint (GtkThemingBackground *bg,
if (bg->image) if (bg->image)
{ {
GtkCssBackgroundRepeat *repeat; GtkCssBackgroundRepeat repeat;
double image_width, image_height; double image_width, image_height;
gtk_theming_engine_get (bg->engine, bg->flags, gtk_theming_engine_get (bg->engine, bg->flags,