more work on dialogs.

This commit is contained in:
Martin Preuss
2025-11-17 23:01:26 +01:00
parent 520f371560
commit fbcfd65e7f
6 changed files with 174 additions and 46 deletions

View File

@@ -16,9 +16,7 @@
; controllers.
;
; Implements:
; - Display_InputGetFlagsResetChg
; - Display_InputGetCurrentX
; - Display_InputGetCurrentY
; - Display_InputGetState
; Defines:
; - DISPLAY_IFLAGS_PRESSED_BIT
; - DISPLAY_IFLAGS_CHGCOORD_BIT
@@ -133,45 +131,25 @@ XPT2046_Every100ms_store:
; ---------------------------------------------------------------------------
; @routine Display_InputGetCurrentX @global
; @routine Display_InputGetState @global
;
; @return r19:r18 current X
Display_InputGetCurrentX:
lds r18, xpt2046CurrentX
lds r19, xpt2046CurrentX+1
ret
; @end
; ---------------------------------------------------------------------------
; @routine Display_InputGetCurrentY @global
; Get current state, clears stored flags DISPLAY_IFLAGS_CHGCOORD_BIT
; and DISPLAY_IFLAGS_CHGPRESS_BIT.
;
; @return r19:r18 current Y
; @return r16 flags
; @return r5:r4 X
; @return r7:r6 Y
; @clobber r17
Display_InputGetCurrentY:
lds r18, xpt2046CurrentY
lds r19, xpt2046CurrentY+1
ret
; @end
; ---------------------------------------------------------------------------
; @routine Display_InputGetFlagsResetChg @global
;
; Return flags, clear stored flags DISPLAY_IFLAGS_CHGCOORD_BIT and
; DISPLAY_IFLAGS_CHGPRESS_BIT.
;
; @return r16 flags
; @clobbers r17
Display_InputGetFlagsResetChg:
Display_InputGetState:
lds r16, xpt2046Flags
mov r17, r16
cbr r17, (1<<DISPLAY_IFLAGS_CHGCOORD_BIT) | (1<<DISPLAY_IFLAGS_CHGPRESS_BIT)
sts xpt2046Flags, r17
lds r4, xpt2046CurrentX
lds r5, xpt2046CurrentX+1
lds r6, xpt2046CurrentY
lds r7, xpt2046CurrentY+1
ret
; @end