[gimp/gtk3-port: 140/227] app: port GimpSpinScale to GtkStyleContext
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/gtk3-port: 140/227] app: port GimpSpinScale to GtkStyleContext
- Date: Fri, 30 Mar 2012 09:12:45 +0000 (UTC)
commit dc7c0e30ac86cfbe401f0ac0f205d1b541a4d1eb
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 fae0581..0899f0a 100644
--- a/app/widgets/gimpspinscale.c
+++ b/app/widgets/gimpspinscale.c
@@ -85,8 +85,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,
@@ -120,7 +119,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;
@@ -226,7 +225,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;
@@ -234,7 +232,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)
@@ -260,7 +259,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;
@@ -269,7 +267,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) +
@@ -282,12 +281,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)
{
@@ -301,8 +299,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);
@@ -310,14 +309,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;
@@ -356,8 +347,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]