avr: added text aligning in labels.
This commit is contained in:
@@ -50,7 +50,7 @@ Label_OnDraw:
|
||||
rcall labelWriteText
|
||||
|
||||
mov r16, r14
|
||||
andi r16, (1<<WIDGETS_OPTSLO_BORDER_BIT)
|
||||
andi r16, (1<<WIDGET_OPTSLO_BORDER_BIT)
|
||||
breq Label_OnDraw_done
|
||||
ldi r16, LOW(STYLE_BUTTON_COL_BORDER)
|
||||
mov r2, r16
|
||||
@@ -79,26 +79,30 @@ Label_OnDraw_ret:
|
||||
; @clobbers any, !Z
|
||||
|
||||
labelWriteText:
|
||||
clr r4
|
||||
clr r5
|
||||
clr r6
|
||||
clr r7
|
||||
mov r16, r14
|
||||
andi r16, (1<<WIDGETS_OPTSLO_BORDER_BIT)
|
||||
breq labelWriteText_draw
|
||||
ldi r16, 2
|
||||
clr r17
|
||||
add r4, r16 ; x+=2
|
||||
adc r5, r17
|
||||
add r6, r16 ; y+=2
|
||||
adc r7, r17
|
||||
labelWriteText_draw:
|
||||
push zl
|
||||
push zh
|
||||
adiw zh:zl, LABEL_OFFS_TEXT_LO
|
||||
lpm r16, Z+
|
||||
lpm zh, Z
|
||||
mov zl, r16
|
||||
or r16, zh
|
||||
breq labelWriteText_noText
|
||||
|
||||
ldi r18, STYLE_WIN_FONT_WIDTH
|
||||
rcall Widget_CalcStringWidthFLASH ; r13:r12=string width
|
||||
pop zh
|
||||
pop zl
|
||||
rcall Widget_AlignPosXY ; (r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19)
|
||||
adiw zh:zl, LABEL_OFFS_TEXT_LO
|
||||
lpm r12, Z+
|
||||
lpm r13, Z
|
||||
sbiw zh:zl, LABEL_OFFS_TEXT_LO+1
|
||||
bigcall Widget_DrawTextFlash
|
||||
ret
|
||||
labelWriteText_noText:
|
||||
pop zh
|
||||
pop zl
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user