diff options
Diffstat (limited to 'src/blocks/slider.c')
| -rw-r--r-- | src/blocks/slider.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/blocks/slider.c b/src/blocks/slider.c index f568105..6ad5211 100644 --- a/src/blocks/slider.c +++ b/src/blocks/slider.c @@ -91,7 +91,10 @@ static void block_slider_render(layout_t *layout, cairo_t *cr) int knob_width = slider->knob_width; int knob_radius = knob_height / 2; - int knob_rw = knob_width * cos(slider->knob_rotation) + knob_height * sin(slider->knob_rotation); + const double degree = M_PI / 180.0; + double knob_rotation = slider->knob_rotation * degree; + + int knob_rw = knob_width * cos(knob_rotation) + knob_height * sin(knob_rotation); int current = (slider->value * (slider->width - knob_rw)) / 100; int knob_x = bar_x + slider->line_width + slider->knob_x_offset + current - knob_rw / 2; @@ -107,7 +110,7 @@ static void block_slider_render(layout_t *layout, cairo_t *cr) cairo_save(cr); cairo_translate(cr, t_x, t_y); - cairo_rotate(cr, slider->knob_rotation); + cairo_rotate(cr, knob_rotation); cairo_translate(cr, -t_x, -t_y); switch (slider->knob) { @@ -139,7 +142,7 @@ static void block_slider_render(layout_t *layout, cairo_t *cr) cairo_save(cr); cairo_translate(cr, t_x, t_y); - cairo_rotate(cr, slider->knob_rotation); + cairo_rotate(cr, knob_rotation); cairo_translate(cr, -t_x, -t_y); switch (slider->knob) { @@ -236,17 +239,9 @@ static int block_slider_validate(block_t *block, config_t *config) errors++; } - const double degree = M_PI / 180.0; - slider->knob_rotation *= degree; - return errors; } -static config_status_t block_slider_change(block_t *block, config_t *config, const char *key, const char *value) -{ - return 0; -} - static config_enum_t knob_shape_enum[] = { { "none", KNOB_NONE }, { "capsule", KNOB_CAPSULE }, @@ -277,6 +272,11 @@ static const config_entry_t block_slider_entries[] = { { 0 }, }; +static config_status_t block_slider_change(block_t *block, config_t *config, const char *key, const char *value) +{ + return config_read_entry(block_slider_entries, block, NULL, "block", block->label, key, value); +} + const block_scheme_t block_slider_scheme = { .name = "slider", .entries = block_slider_entries, |
