Add alpha property to gauges

This commit is contained in:
XANTRONIX Development 2024-01-19 12:27:43 -05:00
parent 742a0ef6bb
commit 8a66a74b95
2 changed files with 12 additions and 0 deletions

View file

@ -10,6 +10,7 @@ typedef int (hexagram_gauge_draw_callback)(hexagram_gauge *,
typedef struct _hexagram_gauge { typedef struct _hexagram_gauge {
double x, y; double x, y;
double alpha;
hexagram_gauge_draw_callback *draw_bg, hexagram_gauge_draw_callback *draw_bg,
*draw_fg; *draw_fg;
@ -23,6 +24,8 @@ void hexagram_gauge_init(hexagram_gauge *gauge,
void hexagram_gauge_move(hexagram_gauge *gauge, double x, double y); void hexagram_gauge_move(hexagram_gauge *gauge, double x, double y);
void hexagram_gauge_set_alpha(hexagram_gauge *gauge, double alpha);
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

@ -10,6 +10,7 @@ void hexagram_gauge_init(hexagram_gauge *gauge,
hexagram_gauge_draw_callback *draw_fg) { hexagram_gauge_draw_callback *draw_fg) {
gauge->x = x; gauge->x = x;
gauge->y = y; gauge->y = y;
gauge->alpha = 1.0;
gauge->draw_bg = draw_bg; gauge->draw_bg = draw_bg;
gauge->draw_fg = draw_fg; gauge->draw_fg = draw_fg;
} }
@ -18,3 +19,11 @@ void hexagram_gauge_move(hexagram_gauge *gauge, double x, double y) {
gauge->x = x; gauge->x = x;
gauge->y = y; gauge->y = y;
} }
void hexagram_gauge_set_alpha(hexagram_gauge *gauge, double alpha) {
if (alpha > 1.0 || alpha < 0.0) {
return;
}
gauge->alpha = alpha;
}