summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorAlex Valavanis <valavanisalex@gmail.com>2013-01-31 21:55:46 +0000
committerAlex Valavanis <valavanisalex@gmail.com>2013-01-31 21:55:46 +0000
commit71b23adf38b7d0cdc586327214ddb363f60af994 (patch)
tree8ac5ce5ae5be0a0837cbe1eed724082192bed038 /src/widgets
parentText toolbar will display style options for the first font in a font-family l... (diff)
downloadinkscape-71b23adf38b7d0cdc586327214ddb363f60af994.tar.gz
inkscape-71b23adf38b7d0cdc586327214ddb363f60af994.zip
Clean up Cairo rendering in a couple of widgets
(bzr r12083)
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/sp-color-slider.cpp59
1 files changed, 18 insertions, 41 deletions
diff --git a/src/widgets/sp-color-slider.cpp b/src/widgets/sp-color-slider.cpp
index 37cccda9f..471ee3852 100644
--- a/src/widgets/sp-color-slider.cpp
+++ b/src/widgets/sp-color-slider.cpp
@@ -642,49 +642,26 @@ static gboolean sp_color_slider_draw(GtkWidget *widget, cairo_t *cr)
gint x = (int)(slider->value * (carea.width - 1) - ARROW_SIZE / 2 + carea.x);
gint y1 = carea.y;
gint y2 = carea.y + carea.height - 1;
- gint w = ARROW_SIZE;
cairo_set_line_width(cr, 1.0);
-#if GTK_CHECK_VERSION(3,0,0)
- GdkRGBA white = {1,1,1,1};
- GdkRGBA black = {0,0,0,1};
-#else
- GdkColor white, black;
- gdk_color_parse("#fff", &white);
- gdk_color_parse("#000", &black);
-#endif
-
- while ( w > 0 )
- {
-#if GTK_CHECK_VERSION(3,0,0)
- gdk_cairo_set_source_rgba(cr, &white);
-#else
- gdk_cairo_set_source_color(cr, &white);
-#endif
- cairo_move_to(cr, x - 0.5, y1 + 0.5);
- cairo_line_to(cr, x + w - 1 + 0.5, y1 + 0.5);
- cairo_move_to(cr, x - 0.5, y2 + 0.5);
- cairo_line_to(cr, x + w - 1 + 0.5, y2 + 0.5);
- cairo_stroke(cr);
- w -=2;
- x++;
- if ( w > 0 )
- {
-#if GTK_CHECK_VERSION(3,0,0)
- gdk_cairo_set_source_rgba(cr, &black);
-#else
- gdk_cairo_set_source_color(cr, &black);
-#endif
- cairo_move_to(cr, x - 0.5, y1 + 0.5);
- cairo_line_to(cr, x + w - 1 + 0.5, y1 + 0.5);
- cairo_move_to(cr, x - 0.5, y2 + 0.5);
- cairo_line_to(cr, x + w - 1 + 0.5, y2 + 0.5);
- cairo_stroke(cr);
- }
- y1++;
- y2--;
- }
-
+ // Define top arrow
+ cairo_move_to(cr, x - 0.5, y1 + 0.5);
+ cairo_line_to(cr, x + ARROW_SIZE - 0.5, y1 + 0.5);
+ cairo_line_to(cr, x + (ARROW_SIZE-1)/2.0, y1 + ARROW_SIZE/2.0 + 0.5);
+ cairo_line_to(cr, x - 0.5, y1 + 0.5);
+
+ // Define bottom arrow
+ cairo_move_to(cr, x - 0.5, y2 + 0.5);
+ cairo_line_to(cr, x + ARROW_SIZE - 0.5, y2 + 0.5);
+ cairo_line_to(cr, x + (ARROW_SIZE-1)/2.0, y2 - ARROW_SIZE/2.0 + 0.5);
+ cairo_line_to(cr, x - 0.5, y2 + 0.5);
+
+ // Render both arrows
+ cairo_set_source_rgb(cr, 1.0, 1.0, 1.0);
+ cairo_stroke_preserve(cr);
+ cairo_set_source_rgb(cr, 0.0, 0.0, 0.0);
+ cairo_fill(cr);
+
return FALSE;
}