From dd2202288aae0e8d45b941d5839b45ae309fe0fd Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sat, 17 Jan 2015 05:23:00 +0100 Subject: themingbackground: Use a GtkCssStyle instead of GtkStyleContext --- gtk/gtkrender.c | 4 +-- gtk/gtkthemingbackground.c | 68 +++++++++++++++++++-------------------- gtk/gtkthemingbackgroundprivate.h | 2 +- 3 files changed, 37 insertions(+), 37 deletions(-) diff --git a/gtk/gtkrender.c b/gtk/gtkrender.c index f395bece97..b702a07cc7 100644 --- a/gtk/gtkrender.c +++ b/gtk/gtkrender.c @@ -500,7 +500,7 @@ gtk_do_render_background (GtkStyleContext *context, gdouble width, gdouble height) { - gtk_theming_background_render (context, + gtk_theming_background_render (gtk_style_context_lookup_style (context), cr, x, y, width, height, @@ -1615,7 +1615,7 @@ gtk_do_render_extension (GtkStyleContext *context, break; } - gtk_theming_background_render (context, + gtk_theming_background_render (gtk_style_context_lookup_style (context), cr, x, y, width, height, diff --git a/gtk/gtkthemingbackground.c b/gtk/gtkthemingbackground.c index 8cd8a4b7a8..6a9bc75a38 100644 --- a/gtk/gtkthemingbackground.c +++ b/gtk/gtkthemingbackground.c @@ -32,8 +32,8 @@ #include "gtkcsspositionvalueprivate.h" #include "gtkcssrepeatvalueprivate.h" #include "gtkcssrgbavalueprivate.h" +#include "gtkcssstyleprivate.h" #include "gtkcsstypesprivate.h" -#include "gtkstylecontextprivate.h" #include @@ -49,7 +49,7 @@ typedef struct _GtkThemingBackground GtkThemingBackground; #define N_BOXES (3) struct _GtkThemingBackground { - GtkStyleContext *context; + GtkCssStyle *style; GtkRoundedBox boxes[N_BOXES]; }; @@ -63,7 +63,7 @@ _gtk_theming_background_paint_color (GtkThemingBackground *bg, gint n_values = _gtk_css_array_value_get_n_values (background_image); GtkCssArea clip = _gtk_css_area_value_get (_gtk_css_array_value_get_nth - (_gtk_style_context_peek_property (bg->context, GTK_CSS_PROPERTY_BACKGROUND_CLIP), + (gtk_css_style_get_value (bg->style, GTK_CSS_PROPERTY_BACKGROUND_CLIP), n_values - 1)); _gtk_rounded_box_path (&bg->boxes[clip], cr); @@ -83,18 +83,18 @@ _gtk_theming_background_paint_layer (GtkThemingBackground *bg, double image_width, image_height; double width, height; - pos = _gtk_css_array_value_get_nth (_gtk_style_context_peek_property (bg->context, GTK_CSS_PROPERTY_BACKGROUND_POSITION), idx); - repeat = _gtk_css_array_value_get_nth (_gtk_style_context_peek_property (bg->context, GTK_CSS_PROPERTY_BACKGROUND_REPEAT), idx); + pos = _gtk_css_array_value_get_nth (gtk_css_style_get_value (bg->style, GTK_CSS_PROPERTY_BACKGROUND_POSITION), idx); + repeat = _gtk_css_array_value_get_nth (gtk_css_style_get_value (bg->style, GTK_CSS_PROPERTY_BACKGROUND_REPEAT), idx); hrepeat = _gtk_css_background_repeat_value_get_x (repeat); vrepeat = _gtk_css_background_repeat_value_get_y (repeat); image = _gtk_css_image_value_get_image ( _gtk_css_array_value_get_nth ( - _gtk_style_context_peek_property (bg->context, GTK_CSS_PROPERTY_BACKGROUND_IMAGE), + gtk_css_style_get_value (bg->style, GTK_CSS_PROPERTY_BACKGROUND_IMAGE), idx)); origin = &bg->boxes[ _gtk_css_area_value_get ( _gtk_css_array_value_get_nth ( - _gtk_style_context_peek_property (bg->context, GTK_CSS_PROPERTY_BACKGROUND_ORIGIN), + gtk_css_style_get_value (bg->style, GTK_CSS_PROPERTY_BACKGROUND_ORIGIN), idx))]; width = origin->box.width; height = origin->box.height; @@ -102,7 +102,7 @@ _gtk_theming_background_paint_layer (GtkThemingBackground *bg, if (image == NULL || width <= 0 || height <= 0) return; - _gtk_css_bg_size_value_compute_size (_gtk_css_array_value_get_nth (_gtk_style_context_peek_property (bg->context, GTK_CSS_PROPERTY_BACKGROUND_SIZE), idx), + _gtk_css_bg_size_value_compute_size (_gtk_css_array_value_get_nth (gtk_css_style_get_value (bg->style, GTK_CSS_PROPERTY_BACKGROUND_SIZE), idx), image, width, height, @@ -125,7 +125,7 @@ _gtk_theming_background_paint_layer (GtkThemingBackground *bg, &bg->boxes[ _gtk_css_area_value_get ( _gtk_css_array_value_get_nth ( - _gtk_style_context_peek_property (bg->context, GTK_CSS_PROPERTY_BACKGROUND_CLIP), + gtk_css_style_get_value (bg->style, GTK_CSS_PROPERTY_BACKGROUND_CLIP), idx))], cr); cairo_clip (cr); @@ -253,21 +253,21 @@ _gtk_theming_background_paint_layer (GtkThemingBackground *bg, } static void -_gtk_theming_background_init_context (GtkThemingBackground *bg, - double width, - double height, - GtkJunctionSides junction) +_gtk_theming_background_init_style (GtkThemingBackground *bg, + double width, + double height, + GtkJunctionSides junction) { GtkBorder border, padding; - border.top = _gtk_css_number_value_get (_gtk_style_context_peek_property (bg->context, GTK_CSS_PROPERTY_BORDER_TOP_WIDTH), 100); - border.right = _gtk_css_number_value_get (_gtk_style_context_peek_property (bg->context, GTK_CSS_PROPERTY_BORDER_RIGHT_WIDTH), 100); - border.bottom = _gtk_css_number_value_get (_gtk_style_context_peek_property (bg->context, GTK_CSS_PROPERTY_BORDER_BOTTOM_WIDTH), 100); - border.left = _gtk_css_number_value_get (_gtk_style_context_peek_property (bg->context, GTK_CSS_PROPERTY_BORDER_LEFT_WIDTH), 100); - padding.top = _gtk_css_number_value_get (_gtk_style_context_peek_property (bg->context, GTK_CSS_PROPERTY_PADDING_TOP), 100); - padding.right = _gtk_css_number_value_get (_gtk_style_context_peek_property (bg->context, GTK_CSS_PROPERTY_PADDING_RIGHT), 100); - padding.bottom = _gtk_css_number_value_get (_gtk_style_context_peek_property (bg->context, GTK_CSS_PROPERTY_PADDING_BOTTOM), 100); - padding.left = _gtk_css_number_value_get (_gtk_style_context_peek_property (bg->context, GTK_CSS_PROPERTY_PADDING_LEFT), 100); + border.top = _gtk_css_number_value_get (gtk_css_style_get_value (bg->style, GTK_CSS_PROPERTY_BORDER_TOP_WIDTH), 100); + border.right = _gtk_css_number_value_get (gtk_css_style_get_value (bg->style, GTK_CSS_PROPERTY_BORDER_RIGHT_WIDTH), 100); + border.bottom = _gtk_css_number_value_get (gtk_css_style_get_value (bg->style, GTK_CSS_PROPERTY_BORDER_BOTTOM_WIDTH), 100); + border.left = _gtk_css_number_value_get (gtk_css_style_get_value (bg->style, GTK_CSS_PROPERTY_BORDER_LEFT_WIDTH), 100); + padding.top = _gtk_css_number_value_get (gtk_css_style_get_value (bg->style, GTK_CSS_PROPERTY_PADDING_TOP), 100); + padding.right = _gtk_css_number_value_get (gtk_css_style_get_value (bg->style, GTK_CSS_PROPERTY_PADDING_RIGHT), 100); + padding.bottom = _gtk_css_number_value_get (gtk_css_style_get_value (bg->style, GTK_CSS_PROPERTY_PADDING_BOTTOM), 100); + padding.left = _gtk_css_number_value_get (gtk_css_style_get_value (bg->style, GTK_CSS_PROPERTY_PADDING_LEFT), 100); /* In the CSS box model, by default the background positioning area is * the padding-box, i.e. all the border-box minus the borders themselves, @@ -278,7 +278,7 @@ _gtk_theming_background_init_context (GtkThemingBackground *bg, * right now we just shrink to the default. */ _gtk_rounded_box_init_rect (&bg->boxes[GTK_CSS_AREA_BORDER_BOX], 0, 0, width, height); - _gtk_rounded_box_apply_border_radius_for_style (&bg->boxes[GTK_CSS_AREA_BORDER_BOX], gtk_style_context_lookup_style (bg->context), junction); + _gtk_rounded_box_apply_border_radius_for_style (&bg->boxes[GTK_CSS_AREA_BORDER_BOX], bg->style, junction); bg->boxes[GTK_CSS_AREA_PADDING_BOX] = bg->boxes[GTK_CSS_AREA_BORDER_BOX]; _gtk_rounded_box_shrink (&bg->boxes[GTK_CSS_AREA_PADDING_BOX], @@ -292,13 +292,13 @@ _gtk_theming_background_init_context (GtkThemingBackground *bg, } void -gtk_theming_background_render (GtkStyleContext *context, - cairo_t *cr, - gdouble x, - gdouble y, - gdouble width, - gdouble height, - GtkJunctionSides junction) +gtk_theming_background_render (GtkCssStyle *style, + cairo_t *cr, + gdouble x, + gdouble y, + gdouble width, + gdouble height, + GtkJunctionSides junction) { GtkThemingBackground bg; gint idx; @@ -306,9 +306,9 @@ gtk_theming_background_render (GtkStyleContext *context, GtkCssValue *box_shadow; const GdkRGBA *bg_color; - background_image = _gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BACKGROUND_IMAGE); - bg_color = _gtk_css_rgba_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BACKGROUND_COLOR)); - box_shadow = _gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BOX_SHADOW); + background_image = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_BACKGROUND_IMAGE); + bg_color = _gtk_css_rgba_value_get_rgba (gtk_css_style_get_value (style, GTK_CSS_PROPERTY_BACKGROUND_COLOR)); + box_shadow = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_BOX_SHADOW); /* This is the common default case of no background */ if (gtk_rgba_is_clear (bg_color) && @@ -317,8 +317,8 @@ gtk_theming_background_render (GtkStyleContext *context, _gtk_css_shadows_value_is_none (box_shadow)) return; - bg.context = context; - _gtk_theming_background_init_context (&bg, width, height, junction); + bg.style = style; + _gtk_theming_background_init_style (&bg, width, height, junction); cairo_save (cr); cairo_translate (cr, x, y); diff --git a/gtk/gtkthemingbackgroundprivate.h b/gtk/gtkthemingbackgroundprivate.h index eebf2e5322..df29fa4c87 100644 --- a/gtk/gtkthemingbackgroundprivate.h +++ b/gtk/gtkthemingbackgroundprivate.h @@ -29,7 +29,7 @@ G_BEGIN_DECLS -void gtk_theming_background_render (GtkStyleContext *context, +void gtk_theming_background_render (GtkCssStyle *style, cairo_t *cr, gdouble x, gdouble y, -- cgit v1.2.1