From 91b0878ced623dd93022751430594a1acfc4db23 Mon Sep 17 00:00:00 2001 From: Martin Preuss Date: Wed, 24 Sep 2025 23:34:23 +0200 Subject: [PATCH] add "value" to drawable as a general purpose variable. --- src/lib/aqdiagram/draw/w_drawable.c | 26 ++++++++++++++++++++++++++ src/lib/aqdiagram/draw/w_drawable.h | 3 +++ src/lib/aqdiagram/draw/w_drawable_p.h | 1 + 3 files changed, 30 insertions(+) diff --git a/src/lib/aqdiagram/draw/w_drawable.c b/src/lib/aqdiagram/draw/w_drawable.c index fa763fc..86ac2fa 100644 --- a/src/lib/aqdiagram/draw/w_drawable.c +++ b/src/lib/aqdiagram/draw/w_drawable.c @@ -236,6 +236,32 @@ void AQDG_DrawableWidget_SetText(AQDG_OBJECT *object, const char *s) +double AQDG_DrawableWidget_GetValue(const AQDG_OBJECT *object) +{ + if (object) { + AQDG_OBJECT_DRAWABLE *xo; + + xo=GWEN_INHERIT_GETDATA(AQDG_OBJECT, AQDG_OBJECT_DRAWABLE, object); + return xo?xo->value:0.0; + } + return 0.0; +} + + + +void AQDG_DrawableWidget_SetValue(AQDG_OBJECT *object, double v) +{ + if (object) { + AQDG_OBJECT_DRAWABLE *xo; + + xo=GWEN_INHERIT_GETDATA(AQDG_OBJECT, AQDG_OBJECT_DRAWABLE, object); + if (xo) + xo->value=v; + } +} + + + AQDG_WIDGET_DRAWABLE_DRAW_FN AQDG_DrawableWidget_SetDrawFn(AQDG_OBJECT *object, AQDG_WIDGET_DRAWABLE_DRAW_FN fn) { if (object) { diff --git a/src/lib/aqdiagram/draw/w_drawable.h b/src/lib/aqdiagram/draw/w_drawable.h index b28fa5c..1ec3d4e 100644 --- a/src/lib/aqdiagram/draw/w_drawable.h +++ b/src/lib/aqdiagram/draw/w_drawable.h @@ -52,6 +52,9 @@ AQDG_API void AQDG_DrawableWidget_SetBackgroundPenId(AQDG_OBJECT *object, int i) AQDG_API const char *AQDG_DrawableWidget_GetText(const AQDG_OBJECT *object); AQDG_API void AQDG_DrawableWidget_SetText(AQDG_OBJECT *object, const char *s); +AQDG_API double AQDG_DrawableWidget_GetValue(const AQDG_OBJECT *object); +AQDG_API void AQDG_DrawableWidget_SetValue(AQDG_OBJECT *object, double v); + AQDG_API int AQDG_DrawableWidget_GetContentWidth(const AQDG_OBJECT *object); AQDG_API void AQDG_DrawableWidget_SetContentWidth(AQDG_OBJECT *object, int i); diff --git a/src/lib/aqdiagram/draw/w_drawable_p.h b/src/lib/aqdiagram/draw/w_drawable_p.h index 1009872..3a03619 100644 --- a/src/lib/aqdiagram/draw/w_drawable_p.h +++ b/src/lib/aqdiagram/draw/w_drawable_p.h @@ -20,6 +20,7 @@ struct AQDG_OBJECT_DRAWABLE { int backgroundPenId; char *text; + double value; AQDG_WIDGET_DRAWABLE_DRAW_FN drawFn; };