gui2: added widgets.

This commit is contained in:
Martin Preuss
2026-03-09 21:06:16 +01:00
parent 2827f4e063
commit d3f24284ca
8 changed files with 1043 additions and 82 deletions

View File

@@ -462,6 +462,32 @@ Widget_UngrabTouchEvents:
; ---------------------------------------------------------------------------
; @routine Widget_AddOuterStyleBorders @global
;
; @param Y address of object
; @param r19:r18 value to add the border sizes to
; @return r19:r18 value with added border sizes
; @clobbers r20, r21
Widget_AddOuterStyleBorders:
push zl
push zh
; add borders
ldd zl, Y+WIDGET_OFFS_STYLE_LO
ldd zh, Y+WIDGET_OFFS_STYLE_HI
adiw zh:zl, WIDGET_STYLE_OFFS_OUTERBORDERSIZE
lpm r20, Z
clr r21
add r18, r20 ; add border at begin
adc r19, r21
add r18, r20 ; add border at end
adc r19, r21
pop zh
pop zl
ret
; @end
@@ -989,6 +1015,35 @@ Widget_CalcStringWidthFLASH_done:
; ---------------------------------------------------------------------------
; @routine Widget_CalcStringWidthSDRAM
;
; @param X pointer to text in SDRAM
; @param R18 char width in px
; @return r13:r12 width of string
; @clobbers r16
Widget_CalcStringWidthSDRAM:
clr r12
clr r13
push xl
push xh
Widget_CalcStringWidthSDRAM_loop:
ld r16, X+
tst r16
breq Widget_CalcStringWidthSDRAM_done
add r12, r18
adc r13, r18
sub r13, r18
rjmp Widget_CalcStringWidthSDRAM_loop
Widget_CalcStringWidthSDRAM_done:
pop xh
pop xl
ret
; @end
; ---------------------------------------------------------------------------
; @routine Widget_PackSelfX @global
;