[gimp/gtk3-port: 107/336] libgimpwidgets: port GimpColorScale to GtkStyleContext
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/gtk3-port: 107/336] libgimpwidgets: port GimpColorScale to GtkStyleContext
- Date: Fri, 4 May 2018 09:57:20 +0000 (UTC)
commit a6bc011ca1ee8d6f9d3e7315a207ad601f0dcda5
Author: Michael Natterer <mitch gimp org>
Date: Wed Dec 15 15:33:05 2010 +0100
libgimpwidgets: port GimpColorScale to GtkStyleContext
libgimpwidgets/gimpcolorscale.c | 46 ++++++++++++++++++++++-----------------
1 files changed, 26 insertions(+), 20 deletions(-)
---
diff --git a/libgimpwidgets/gimpcolorscale.c b/libgimpwidgets/gimpcolorscale.c
index eda2342..d7d14ec 100644
--- a/libgimpwidgets/gimpcolorscale.c
+++ b/libgimpwidgets/gimpcolorscale.c
@@ -418,7 +418,7 @@ gimp_color_scale_draw (GtkWidget *widget,
GimpColorScale *scale = GIMP_COLOR_SCALE (widget);
GimpColorScalePrivate *priv = GET_PRIVATE (widget);
GtkRange *range = GTK_RANGE (widget);
- GtkStyle *style = gtk_widget_get_style (widget);
+ GtkStyleContext *context = gtk_widget_get_style_context (widget);
gboolean sensitive = gtk_widget_is_sensitive (widget);
GdkRectangle range_rect;
GdkRectangle area = { 0, };
@@ -433,6 +433,10 @@ gimp_color_scale_draw (GtkWidget *widget,
if (! scale->buf)
return FALSE;
+ gtk_style_context_save (context);
+
+ gtk_style_context_add_class (context, GTK_STYLE_CLASS_TROUGH);
+
gtk_widget_style_get (widget,
"trough-border", &trough_border,
NULL);
@@ -468,11 +472,10 @@ gimp_color_scale_draw (GtkWidget *widget,
scale->needs_render = FALSE;
}
- gtk_paint_box (style, cr,
- sensitive ? GTK_STATE_ACTIVE : GTK_STATE_INSENSITIVE,
- GTK_SHADOW_IN,
- widget, "trough",
- x, y, w, h);
+ gtk_style_context_set_state (context, gtk_widget_get_state_flags (widget));
+
+ gtk_render_background (context, cr, x, y, w, h);
+ gtk_render_frame (context, cr, x, y, w, h);
if (! priv->transform)
gimp_color_scale_create_transform (scale);
@@ -532,12 +535,11 @@ gimp_color_scale_draw (GtkWidget *widget,
cairo_paint (cr);
if (gtk_widget_has_focus (widget))
- gtk_paint_focus (style, cr, gtk_widget_get_state (widget),
- widget, "trough",
- range_rect.x,
- range_rect.y,
- range_rect.width,
- range_rect.height);
+ gtk_render_focus (context, cr,
+ range_rect.x,
+ range_rect.y,
+ range_rect.width,
+ range_rect.height);
switch (gtk_orientable_get_orientation (GTK_ORIENTABLE (range)))
{
@@ -557,9 +559,9 @@ gimp_color_scale_draw (GtkWidget *widget,
}
if (gtk_widget_is_sensitive (widget))
- gdk_cairo_set_source_color (cr, &style->black);
+ cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
else
- gdk_cairo_set_source_color (cr, &style->dark[GTK_STATE_INSENSITIVE]);
+ cairo_set_source_rgb (cr, 0.2, 0.2, 0.2);
switch (gtk_orientable_get_orientation (GTK_ORIENTABLE (range)))
{
@@ -584,9 +586,9 @@ gimp_color_scale_draw (GtkWidget *widget,
cairo_fill (cr);
if (gtk_widget_is_sensitive (widget))
- gdk_cairo_set_source_color (cr, &style->white);
+ cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
else
- gdk_cairo_set_source_color (cr, &style->light[GTK_STATE_INSENSITIVE]);
+ cairo_set_source_rgb (cr, 0.8, 0.8, 0.8);
switch (gtk_orientable_get_orientation (GTK_ORIENTABLE (range)))
{
@@ -610,6 +612,8 @@ gimp_color_scale_draw (GtkWidget *widget,
cairo_close_path (cr);
cairo_fill (cr);
+ gtk_style_context_restore (context);
+
return FALSE;
}
@@ -1054,10 +1058,12 @@ gimp_color_scale_render_stipple (GimpColorScale *scale)
if ((buf = scale->buf) == NULL)
return;
- GIMP_CAIRO_RGB24_SET_PIXEL (insensitive,
- style->bg[GTK_STATE_INSENSITIVE].red >> 8,
- style->bg[GTK_STATE_INSENSITIVE].green >> 8,
- style->bg[GTK_STATE_INSENSITIVE].blue >> 8);
+ gtk_style_context_get_background_color (context,
+ gtk_widget_get_state_flags (widget),
+ &color);
+ gimp_rgb_get_uchar ((GimpRGB *) &color, &r, &g, &b);
+
+ GIMP_CAIRO_RGB24_SET_PIXEL (insensitive, r, g, b);
for (y = 0; y < scale->height; y++, buf += scale->rowstride)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]