From 165c408de117b5f3923b945756e4ebffc5b733d7 Mon Sep 17 00:00:00 2001 From: Federico Angelilli Date: Wed, 20 Nov 2024 22:35:54 +0100 Subject: Make render_capsule function --- src/blocks/slider.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/blocks') diff --git a/src/blocks/slider.c b/src/blocks/slider.c index 708fdca..3fe6e8c 100644 --- a/src/blocks/slider.c +++ b/src/blocks/slider.c @@ -28,6 +28,7 @@ static void block_slider_render(layout_t *layout, cairo_t *cr) { block_slider_t *slider = (block_slider_t *)layout->block; + const int radius = slider->height / 2; int bar_y = layout->y + (layout->height - slider->height) / 2; int bar_x = layout->x + layout->height / 2; @@ -37,7 +38,7 @@ static void block_slider_render(layout_t *layout, cairo_t *cr) cairo_pattern_t *pattern = slider->bg_color.pattern; if (pattern != NULL) { - cairo_rectangle(cr, bar_x, bar_y, slider->width, slider->height); + render_capsule(cr, bar_x, bar_y, slider->width, radius, slider->line_width); cairo_pattern_set_matrix(pattern, &matrix); cairo_set_source(cr, pattern); @@ -46,7 +47,8 @@ static void block_slider_render(layout_t *layout, cairo_t *cr) pattern = slider->bar_color.pattern; if (pattern != NULL) { - cairo_rectangle(cr, bar_x, bar_y, slider->width * (slider->value / 100.0), slider->height); + int current = slider->width * (slider->value / 100.0); + render_capsule(cr, bar_x, bar_y, current, radius, slider->line_width); cairo_pattern_set_matrix(pattern, &matrix); cairo_set_source(cr, pattern); @@ -55,7 +57,7 @@ static void block_slider_render(layout_t *layout, cairo_t *cr) pattern = slider->line_color.pattern; if (pattern != NULL) { - cairo_rectangle(cr, bar_x, bar_y, slider->width, slider->height); + render_capsule(cr, bar_x, bar_y, slider->width, radius, slider->line_width); cairo_pattern_set_matrix(pattern, &matrix); cairo_set_source(cr, pattern); -- cgit v1.2.3