gui2: more work, added image viewer.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
; ***************************************************************************
|
||||
; copyright : (C) 2025 by Martin Preuss
|
||||
; copyright : (C) 2026 by Martin Preuss
|
||||
; email : martin@libchipcard.de
|
||||
;
|
||||
; ***************************************************************************
|
||||
@@ -34,6 +34,15 @@ testWinHeader_ramdata:
|
||||
testWinBody_ramdata:
|
||||
.byte WIDGET_SD_SIZE
|
||||
|
||||
testWinBodyImg1_ramdata:
|
||||
.byte IMGVIEW_SD_SIZE
|
||||
|
||||
testWinBodyImg2_ramdata:
|
||||
.byte IMGVIEW_SD_SIZE
|
||||
|
||||
testWinBodyImg3_ramdata:
|
||||
.byte IMGVIEW_SD_SIZE
|
||||
|
||||
|
||||
|
||||
; ***************************************************************************
|
||||
@@ -70,11 +79,12 @@ testApp_flashdata:
|
||||
.dw 0 ; root timer
|
||||
|
||||
testApp_signalmap:
|
||||
.db 0, OBJECT_SIGNAL_TIMER, LOW(GuiApp_OnTimer), HIGH(GuiApp_OnTimer)
|
||||
.db 0, WIDGET_SIGNAL_TOUCH, LOW(GuiApp_OnTouch), HIGH(GuiApp_OnTouch)
|
||||
.db 0, WIDGET_SIGNAL_SHOW, LOW(GuiApp_OnShow), HIGH(GuiApp_OnShow)
|
||||
.db 0, WIDGET_SIGNAL_HIDE, LOW(GuiApp_OnHide), HIGH(GuiApp_OnHide)
|
||||
.db 0, OBJECT_SIGNAL_CREATE, LOW(GuiApp_OnCreate), HIGH(GuiApp_OnCreate)
|
||||
.db 0, OBJECT_SIGNAL_TIMER, LOW(GuiApp_OnTimer), HIGH(GuiApp_OnTimer)
|
||||
.db 0, WIDGET_SIGNAL_TOUCH, LOW(GuiApp_OnTouch), HIGH(GuiApp_OnTouch)
|
||||
.db 0, OBJECT_SIGNAL_RECVMSG, LOW(GuiApp_OnMsgReceived), HIGH(GuiApp_OnMsgReceived)
|
||||
.db 0, WIDGET_SIGNAL_SHOW, LOW(GuiApp_OnShow), HIGH(GuiApp_OnShow)
|
||||
.db 0, WIDGET_SIGNAL_HIDE, LOW(GuiApp_OnHide), HIGH(GuiApp_OnHide)
|
||||
.db 0, OBJECT_SIGNAL_CREATE, LOW(GuiApp_OnCreate), HIGH(GuiApp_OnCreate)
|
||||
.db 0, 0, 0, 0 ; end of table
|
||||
|
||||
|
||||
@@ -136,7 +146,7 @@ testWinBody_flashdata:
|
||||
; OBJECT
|
||||
.dw 0 ; next
|
||||
.dw testWin_flashdata*2 ; parent
|
||||
.dw 0 ; first child
|
||||
.dw testWinBodyImg1_flashdata*2 ; first child
|
||||
.dw 0 ; target
|
||||
.dw 0 ; selector (ony lower 8 bits used)
|
||||
.dw testWinBody_signalmap*2 ; signal map
|
||||
@@ -154,55 +164,96 @@ testWinBody_flashdata:
|
||||
|
||||
testWinBody_signalmap:
|
||||
.db 0, OBJECT_SIGNAL_CREATE, LOW(Widget_OnCreate), HIGH(Widget_OnCreate)
|
||||
.db 0, WIDGET_SIGNAL_DRAW, LOW(ImageViewer_OnDraw), HIGH(ImageViewer_OnDraw)
|
||||
.db 0, WIDGET_SIGNAL_DRAW, LOW(Widget_OnDraw), HIGH(Widget_OnDraw)
|
||||
.db 0, 0, 0, 0 ; end of table
|
||||
|
||||
|
||||
|
||||
ImageViewer_OnDraw:
|
||||
bigcall Widget_GetSdramPtr ; (none)
|
||||
ldd r16, Y+WIDGET_SD_OFFS_FLAGS
|
||||
andi r16, (1<<WIDGET_FLAGS_DIRTY_BIT)
|
||||
breq ImageViewer_OnDraw_ret
|
||||
testWinBodyImg1_flashdata:
|
||||
; OBJECT
|
||||
.dw testWinBodyImg2_flashdata*2 ; next
|
||||
.dw testWinBody_flashdata*2 ; parent
|
||||
.dw 0 ; first child
|
||||
.dw 0 ; target
|
||||
.dw 0 ; selector (ony lower 8 bits used)
|
||||
.dw testWinBodyImg1_signalmap*2 ; signal map
|
||||
; WIDGET
|
||||
.db 0, 0 ; opts lo, hi
|
||||
.dw 4 ; X
|
||||
.dw STYLE_WIN_TITLE_HEIGHT+6 ; Y
|
||||
.dw 96 ; W
|
||||
.dw 96 ; H
|
||||
.dw STYLE_WIN_FOREGROUND ; front color
|
||||
.dw STYLE_WIN_BACKGROUND ; back color
|
||||
.dw STYLE_WIN_FONT*2 ; font
|
||||
.dw testWinBodyImg1_ramdata ; ptr to SDRAM
|
||||
; IMGVIEW
|
||||
.dw RESSSOURCE_IMG_CLOUD96 ; ressource id
|
||||
|
||||
rcall Widget_Clear
|
||||
testWinBodyImg1_signalmap:
|
||||
.db 0, WIDGET_SIGNAL_DRAW, LOW(ImageView_OnDraw), HIGH(ImageView_OnDraw)
|
||||
.db 0, OBJECT_SIGNAL_CREATE, LOW(ImageView_OnCreate), HIGH(ImageView_OnCreate)
|
||||
.db 0, 0, 0, 0 ; end of table
|
||||
|
||||
push zl
|
||||
push zh
|
||||
ldi zl, LOW(RESSOURCE_ADDR*2)
|
||||
ldi zh, HIGH(RESSOURCE_ADDR*2)
|
||||
ldi r16, LOW(RESSSOURCE_IMG_CLOUD96)
|
||||
ldi r17, HIGH(RESSSOURCE_IMG_CLOUD96)
|
||||
rcall RES_GetRessource
|
||||
mov r12, zl
|
||||
mov r13, zh
|
||||
pop zh
|
||||
pop zl
|
||||
brcc ImageViewer_OnDraw_done
|
||||
|
||||
ldi r16, LOW(DISPLAY_COLOR_DARKGREEN) ; background color
|
||||
mov r0, r16
|
||||
ldi r16, HIGH(DISPLAY_COLOR_DARKGREEN)
|
||||
mov r1, r16
|
||||
ldi r16, 4 ; X
|
||||
mov r4, r16
|
||||
clr r5
|
||||
ldi r16, 4
|
||||
mov r6, r16 ; Y
|
||||
clr r7
|
||||
|
||||
bigcall Widget_DrawImage
|
||||
testWinBodyImg2_flashdata:
|
||||
; OBJECT
|
||||
.dw testWinBodyImg3_flashdata*2 ; next
|
||||
.dw testWinBody_flashdata*2 ; parent
|
||||
.dw 0 ; first child
|
||||
.dw 0 ; target
|
||||
.dw 0 ; selector (ony lower 8 bits used)
|
||||
.dw testWinBodyImg2_signalmap*2 ; signal map
|
||||
; WIDGET
|
||||
.db 0, 0 ; opts lo, hi
|
||||
.dw 104 ; X
|
||||
.dw STYLE_WIN_TITLE_HEIGHT+6 ; Y
|
||||
.dw 96 ; W
|
||||
.dw 96 ; H
|
||||
.dw STYLE_WIN_FOREGROUND ; front color
|
||||
.dw STYLE_WIN_BACKGROUND ; back color
|
||||
.dw STYLE_WIN_FONT*2 ; font
|
||||
.dw testWinBodyImg2_ramdata ; ptr to SDRAM
|
||||
; IMGVIEW
|
||||
.dw RESSSOURCE_IMG_TEMP96 ; ressource id
|
||||
|
||||
testWinBodyImg2_signalmap:
|
||||
.db 0, WIDGET_SIGNAL_DRAW, LOW(ImageView_OnDraw), HIGH(ImageView_OnDraw)
|
||||
.db 0, OBJECT_SIGNAL_CREATE, LOW(ImageView_OnCreate), HIGH(ImageView_OnCreate)
|
||||
.db 0, 0, 0, 0 ; end of table
|
||||
|
||||
|
||||
|
||||
testWinBodyImg3_flashdata:
|
||||
; OBJECT
|
||||
.dw 0 ; next
|
||||
.dw testWinBody_flashdata*2 ; parent
|
||||
.dw 0 ; first child
|
||||
.dw 0 ; target
|
||||
.dw 0 ; selector (ony lower 8 bits used)
|
||||
.dw testWinBodyImg3_signalmap*2 ; signal map
|
||||
; WIDGET
|
||||
.db 0, 0 ; opts lo, hi
|
||||
.dw 212 ; X
|
||||
.dw STYLE_WIN_TITLE_HEIGHT+6 ; Y
|
||||
.dw 96 ; W
|
||||
.dw 96 ; H
|
||||
.dw STYLE_WIN_FOREGROUND ; front color
|
||||
.dw STYLE_WIN_BACKGROUND ; back color
|
||||
.dw STYLE_WIN_FONT*2 ; font
|
||||
.dw testWinBodyImg3_ramdata ; ptr to SDRAM
|
||||
; IMGVIEW
|
||||
.dw RESSSOURCE_IMG_HUMIDITY96 ; ressource id
|
||||
|
||||
testWinBodyImg3_signalmap:
|
||||
.db 0, WIDGET_SIGNAL_DRAW, LOW(ImageView_OnDraw), HIGH(ImageView_OnDraw)
|
||||
.db 0, OBJECT_SIGNAL_CREATE, LOW(ImageView_OnCreate), HIGH(ImageView_OnCreate)
|
||||
.db 0, 0, 0, 0 ; end of table
|
||||
|
||||
|
||||
|
||||
ImageViewer_OnDraw_done:
|
||||
bigcall Widget_GetSdramPtr ; (none)
|
||||
ldd r16, Y+WIDGET_SD_OFFS_FLAGS
|
||||
cbr r16, (1<<WIDGET_FLAGS_DIRTY_BIT)
|
||||
std Y+WIDGET_SD_OFFS_FLAGS, r16
|
||||
|
||||
ImageViewer_OnDraw_ret:
|
||||
sec
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user