Add methods to move, resize gauges, dials

This commit is contained in:
XANTRONIX 2024-01-18 13:55:11 -05:00
parent 9b4d3f4ae0
commit 06c00208fd
4 changed files with 13 additions and 0 deletions

View file

@ -38,6 +38,8 @@ int hexagram_dial_init(hexagram_dial *dial,
double min_value, double min_value,
double max_value); double max_value);
void hexagram_dial_resize(hexagram_dial *dial, double radius);
double hexagram_dial_angle(hexagram_dial *dial, double value); double hexagram_dial_angle(hexagram_dial *dial, double value);
int hexagram_dial_draw_legend(hexagram_dial *dial, int hexagram_dial_draw_legend(hexagram_dial *dial,

View file

@ -21,6 +21,8 @@ void hexagram_gauge_init(hexagram_gauge *gauge,
hexagram_gauge_draw_callback *draw_bg, hexagram_gauge_draw_callback *draw_bg,
hexagram_gauge_draw_callback *draw_fg); 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_fg(hexagram_gauge *gauge, cairo_t *cr);
int hexagram_gauge_draw_bg(hexagram_gauge *gauge, cairo_t *cr); int hexagram_gauge_draw_bg(hexagram_gauge *gauge, cairo_t *cr);

View file

@ -190,6 +190,10 @@ error_gradient_create:
return -1; return -1;
} }
void hexagram_dial_resize(hexagram_dial *dial, double radius) {
dial->radius = radius;
}
double hexagram_dial_angle(hexagram_dial *dial, double value) { double hexagram_dial_angle(hexagram_dial *dial, double value) {
double adj_max = dial->max_value - dial->min_value, double adj_max = dial->max_value - dial->min_value,
adj = _min(adj_max, value - dial->min_value); adj = _min(adj_max, value - dial->min_value);

View file

@ -13,3 +13,8 @@ void hexagram_gauge_init(hexagram_gauge *gauge,
gauge->draw_bg = draw_bg; gauge->draw_bg = draw_bg;
gauge->draw_fg = draw_fg; gauge->draw_fg = draw_fg;
} }
void hexagram_gauge_move(hexagram_gauge *gauge, double x, double y) {
gauge->x = x;
gauge->y = y;
}