Files
aqhomecontrol/avr/devices/c03/main/testwin.asm
2026-01-17 17:15:48 +01:00

283 lines
9.6 KiB
NASM

; ***************************************************************************
; copyright : (C) 2026 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
testRootWin_ramdata:
.byte WIDGET_SD_SIZE
testWin_ramdata:
.byte WIDGET_SD_SIZE
testWinHeader_ramdata:
.byte WIDGET_SD_SIZE
testWinBody_ramdata:
.byte WIDGET_SD_SIZE
testWinBodyImg1_ramdata:
.byte IMGVIEW_SD_SIZE
testWinBodyImg2_ramdata:
.byte IMGVIEW_SD_SIZE
testWinBodyImg3_ramdata:
.byte IMGVIEW_SD_SIZE
; ***************************************************************************
; code
.cseg
testApp_flashdata:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw 0 ; parent
.dw 0 ; first child
.dw 0 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw testApp_signalmap*2 ; signal map
; GUIAPP
.dw testApp_ramdata ; SDRAM data
.dw testRootWin_flashdata*2 ; root widget
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, OBJECT_SIGNAL_RECVMSG, LOW(GuiApp_OnMsgReceived), HIGH(GuiApp_OnMsgReceived)
.db 0, OBJECT_SIGNAL_CREATE, LOW(GuiApp_OnCreate), HIGH(GuiApp_OnCreate)
.db 0, 0, 0, 0 ; end of table
testRootWin_flashdata:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw 0 ; parent
.dw testWin_flashdata*2 ; first child
.dw testApp_flashdata*2 ; target
.dw 0 ; selector (ony lower 8 bits used)
.dw testRootWin_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 DISPLAY_COLOR_YELLOW
.dw STYLE_WIN_FONT*2 ; font
.dw testRootWin_ramdata ; ptr to SDRAM
testRootWin_signalmap:
.db 0, OBJECT_SIGNAL_CREATE, LOW(Widget_OnCreate), HIGH(Widget_OnCreate)
.db 0, WIDGET_SIGNAL_DRAW, LOW(Widget_OnDrawNop), HIGH(Widget_OnDrawNop)
.db 0, 0, 0, 0 ; end of table
testWin_flashdata:
; OBJECT
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw testRootWin_flashdata*2 ; 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
.db 0x55, 0xaa ; magic
.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
.db 0x55, 0xaa ; magic
.dw 0 ; next
.dw testWin_flashdata*2 ; parent
.dw testWinBodyImg1_flashdata*2 ; 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(Widget_OnDraw), HIGH(Widget_OnDraw)
.db 0, 0, 0, 0 ; end of table
testWinBodyImg1_flashdata:
; OBJECT
.db 0x55, 0xaa ; magic
.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 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
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
testWinBodyImg2_flashdata:
; OBJECT
.db 0x55, 0xaa ; magic
.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 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
.db 0x55, 0xaa ; magic
.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 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
#endif