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;
+}