From 06c00208fd9b3299005641d8f646f6d83a491c36 Mon Sep 17 00:00:00 2001 From: XANTRONIX Development <dev@xantronix.com> Date: Thu, 18 Jan 2024 13:55:11 -0500 Subject: [PATCH] Add methods to move, resize gauges, dials --- include/hexagram/dial.h | 2 ++ include/hexagram/gauge.h | 2 ++ src/dial.c | 4 ++++ src/gauge.c | 5 +++++ 4 files changed, 13 insertions(+) diff --git a/include/hexagram/dial.h b/include/hexagram/dial.h index 7597d58..62e6fb1 100644 --- a/include/hexagram/dial.h +++ b/include/hexagram/dial.h @@ -38,6 +38,8 @@ int hexagram_dial_init(hexagram_dial *dial, double min_value, double max_value); +void hexagram_dial_resize(hexagram_dial *dial, double radius); + double hexagram_dial_angle(hexagram_dial *dial, double value); int hexagram_dial_draw_legend(hexagram_dial *dial, diff --git a/include/hexagram/gauge.h b/include/hexagram/gauge.h index 964d49d..2a74e6f 100644 --- a/include/hexagram/gauge.h +++ b/include/hexagram/gauge.h @@ -21,6 +21,8 @@ void hexagram_gauge_init(hexagram_gauge *gauge, hexagram_gauge_draw_callback *draw_bg, hexagram_gauge_draw_callback *draw_fg); +void hexagram_gauge_move(hexagram_gauge *gauge, double x, double y); + int hexagram_gauge_draw_fg(hexagram_gauge *gauge, cairo_t *cr); int hexagram_gauge_draw_bg(hexagram_gauge *gauge, cairo_t *cr); diff --git a/src/dial.c b/src/dial.c index 7d91443..c279237 100644 --- a/src/dial.c +++ b/src/dial.c @@ -190,6 +190,10 @@ error_gradient_create: return -1; } +void hexagram_dial_resize(hexagram_dial *dial, double radius) { + dial->radius = radius; +} + double hexagram_dial_angle(hexagram_dial *dial, double value) { double adj_max = dial->max_value - dial->min_value, adj = _min(adj_max, value - dial->min_value); diff --git a/src/gauge.c b/src/gauge.c index eb88a31..8dfc297 100644 --- a/src/gauge.c +++ b/src/gauge.c @@ -13,3 +13,8 @@ void hexagram_gauge_init(hexagram_gauge *gauge, gauge->draw_bg = draw_bg; gauge->draw_fg = draw_fg; } + +void hexagram_gauge_move(hexagram_gauge *gauge, double x, double y) { + gauge->x = x; + gauge->y = y; +}