gui: added Widget_GetRessource

This commit is contained in:
Martin Preuss
2026-05-18 17:14:17 +02:00
parent 4ad55e2c6e
commit 311741ae64
2 changed files with 28 additions and 14 deletions

View File

@@ -266,10 +266,7 @@ ImageView_OnSetBgCol:
imageViewGetRessource: imageViewGetRessource:
ldd r16, Y+IMAGEVIEW_OFFS_RESSOURCEID_LO ldd r16, Y+IMAGEVIEW_OFFS_RESSOURCEID_LO
ldd r17, Y+IMAGEVIEW_OFFS_RESSOURCEID_HI ldd r17, Y+IMAGEVIEW_OFFS_RESSOURCEID_HI
ldi zl, LOW(RESSOURCE_ADDR*2) bigjmp Widget_GetRessource ; Z=ressource (r16, r17, r18)
ldi zh, HIGH(RESSOURCE_ADDR*2)
bigcall RES_GetRessource ; (r16, r17, r18)
ret
; @end ; @end
@@ -298,7 +295,7 @@ imageViewAlignContentXY:
; @routine imageViewGetImageWidth ; @routine imageViewGetImageWidth
; ;
; @param Y address of widget ; @param Y address of widget
; @return Z byte address pointer to text in FLASH ; @return Z byte address pointer to image in FLASH
; @return r13:r12 image width ; @return r13:r12 image width
; @clobbers r16, r17, r18, Z ; @clobbers r16, r17, r18, Z

View File

@@ -92,15 +92,16 @@
.equ WIDGET_SIGNAL_DRAW = OBJECT_SIGNAL_NEXTFREE+3 .equ WIDGET_SIGNAL_DRAW = OBJECT_SIGNAL_NEXTFREE+3
.equ WIDGET_SIGNAL_TOUCH = OBJECT_SIGNAL_NEXTFREE+4 .equ WIDGET_SIGNAL_TOUCH = OBJECT_SIGNAL_NEXTFREE+4
.equ WIDGET_SIGNAL_COMMAND = OBJECT_SIGNAL_NEXTFREE+5 .equ WIDGET_SIGNAL_COMMAND = OBJECT_SIGNAL_NEXTFREE+5
.equ WIDGET_SIGNAL_CHANGE = OBJECT_SIGNAL_NEXTFREE+6 .equ WIDGET_SIGNAL_ALTCMD = OBJECT_SIGNAL_NEXTFREE+6
.equ WIDGET_SIGNAL_SETVALUE = OBJECT_SIGNAL_NEXTFREE+7 .equ WIDGET_SIGNAL_CHANGE = OBJECT_SIGNAL_NEXTFREE+7
.equ WIDGET_SIGNAL_GETVALUE = OBJECT_SIGNAL_NEXTFREE+8 .equ WIDGET_SIGNAL_SETVALUE = OBJECT_SIGNAL_NEXTFREE+8
.equ WIDGET_SIGNAL_KEEPALIVE = OBJECT_SIGNAL_NEXTFREE+9 .equ WIDGET_SIGNAL_GETVALUE = OBJECT_SIGNAL_NEXTFREE+9
.equ WIDGET_SIGNAL_TOUCH_BEGIN = OBJECT_SIGNAL_NEXTFREE+10 .equ WIDGET_SIGNAL_KEEPALIVE = OBJECT_SIGNAL_NEXTFREE+10
.equ WIDGET_SIGNAL_TOUCH_MOVE = OBJECT_SIGNAL_NEXTFREE+11 .equ WIDGET_SIGNAL_TOUCH_BEGIN = OBJECT_SIGNAL_NEXTFREE+11
.equ WIDGET_SIGNAL_TOUCH_END = OBJECT_SIGNAL_NEXTFREE+12 .equ WIDGET_SIGNAL_TOUCH_MOVE = OBJECT_SIGNAL_NEXTFREE+12
.equ WIDGET_SIGNAL_DIALOG_END = OBJECT_SIGNAL_NEXTFREE+13 .equ WIDGET_SIGNAL_TOUCH_END = OBJECT_SIGNAL_NEXTFREE+13
.equ WIDGET_SIGNAL_NEXTFREE = OBJECT_SIGNAL_NEXTFREE+14 .equ WIDGET_SIGNAL_DIALOG_END = OBJECT_SIGNAL_NEXTFREE+14
.equ WIDGET_SIGNAL_NEXTFREE = OBJECT_SIGNAL_NEXTFREE+15
; values for signals WIDGET_SIGNAL_SETVALUE and WIDGET_SIGNAL_GETVALUE ; values for signals WIDGET_SIGNAL_SETVALUE and WIDGET_SIGNAL_GETVALUE
.equ WIDGET_VALUE_DEFAULT_WIDTH = 1 .equ WIDGET_VALUE_DEFAULT_WIDTH = 1
@@ -575,6 +576,22 @@ Widget_GetApp:
; ---------------------------------------------------------------------------
; @routine Widget_GetRessource @global
;
; @param r17:r16 ressource id
; @return CFLAG set if ressource found, cleared otherwise
; @return Z pointer to ressource in FLASH (byte address for LPM!)
; @clobbers r16, r17, r18
Widget_GetRessource:
ldi zl, LOW(RESSOURCE_ADDR*2)
ldi zh, HIGH(RESSOURCE_ADDR*2)
bigjmp RES_GetRessource ; (r16, r17, r18)
; @end
; --------------------------------------------------------------------------- ; ---------------------------------------------------------------------------
; @routine Widget_GrabTouchEvents @global ; @routine Widget_GrabTouchEvents @global
; ;