gui2: added widgets.
This commit is contained in:
@@ -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
|
||||
;
|
||||
|
||||
Reference in New Issue
Block a user