[gimp/gtk3-port: 139/227] app: port GimpSpinScale to GtkStyleContext
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/gtk3-port: 139/227] app: port GimpSpinScale to GtkStyleContext
- Date: Mon, 11 Jun 2012 23:14:07 +0000 (UTC)
commit e83ba79c5f75087fbd28ec6077f1fbdeb52c6fdc
Author: Michael Natterer <mitch gimp org>
Date: Wed Dec 22 23:32:42 2010 +0100
app: port GimpSpinScale to GtkStyleContext
app/widgets/gimpspinscale.c | 34 +++++++++++++---------------------
1 files changed, 13 insertions(+), 21 deletions(-)
---
diff --git a/app/widgets/gimpspinscale.c b/app/widgets/gimpspinscale.c
index 0a1b78b..18c169b 100644
--- a/app/widgets/gimpspinscale.c
+++ b/app/widgets/gimpspinscale.c
@@ -88,8 +88,7 @@ static void gimp_spin_scale_get_preferred_width (GtkWidget *widget
static void gimp_spin_scale_get_preferred_height (GtkWidget *widget,
gint *minimum_width,
gint *natural_width);
-static void gimp_spin_scale_style_set (GtkWidget *widget,
- GtkStyle *prev_style);
+static void gimp_spin_scale_style_updated (GtkWidget *widget);
static gboolean gimp_spin_scale_draw (GtkWidget *widget,
cairo_t *cr);
static gboolean gimp_spin_scale_button_press (GtkWidget *widget,
@@ -123,7 +122,7 @@ gimp_spin_scale_class_init (GimpSpinScaleClass *klass)
widget_class->get_preferred_width = gimp_spin_scale_get_preferred_width;
widget_class->get_preferred_height = gimp_spin_scale_get_preferred_height;
- widget_class->style_set = gimp_spin_scale_style_set;
+ widget_class->style_updated = gimp_spin_scale_style_updated;
widget_class->draw = gimp_spin_scale_draw;
widget_class->button_press_event = gimp_spin_scale_button_press;
widget_class->button_release_event = gimp_spin_scale_button_release;
@@ -233,7 +232,6 @@ gimp_spin_scale_get_preferred_width (GtkWidget *widget,
gint *natural_width)
{
GimpSpinScalePrivate *private = GET_PRIVATE (widget);
- GtkStyle *style = gtk_widget_get_style (widget);
PangoContext *context = gtk_widget_get_pango_context (widget);
PangoFontMetrics *metrics;
@@ -241,7 +239,8 @@ gimp_spin_scale_get_preferred_width (GtkWidget *widget,
minimum_width,
natural_width);
- metrics = pango_context_get_metrics (context, style->font_desc,
+ metrics = pango_context_get_metrics (context,
+ pango_context_get_font_description (context),
pango_context_get_language (context));
if (private->label)
@@ -267,7 +266,6 @@ gimp_spin_scale_get_preferred_height (GtkWidget *widget,
gint *minimum_height,
gint *natural_height)
{
- GtkStyle *style = gtk_widget_get_style (widget);
PangoContext *context = gtk_widget_get_pango_context (widget);
PangoFontMetrics *metrics;
gint height;
@@ -276,7 +274,8 @@ gimp_spin_scale_get_preferred_height (GtkWidget *widget,
minimum_height,
natural_height);
- metrics = pango_context_get_metrics (context, style->font_desc,
+ metrics = pango_context_get_metrics (context,
+ pango_context_get_font_description (context),
pango_context_get_language (context));
height = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) +
@@ -289,12 +288,11 @@ gimp_spin_scale_get_preferred_height (GtkWidget *widget,
}
static void
-gimp_spin_scale_style_set (GtkWidget *widget,
- GtkStyle *prev_style)
+gimp_spin_scale_style_updated (GtkWidget *widget)
{
GimpSpinScalePrivate *private = GET_PRIVATE (widget);
- GTK_WIDGET_CLASS (parent_class)->style_set (widget, prev_style);
+ GTK_WIDGET_CLASS (parent_class)->style_updated (widget);
if (private->layout)
{
@@ -308,8 +306,9 @@ gimp_spin_scale_draw (GtkWidget *widget,
cairo_t *cr)
{
GimpSpinScalePrivate *private = GET_PRIVATE (widget);
- GtkStyle *style = gtk_widget_get_style (widget);
+ GtkStyleContext *style = gtk_widget_get_style_context (widget);
GtkAllocation allocation;
+ GdkRGBA color;
cairo_save (cr);
GTK_WIDGET_CLASS (parent_class)->draw (widget, cr);
@@ -317,14 +316,6 @@ gimp_spin_scale_draw (GtkWidget *widget,
gtk_widget_get_allocation (widget, &allocation);
- cairo_set_line_width (cr, 1.0);
-
- cairo_rectangle (cr, 0.5, 0.5,
- allocation.width - 1.0, allocation.height - 1.0);
- gdk_cairo_set_source_color (cr,
- &style->text[gtk_widget_get_state (widget)]);
- cairo_stroke (cr);
-
if (private->label)
{
GdkRectangle text_area;
@@ -363,8 +354,9 @@ gimp_spin_scale_draw (GtkWidget *widget,
cairo_move_to (cr, layout_offset_x, text_area.y + layout_offset_y);
- gdk_cairo_set_source_color (cr,
- &style->text[gtk_widget_get_state (widget)]);
+ gtk_style_context_get_color (style, gtk_widget_get_state_flags (widget),
+ &color);
+ gdk_cairo_set_source_rgba (cr, &color);
pango_cairo_show_layout (cr, private->layout);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]