ImageView: handle PRESSED flag.

needed when used as button.
This commit is contained in:
Martin Preuss
2026-01-19 18:34:56 +01:00
parent edc291261f
commit ebb20150ca

View File

@@ -104,6 +104,10 @@ ImageView_OnDraw:
; rcall Widget_Clear ; rcall Widget_Clear
adiw zh:zl, WIDGET_OFFS_OPTS_LO
lpm r14, Z
sbiw zh:zl, WIDGET_OFFS_OPTS_LO
push zl push zl
push zh push zh
; get ressource id ; get ressource id
@@ -122,17 +126,39 @@ ImageView_OnDraw:
brcc ImageView_OnDraw_done brcc ImageView_OnDraw_done
; get background color ; get background color
ldd r16, Y+WIDGET_SD_OFFS_FLAGS
andi r16, (1<<WIDGET_FLAGS_PRESSED_BIT)
breq ImageView_OnDraw_useStoredBgCol
ldi r16, LOW(STYLE_BUTTON_COL_BG_PRESSED)
mov r0, r16
ldi r16, HIGH(STYLE_BUTTON_COL_BG_PRESSED)
mov r1, r16
rjmp ImageView_OnDraw_getPos
ImageView_OnDraw_useStoredBgCol:
ldd r0, Y+IMGVIEW_SD_OFFS_BGCOL_LO ldd r0, Y+IMGVIEW_SD_OFFS_BGCOL_LO
ldd r1, Y+IMGVIEW_SD_OFFS_BGCOL_HI ldd r1, Y+IMGVIEW_SD_OFFS_BGCOL_HI
ImageView_OnDraw_getPos:
; draw at 0/0 ; draw at 0/0
clr r4 ; X clr r4 ; X
clr r5 clr r5
clr r6 ; Y clr r6 ; Y
clr r7 clr r7
sbrs r14, WIDGET_OPTSLO_BORDER_BIT
rjmp ImageView_OnDraw_draw
ldi r16, 2
clr r17
add r4, r16
adc r5, r17
add r6, r16
adc r7, r17
ImageView_OnDraw_draw:
bigcall Widget_DrawImage bigcall Widget_DrawImage
sbrs r14, WIDGET_OPTSLO_BORDER_BIT
rjmp ImageView_OnDraw_done
bigcall Widget_DrawBorder
ImageView_OnDraw_done: ImageView_OnDraw_done:
bigcall Widget_GetSdramPtr ; (none) bigcall Widget_GetSdramPtr ; (none)
ldd r16, Y+WIDGET_SD_OFFS_FLAGS ldd r16, Y+WIDGET_SD_OFFS_FLAGS