gui: added routines
- Widget_DrawRect - Widget_DrawCharAt - Widget_GetNormalColors - Widget_GetActivatedColors
This commit is contained in:
@@ -821,6 +821,25 @@ Widget_DrawBorder_ret:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; @routine Widget_DrawRect @global
|
||||||
|
;
|
||||||
|
; @param Y address of widget
|
||||||
|
; @param r3:r2 color
|
||||||
|
; @param r5:r4 X0
|
||||||
|
; @param r7:r6 Y0
|
||||||
|
; @param r9:r8 X1/W
|
||||||
|
; @param r11:r10 Y1/H
|
||||||
|
; @clobbers any, !Z
|
||||||
|
|
||||||
|
Widget_DrawRect:
|
||||||
|
rcall Widget_MakeAbsPos ; (r16, r17, r18, r19)
|
||||||
|
bigcall Display_DrawRect
|
||||||
|
ret
|
||||||
|
; @end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
; @routine Widget_FillRect @global
|
; @routine Widget_FillRect @global
|
||||||
;
|
;
|
||||||
@@ -864,6 +883,31 @@ Widget_DrawImage:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; @routine Widget_DrawCharAt @global
|
||||||
|
;
|
||||||
|
; @param Y address of widget
|
||||||
|
; @param R16 char to write
|
||||||
|
; @param R1:R0 background color
|
||||||
|
; @param R3:R2 foreground color
|
||||||
|
; @param R5:R4 X relative to widget
|
||||||
|
; @param R7:R6 Y relative to widget
|
||||||
|
; @clobbers any, !Y
|
||||||
|
|
||||||
|
Widget_DrawCharAt:
|
||||||
|
push r16
|
||||||
|
rcall widgetCalcAbsPosAndBorders ; (R16, R17)
|
||||||
|
pop r16
|
||||||
|
push zl
|
||||||
|
push zh
|
||||||
|
rcall widgetDrawChar ; (any, !Y, !R6, !R7, !R8, !R9, !R10, !R11)
|
||||||
|
pop zh
|
||||||
|
pop zl
|
||||||
|
ret
|
||||||
|
; @end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
; @routine Widget_DrawTextFlash @global
|
; @routine Widget_DrawTextFlash @global
|
||||||
;
|
;
|
||||||
@@ -1115,18 +1159,53 @@ Widget_CheckDims_ret:
|
|||||||
; @clobbers R16
|
; @clobbers R16
|
||||||
|
|
||||||
Widget_SelectColors:
|
Widget_SelectColors:
|
||||||
|
ldd r16, Y+OBJECT_OFFS_FLAGS
|
||||||
|
sbrc r16, WIDGET_FLAGS_ACTIVATED_BIT
|
||||||
|
rjmp Widget_GetActivatedColors
|
||||||
|
rjmp Widget_GetNormalColors
|
||||||
|
; @end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; @routine Widget_GetNormalColors @global
|
||||||
|
;
|
||||||
|
; @param Y address of widget
|
||||||
|
; @return r1:r0 background color
|
||||||
|
; @return r3:r2 foreground color
|
||||||
|
; @clobbers none
|
||||||
|
|
||||||
|
Widget_GetNormalColors:
|
||||||
push zl
|
push zl
|
||||||
push zh
|
push zh
|
||||||
ldd zl, Y+WIDGET_OFFS_STYLE_LO
|
ldd zl, Y+WIDGET_OFFS_STYLE_LO
|
||||||
ldd zh, Y+WIDGET_OFFS_STYLE_HI
|
ldd zh, Y+WIDGET_OFFS_STYLE_HI
|
||||||
ldd r16, Y+OBJECT_OFFS_FLAGS
|
|
||||||
sbrc r16, WIDGET_FLAGS_ACTIVATED_BIT
|
|
||||||
rjmp Widget_SelectColors_activated
|
|
||||||
adiw zh:zl, WIDGET_STYLE_OFFS_FRONTCOL_NORM
|
adiw zh:zl, WIDGET_STYLE_OFFS_FRONTCOL_NORM
|
||||||
rjmp Widget_SelectColors_readColors
|
lpm r2, Z+ ; read foreground color
|
||||||
Widget_SelectColors_activated:
|
lpm r3, Z+
|
||||||
|
lpm r0, Z+ ; read background color
|
||||||
|
lpm r1, Z
|
||||||
|
pop zh
|
||||||
|
pop zl
|
||||||
|
ret
|
||||||
|
; @end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; @routine Widget_GetActivatedColors @global
|
||||||
|
;
|
||||||
|
; @param Y address of widget
|
||||||
|
; @return r1:r0 background color
|
||||||
|
; @return r3:r2 foreground color
|
||||||
|
; @clobbers none
|
||||||
|
|
||||||
|
Widget_GetActivatedColors:
|
||||||
|
push zl
|
||||||
|
push zh
|
||||||
|
ldd zl, Y+WIDGET_OFFS_STYLE_LO
|
||||||
|
ldd zh, Y+WIDGET_OFFS_STYLE_HI
|
||||||
adiw zh:zl, WIDGET_STYLE_OFFS_FRONTCOL_ACTIVATED
|
adiw zh:zl, WIDGET_STYLE_OFFS_FRONTCOL_ACTIVATED
|
||||||
Widget_SelectColors_readColors:
|
|
||||||
lpm r2, Z+ ; read foreground color
|
lpm r2, Z+ ; read foreground color
|
||||||
lpm r3, Z+
|
lpm r3, Z+
|
||||||
lpm r0, Z+ ; read background color
|
lpm r0, Z+ ; read background color
|
||||||
|
|||||||
Reference in New Issue
Block a user