diff options
| author | Jon A. Cruz <jon@joncruz.org> | 2009-02-27 08:44:52 +0000 |
|---|---|---|
| committer | joncruz <joncruz@users.sourceforge.net> | 2009-02-27 08:44:52 +0000 |
| commit | b568df726f8fc2454e74e1fbb753041a39d38d01 (patch) | |
| tree | 64130dd69dda0778b74ef7148a8b6890ae1716a1 /src/widgets | |
| parent | share/extensions/inkex.py (class Effect): Remove id_characters instance var, ... (diff) | |
| download | inkscape-b568df726f8fc2454e74e1fbb753041a39d38d01.tar.gz inkscape-b568df726f8fc2454e74e1fbb753041a39d38d01.zip | |
Added work-around for broken themes that fill in with gtk_paint_border, including gtk-qt-engine. Fixes bug #281809.
(bzr r7387)
Diffstat (limited to 'src/widgets')
| -rw-r--r-- | src/widgets/sp-color-scales.cpp | 4 | ||||
| -rw-r--r-- | src/widgets/sp-color-slider.cpp | 29 |
2 files changed, 25 insertions, 8 deletions
diff --git a/src/widgets/sp-color-scales.cpp b/src/widgets/sp-color-scales.cpp index 2cc4915b8..cf06247e7 100644 --- a/src/widgets/sp-color-scales.cpp +++ b/src/widgets/sp-color-scales.cpp @@ -45,6 +45,8 @@ static SPColorSelectorClass *parent_class; #define XPAD 4 #define YPAD 1 +#define noDUMP_CHANGE_INFO 1 + GType sp_color_scales_get_type (void) { @@ -272,7 +274,7 @@ void ColorScales::_setRangeLimit( gdouble upper ) void ColorScales::_colorChanged() { #ifdef DUMP_CHANGE_INFO - g_message("ColorScales::_colorChanged( this=%p, %f, %f, %f, %f)", this, color.v.c[0], color.v.c[1], color.v.c[2], alpha ); + g_message("ColorScales::_colorChanged( this=%p, %f, %f, %f, %f)", this, _color.v.c[0], _color.v.c[1], _color.v.c[2], _alpha ); #endif gfloat tmp[3]; gfloat c[5] = {0.0, 0.0, 0.0, 0.0}; diff --git a/src/widgets/sp-color-slider.cpp b/src/widgets/sp-color-slider.cpp index b8eb899cc..0e30b1ce6 100644 --- a/src/widgets/sp-color-slider.cpp +++ b/src/widgets/sp-color-slider.cpp @@ -15,6 +15,7 @@ #include <gtk/gtkversion.h> #include <gtk/gtksignal.h> #include "sp-color-scales.h" +#include "preferences.h" #define SLIDER_WIDTH 96 #define SLIDER_HEIGHT 8 @@ -460,6 +461,7 @@ sp_color_slider_paint (SPColorSlider *slider, GdkRectangle *area) GdkRectangle wpaint, cpaint, apaint; const guchar *b; gint w, x, y1, y2; + gboolean colorsOnTop = Inkscape::Preferences::get()->getBool("/options/workarounds/colorsontop", false); widget = GTK_WIDGET (slider); @@ -482,10 +484,21 @@ sp_color_slider_paint (SPColorSlider *slider, GdkRectangle *area) aarea.height = carea.height; /* Actual paintable area */ - if (!gdk_rectangle_intersect (area, &warea, &wpaint)) return; + if (!gdk_rectangle_intersect (area, &warea, &wpaint)) { + return; + } b = NULL; + // Draw shadow + if (colorsOnTop) { + gtk_paint_shadow( widget->style, widget->window, + (GtkStateType)widget->state, GTK_SHADOW_IN, + area, widget, "colorslider", + 0, 0, + warea.width, warea.height); + } + /* Paintable part of color gradient area */ if (gdk_rectangle_intersect (area, &carea, &cpaint)) { if (slider->map) { @@ -556,12 +569,14 @@ sp_color_slider_paint (SPColorSlider *slider, GdkRectangle *area) } } - /* Draw shadow */ - gtk_paint_shadow (widget->style, widget->window, - (GtkStateType)widget->state, GTK_SHADOW_IN, - area, widget, "colorslider", - 0, 0, - warea.width, warea.height); + /* Draw shadow */ + if (!colorsOnTop) { + gtk_paint_shadow( widget->style, widget->window, + (GtkStateType)widget->state, GTK_SHADOW_IN, + area, widget, "colorslider", + 0, 0, + warea.width, warea.height); + } if (gdk_rectangle_intersect (area, &aarea, &apaint)) { |
