gui2: use bigcall (code becomes too large for rjmp/rcall).

This commit is contained in:
Martin Preuss
2026-03-21 08:29:06 +01:00
parent 5e3a8f444a
commit 69a16c4c0f
4 changed files with 13 additions and 13 deletions

View File

@@ -284,10 +284,10 @@ imageViewGetRessource:
imageViewAlignContentXY: imageViewAlignContentXY:
rcall imageViewGetImageWidth ; R13:R12=width (r16, r17, r18, Z) rcall imageViewGetImageWidth ; R13:R12=width (r16, r17, r18, Z)
rcall Widget_PackContentX ; R5:R4=X (r17, r18, r19, r20, r21) bigcall Widget_PackContentX ; R5:R4=X (r17, r18, r19, r20, r21)
rcall imageViewGetImageHeight ; R13:R12=height (r16, r17, r18, Z) rcall imageViewGetImageHeight ; R13:R12=height (r16, r17, r18, Z)
rcall Widget_PackContentY ; R7:R6=Y (r17, r18, r19, r20, r21) bigcall Widget_PackContentY ; R7:R6=Y (r17, r18, r19, r20, r21)
ret ret
; @end ; @end

View File

@@ -180,7 +180,7 @@ Label_OnGetDefaultWidth:
; @clobbers any, !Y ; @clobbers any, !Y
Label_OnGetDefaultHeight: Label_OnGetDefaultHeight:
rcall Widget_GetCharHeight ; R16=char height bigcall Widget_GetCharHeight ; R16=char height
mov r18, r16 mov r18, r16
clr r19 clr r19
bigcall Widget_AddOuterStyleBorders ; (r20, r21) bigcall Widget_AddOuterStyleBorders ; (r20, r21)
@@ -217,12 +217,12 @@ labelWriteText_ret:
labelAlignTextXY: labelAlignTextXY:
rcall labelCalcTextWidth ; Z=text, R13:R12=text width (r16, r17, r18) rcall labelCalcTextWidth ; Z=text, R13:R12=text width (r16, r17, r18)
rcall Widget_PackContentX ; R5:R4=X (r17, r18, r19, r20, r21) bigcall Widget_PackContentX ; R5:R4=X (r17, r18, r19, r20, r21)
rcall Widget_GetCharHeight ; R16=char height bigcall Widget_GetCharHeight ; R16=char height
mov r12, r16 mov r12, r16
clr r13 clr r13
rcall Widget_PackContentY ; R7:R6=Y (r17, r18, r19, r20, r21) bigcall Widget_PackContentY ; R7:R6=Y (r17, r18, r19, r20, r21)
ret ret
; @end ; @end
@@ -245,7 +245,7 @@ labelCalcTextWidth:
bigcall RES_GetRessource ; (r16, r17, r18) bigcall RES_GetRessource ; (r16, r17, r18)
brcc labelCalcTextWidth_ret brcc labelCalcTextWidth_ret
rcall Widget_GetCharWidth ; R16=char width bigcall Widget_GetCharWidth ; R16=char width
mov r18, r16 mov r18, r16
bigcall Widget_CalcStringWidthFLASH ; r13:r12=size (r16) bigcall Widget_CalcStringWidthFLASH ; r13:r12=size (r16)
sec sec

View File

@@ -176,7 +176,7 @@ ValueLabel_OnGetDefaultWidth:
; @clobbers any, !Y ; @clobbers any, !Y
ValueLabel_OnGetDefaultHeight: ValueLabel_OnGetDefaultHeight:
rcall Widget_GetCharHeight ; R16=char height bigcall Widget_GetCharHeight ; R16=char height
mov r18, r16 mov r18, r16
clr r19 clr r19
bigcall Widget_AddOuterStyleBorders ; (r20, r21) bigcall Widget_AddOuterStyleBorders ; (r20, r21)
@@ -214,12 +214,12 @@ valueLabelAlignTextXY:
rcall valueLabelCalcTextWidth ; X=ptr to text in SDRAM, R13:R12=text width (r16, r17, r18) rcall valueLabelCalcTextWidth ; X=ptr to text in SDRAM, R13:R12=text width (r16, r17, r18)
push xl push xl
push xh push xh
rcall Widget_PackContentX ; R5:R4=X (r17, r18, r19, r20, r21) bigcall Widget_PackContentX ; R5:R4=X (r17, r18, r19, r20, r21)
rcall Widget_GetCharHeight ; R16=char height bigcall Widget_GetCharHeight ; R16=char height
mov r12, r16 mov r12, r16
clr r13 clr r13
rcall Widget_PackContentY ; R7:R6=Y (r17, r18, r19, r20, r21) bigcall Widget_PackContentY ; R7:R6=Y (r17, r18, r19, r20, r21)
pop xh pop xh
pop xl pop xl
ret ret
@@ -240,7 +240,7 @@ valueLabelCalcTextWidth:
ldd r21, Y+VLABEL_OFFS_VALUE_HI ldd r21, Y+VLABEL_OFFS_VALUE_HI
ldd r24, Y+VLABEL_OFFS_POSTKOMMADIGITS ldd r24, Y+VLABEL_OFFS_POSTKOMMADIGITS
bigcall IntToAscii ; X=pointer to text bigcall IntToAscii ; X=pointer to text
rcall Widget_GetCharWidth ; R16=char width bigcall Widget_GetCharWidth ; R16=char width
mov r18, r16 mov r18, r16
bigcall Widget_CalcStringWidthSDRAM ; r13:r12=size (r16) bigcall Widget_CalcStringWidthSDRAM ; r13:r12=size (r16)
valueLabelCalcTextWidth_ret: valueLabelCalcTextWidth_ret:

View File

@@ -253,7 +253,7 @@ vLayoutHorizontally_setWidth:
ldd r17, Y+WIDGET_OFFS_PACK ldd r17, Y+WIDGET_OFFS_PACK
mov yl, xl ; use parent mov yl, xl ; use parent
mov yh, xh mov yh, xh
rcall Widget_PackSelfX ; R5:R4=new pos (r17, r18, r19, r20, r21) !! TODO: ERROR when FILLED !! bigcall Widget_PackSelfX ; R5:R4=new pos (r17, r18, r19, r20, r21) !! TODO: ERROR when FILLED !!
pop yh pop yh
pop yl pop yl
std Y+WIDGET_OFFS_X_LO, r4 std Y+WIDGET_OFFS_X_LO, r4