; *************************************************************************** ; copyright : (C) 2025 by Martin Preuss ; email : martin@libchipcard.de ; ; *************************************************************************** ; * This file is part of the project "AqHome". * ; * Please see toplevel file COPYING of that project for license details. * ; *************************************************************************** #ifndef AQH_AVR_DEVICE_C03_TESTWIN_ASM #define AQH_AVR_DEVICE_C03_TESTWIN_ASM ; *************************************************************************** ; defines ; *************************************************************************** ; data .dseg testApp_ramdata: .byte GUIAPP_SD_SIZE testWin_ramdata: .byte WIDGET_SD_SIZE testWinHeader_ramdata: .byte WIDGET_SD_SIZE testWinBody_ramdata: .byte WIDGET_SD_SIZE ; *************************************************************************** ; code .cseg testCntrl: ; OBJECT .dw 0 ; next .dw 0 ; parent .dw testApp_flashdata*2 ; first child .dw 0 ; target .dw 0 ; selector (ony lower 8 bits used) .dw testCntrl_signalmap*2 ; signal map testCntrl_signalmap: .db 0, OBJECT_SIGNAL_CREATE, LOW(GuiCntlr_OnCreate), HIGH(GuiCntlr_OnCreate) .db 0, GUIAPP_SIGNAL_RAISE, LOW(GuiCntlr_OnRaise), HIGH(GuiCntlr_OnRaise) .db 0, 0, 0, 0 ; end of table testApp_flashdata: ; OBJECT .dw 0 ; next .dw testCntrl*2 ; parent .dw 0 ; first child .dw testCntrl*2 ; target .dw 0 ; selector (ony lower 8 bits used) .dw testApp_signalmap*2 ; signal map ; GUIAPP .dw testApp_ramdata ; SDRAM data .dw testWin_flashdata*2 ; root widget .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, 0, 0, 0 ; end of table testWin_flashdata: ; OBJECT .dw 0 ; next .dw 0 ; parent .dw testWinHeader_flashdata*2 ; first child .dw 0 ; target .dw 0 ; selector (ony lower 8 bits used) .dw testWin_signalmap*2 ; signal map ; WIDGET .db 0, 0 ; opts lo, hi .dw 0 ; X .dw 0 ; Y .dw DISPLAY_WIDTH ; W .dw DISPLAY_HEIGHT ; H .dw STYLE_WIN_FOREGROUND ; front color .dw STYLE_WIN_BACKGROUND ; back color .dw STYLE_WIN_FONT*2 ; font .dw testWin_ramdata ; ptr to SDRAM testWin_signalmap: .db 0, OBJECT_SIGNAL_CREATE, LOW(Widget_OnCreate), HIGH(Widget_OnCreate) .db 0, WIDGET_SIGNAL_DRAW, LOW(Widget_OnDraw), HIGH(Widget_OnDraw) .db 0, 0, 0, 0 ; end of table testWinHeader_flashdata: ; OBJECT .dw testWinBody_flashdata*2 ; next .dw testWin_flashdata*2 ; parent .dw 0 ; first child .dw 0 ; target .dw 0 ; selector (ony lower 8 bits used) .dw testWinHeader_signalmap*2 ; signal map ; WIDGET .db 0, 0 ; opts lo, hi .dw 0 ; X .dw 0 ; Y .dw DISPLAY_WIDTH ; W .dw STYLE_WIN_TITLE_HEIGHT ; H .dw STYLE_WIN_TITLE_FOREGROUND ; front color .dw STYLE_WIN_TITLE_BACKGROUND ; back color .dw STYLE_WIN_FONT*2 ; font .dw testWinHeader_ramdata ; ptr to SDRAM ; LABEL .dw testWinHeader_text*2 ; text testWinHeader_text: .db "Test-Window", 0 testWinHeader_signalmap: .db 0, OBJECT_SIGNAL_CREATE, LOW(Widget_OnCreate), HIGH(Widget_OnCreate) .db 0, WIDGET_SIGNAL_DRAW, LOW(Label_OnDraw), HIGH(Label_OnDraw) .db 0, 0, 0, 0 ; end of table testWinBody_flashdata: ; OBJECT .dw 0 ; next .dw testWin_flashdata*2 ; parent .dw 0 ; first child .dw 0 ; target .dw 0 ; selector (ony lower 8 bits used) .dw testWinBody_signalmap*2 ; signal map ; WIDGET .db 0, 0 ; opts lo, hi .dw 0 ; X .dw STYLE_WIN_TITLE_HEIGHT ; Y .dw DISPLAY_WIDTH ; W .dw DISPLAY_HEIGHT-STYLE_WIN_TITLE_HEIGHT ; H .dw STYLE_WIN_FOREGROUND ; front color ; .dw DISPLAY_COLOR_YELLOW .dw STYLE_WIN_BACKGROUND ; back color .dw STYLE_WIN_FONT*2 ; font .dw testWinBody_ramdata ; ptr to SDRAM 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, 0, 0, 0 ; end of table ImageViewer_OnDraw: bigcall Widget_GetSdramPtr ; (none) ldd r16, Y+WIDGET_SD_OFFS_FLAGS andi r16, (1<