From 9da5f71ce13a04b2bf650d569d51d252109ab78a Mon Sep 17 00:00:00 2001 From: Martin Preuss Date: Wed, 8 Apr 2026 23:53:51 +0200 Subject: [PATCH] gui2: added Widget_GetBorderAndSpacing --- avr/modules/lcd2/gui2/base/widget.asm | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/avr/modules/lcd2/gui2/base/widget.asm b/avr/modules/lcd2/gui2/base/widget.asm index cbe686e..d6c4b7f 100644 --- a/avr/modules/lcd2/gui2/base/widget.asm +++ b/avr/modules/lcd2/gui2/base/widget.asm @@ -506,6 +506,35 @@ Widget_AddOuterStyleBorders: +; --------------------------------------------------------------------------- +; @routine Widget_GetBorderAndSpacing @global +; +; @param Y address of widget +; @return r23 border size +; @return r22 spacing +; @clobbers none + +Widget_GetBorderAndSpacing: + push zl + push zh + ldd zl, Y+WIDGET_OFFS_STYLE_LO + ldd zh, Y+WIDGET_OFFS_STYLE_HI + mov r22, zl + or r22, zh + brne Widget_GetBorderAndSpacing_read + clr r22 + clr r23 + rjmp Widget_GetBorderAndSpacing_done +Widget_GetBorderAndSpacing_read: + adiw zh:zl, WIDGET_STYLE_OFFS_OUTERBORDERSIZE + lpm r23, Z+ ; borders + lpm r22, Z ; spacing +Widget_GetBorderAndSpacing_done: + pop zh + pop zl + ret +; @end + ; ---------------------------------------------------------------------------