simplify scrollbar slider drawing code
No more pattern for the slider, brighter shade for prelight, and keep prelight color even when widget is active
This commit is contained in:
@@ -1694,9 +1694,6 @@ clearlooks_draw_scrollbar_slider (cairo_t *cr,
|
||||
{
|
||||
const CairoColor *border = &colors->shade[7];
|
||||
CairoColor fill = scrollbar->color;
|
||||
CairoColor hilight;
|
||||
CairoColor shade1, shade2, shade3;
|
||||
cairo_pattern_t *pattern;
|
||||
|
||||
if (scrollbar->junction & CL_JUNCTION_BEGIN)
|
||||
{
|
||||
@@ -1732,25 +1729,14 @@ clearlooks_draw_scrollbar_slider (cairo_t *cr,
|
||||
|
||||
cairo_translate (cr, x, y);
|
||||
|
||||
if (widget->prelight)
|
||||
ge_shade_color (&fill, 1.1, &fill);
|
||||
if (widget->prelight || widget->active) {
|
||||
ge_shade_color (&fill, 1.6, &fill);
|
||||
}
|
||||
|
||||
cairo_set_line_width (cr, 1);
|
||||
|
||||
ge_shade_color (&fill, 1.25, &hilight);
|
||||
ge_shade_color (&fill, 1.16, &shade1);
|
||||
ge_shade_color (&fill, 1.08, &shade2);
|
||||
ge_shade_color (&fill, 1.08, &shade3);
|
||||
|
||||
pattern = cairo_pattern_create_linear (1, 1, 1, height-2);
|
||||
cairo_pattern_add_color_stop_rgb (pattern, 0, shade1.r, shade1.g, shade1.b);
|
||||
cairo_pattern_add_color_stop_rgb (pattern, 0.5, shade2.r, shade2.g, shade2.b);
|
||||
cairo_pattern_add_color_stop_rgb (pattern, 0.5, fill.r, fill.g, fill.b);
|
||||
cairo_pattern_add_color_stop_rgb (pattern, 1, shade3.r, shade3.g, shade3.b);
|
||||
ge_cairo_rounded_rectangle (cr, 1, 1, width-2, height-2, radius, widget->corners);
|
||||
cairo_set_source (cr, pattern);
|
||||
ge_cairo_set_color (cr, &fill);
|
||||
cairo_fill (cr);
|
||||
cairo_pattern_destroy (pattern);
|
||||
|
||||
#if 0
|
||||
if (scrollbar->has_color)
|
||||
|
||||
Reference in New Issue
Block a user