From 8a66a74b95f0b50d367b325c80b87c15e4f990cb Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Fri, 19 Jan 2024 12:27:43 -0500 Subject: [PATCH] Add alpha property to gauges --- include/hexagram/gauge.h | 3 +++ src/gauge.c | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/include/hexagram/gauge.h b/include/hexagram/gauge.h index 2a74e6f..012870e 100644 --- a/include/hexagram/gauge.h +++ b/include/hexagram/gauge.h @@ -10,6 +10,7 @@ typedef int (hexagram_gauge_draw_callback)(hexagram_gauge *, typedef struct _hexagram_gauge { double x, y; + double alpha; hexagram_gauge_draw_callback *draw_bg, *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_set_alpha(hexagram_gauge *gauge, double alpha); + 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/gauge.c b/src/gauge.c index 8dfc297..50625b9 100644 --- a/src/gauge.c +++ b/src/gauge.c @@ -10,6 +10,7 @@ void hexagram_gauge_init(hexagram_gauge *gauge, hexagram_gauge_draw_callback *draw_fg) { gauge->x = x; gauge->y = y; + gauge->alpha = 1.0; gauge->draw_bg = draw_bg; gauge->draw_fg = draw_fg; } @@ -18,3 +19,11 @@ void hexagram_gauge_move(hexagram_gauge *gauge, double x, double y) { gauge->x = x; gauge->y = y; } + +void hexagram_gauge_set_alpha(hexagram_gauge *gauge, double alpha) { + if (alpha > 1.0 || alpha < 0.0) { + return; + } + + gauge->alpha = alpha; +}