avr: more work on c03 and gui.
This commit is contained in:
@@ -18,7 +18,8 @@
|
||||
.equ VLABEL_OFFS_VALUE_LO = VLABEL_OFFS_BEGIN+0
|
||||
.equ VLABEL_OFFS_VALUE_HI = VLABEL_OFFS_BEGIN+1
|
||||
.equ VLABEL_OFFS_POSTKOMMADIGITS = VLABEL_OFFS_BEGIN+2
|
||||
.equ VLABEL_SIZE = VLABEL_OFFS_BEGIN+3
|
||||
.equ VLABEL_OFFS_TOTALDIGITS = VLABEL_OFFS_BEGIN+3
|
||||
.equ VLABEL_SIZE = VLABEL_OFFS_BEGIN+4
|
||||
|
||||
|
||||
.equ VLABEL_VALUE = WIDGET_VALUE_NEXTFREE+0
|
||||
@@ -42,13 +43,16 @@
|
||||
; @param r16 value for OBJECT_OFFS_OPTS
|
||||
; @param r17 value for WIDGET_OFFS_PACK
|
||||
; @param r20 number of postkomma digits
|
||||
; @param r21 total number of digits (0=variable)
|
||||
; @clobbers any
|
||||
|
||||
ValueLabel_new:
|
||||
push r20
|
||||
ldi r24, LOW(VLABEL_SIZE)
|
||||
ldi r25, HIGH(VLABEL_SIZE)
|
||||
bigcall Object_Alloc ; (!r16, !r17, !X)
|
||||
push r21
|
||||
ldi r24, LOW(VLABEL_SIZE)
|
||||
ldi r25, HIGH(VLABEL_SIZE)
|
||||
bigcall Object_Alloc ; (!r16, !r17, !X)
|
||||
pop r21
|
||||
pop r20
|
||||
brcc ValueLabel_new_ret
|
||||
rcall ValueLabel_Init ; (r16, r17, X)
|
||||
@@ -67,16 +71,20 @@ ValueLabel_new_ret:
|
||||
; @param r16 value for OBJECT_OFFS_OPTS
|
||||
; @param r17 value for WIDGET_OFFS_PACK
|
||||
; @param r20 number of postkomma digits
|
||||
; @param r21 total number of digits (0=variable)
|
||||
; @clobbers r16, r17, X
|
||||
|
||||
ValueLabel_Init:
|
||||
push r20
|
||||
; call base class
|
||||
bigcall Widget_Init ; (r16, r17, X)
|
||||
push r21
|
||||
; call base class
|
||||
bigcall Widget_Init ; (r16, r17, X)
|
||||
pop r21
|
||||
pop r20
|
||||
|
||||
; setup valueLabel data
|
||||
std Y+VLABEL_OFFS_POSTKOMMADIGITS, r20
|
||||
std Y+VLABEL_OFFS_TOTALDIGITS, r21
|
||||
|
||||
; set default signal map
|
||||
ldi r16, LOW(ValueLabel_DefaultSignalmap*2)
|
||||
@@ -168,7 +176,14 @@ ValueLabel_OnDraw_ret:
|
||||
; @clobbers any, !Y
|
||||
|
||||
ValueLabel_OnGetDefaultWidth:
|
||||
ldd r17, Y+VLABEL_OFFS_TOTALDIGITS
|
||||
tst r17
|
||||
breq ValueLabel_OnGetDefaultWidth_calcRealSize
|
||||
bigcall Widget_CalcFixedStringWidth
|
||||
rjmp ValueLabel_OnGetDefaultWidth_done
|
||||
ValueLabel_OnGetDefaultWidth_calcRealSize:
|
||||
rcall valueLabelCalcTextWidth
|
||||
ValueLabel_OnGetDefaultWidth_done:
|
||||
mov r18, r12
|
||||
mov r19, r13
|
||||
bigcall Widget_AddOuterStyleBorders ; (r20, r21)
|
||||
|
||||
Reference in New Issue
Block a user