From af75532ba7b4bb4d625397d180bc662d3fc53f46 Mon Sep 17 00:00:00 2001 From: Martin Preuss Date: Wed, 28 May 2025 19:03:14 +0200 Subject: [PATCH] More planning on GUI. --- avr/modules/lcd2/win/defs.asm | 116 ++++++++++++++++++++++++---------- 1 file changed, 84 insertions(+), 32 deletions(-) diff --git a/avr/modules/lcd2/win/defs.asm b/avr/modules/lcd2/win/defs.asm index 47092ed..50b50ef 100644 --- a/avr/modules/lcd2/win/defs.asm +++ b/avr/modules/lcd2/win/defs.asm @@ -11,37 +11,42 @@ #define AQH_AVR_WIN_H -; tree/list info -.equ WID_OFFS_TREE = 0 +; tree/list data +.equ OBJ_OFFS_TREE = 0 -; signal handler -.equ WID_OFFS_HANDLERFN_LO = WID_OFFS_TREE+TREE_SIZE -.equ WID_OFFS_HANDLERFN_HI = WID_OFFS_HANDLERFN_LO+1 +; object data +.equ OBJ_OFFS_OBJECT = OBJ_OFFS_TREE+TREE_SIZE +.equ OBJ_OFFS_HANDLERFN_LO = OBJ_OFFS_OBJECT +.equ OBJ_OFFS_HANDLERFN_HI = OBJ_OFFS_OBJECT+1 +.equ OBJ_OFFS_LINKS_LO = OBJ_OFFS_OBJECT+2 +.equ OBJ_OFFS_LINKS_HI = OBJ_OFFS_OBJECT+3 +.equ OBJ_OFFS_TIMERS_LO = OBJ_OFFS_OBJECT+4 +.equ OBJ_OFFS_TIMERS_HI = OBJ_OFFS_OBJECT+5 +.equ OBJ_OFFS_OPTIONS = OBJ_OFFS_OBJECT+6 +.equ OBJ_OFFS_SIZE = OBJ_OFFS_OBJECT+7 -; widget description -.equ WID_OFFS_WIDGET_INFO = WID_OFFS_HANDLERFN_HI+1 -.equ WID_OFFS_OPTIONS1 = WID_OFFS_WIDGET_INFO+0 -.equ WID_OFFS_OPTIONS2 = WID_OFFS_WIDGET_INFO+1 -.equ WID_OFFS_ABS_X_LO = WID_OFFS_WIDGET_INFO+2 -.equ WID_OFFS_ABS_X_HI = WID_OFFS_WIDGET_INFO+3 -.equ WID_OFFS_ABS_Y_LO = WID_OFFS_WIDGET_INFO+4 -.equ WID_OFFS_ABS_Y_HI = WID_OFFS_WIDGET_INFO+5 -.equ WID_OFFS_REL_X_LO = WID_OFFS_WIDGET_INFO+6 -.equ WID_OFFS_REL_X_HI = WID_OFFS_WIDGET_INFO+7 -.equ WID_OFFS_REL_Y_LO = WID_OFFS_WIDGET_INFO+8 -.equ WID_OFFS_REL_Y_HI = WID_OFFS_WIDGET_INFO+9 -.equ WID_OFFS_WIDTH_LO = WID_OFFS_WIDGET_INFO+10 -.equ WID_OFFS_WIDTH_HI = WID_OFFS_WIDGET_INFO+11 -.equ WID_OFFS_HEIGHT_LO = WID_OFFS_WIDGET_INFO+12 -.equ WID_OFFS_HEIGHT_HI = WID_OFFS_WIDGET_INFO+13 -.equ WID_OFFS_BG_COL_LO = WID_OFFS_WIDGET_INFO+14 -.equ WID_OFFS_BG_COL_HI = WID_OFFS_WIDGET_INFO+15 -.equ WID_OFFS_FG_COL_LO = WID_OFFS_WIDGET_INFO+16 -.equ WID_OFFS_FG_COL_HI = WID_OFFS_WIDGET_INFO+17 -.equ WID_OFFS_FONT_LO = WID_OFFS_WIDGET_INFO+18 -.equ WID_OFFS_FONT_HI = WID_OFFS_WIDGET_INFO+19 +; widget data +.equ WID_OFFS_WIDGET = OBJ_OFFS_SIZE +.equ WID_OFFS_OPTIONS1 = WID_OFFS_WIDGET+0 +.equ WID_OFFS_OPTIONS2 = WID_OFFS_WIDGET+1 +.equ WID_OFFS_ABS_X = WID_OFFS_WIDGET+2 +.equ WID_OFFS_ABS_Y = WID_OFFS_WIDGET+3 +.equ WID_OFFS_REL_X = WID_OFFS_WIDGET+4 +.equ WID_OFFS_REL_Y = WID_OFFS_WIDGET+5 +.equ WID_OFFS_WIDTH = WID_OFFS_WIDGET+6 +.equ WID_OFFS_HEIGHT = WID_OFFS_WIDGET+7 +.equ WID_OFFS_BG_COL_LO = WID_OFFS_WIDGET+8 +.equ WID_OFFS_BG_COL_HI = WID_OFFS_WIDGET+9 +.equ WID_OFFS_FG_COL_LO = WID_OFFS_WIDGET+10 +.equ WID_OFFS_FG_COL_HI = WID_OFFS_WIDGET+11 +.equ WID_OFFS_FONT_LO = WID_OFFS_WIDGET+12 +.equ WID_OFFS_FONT_HI = WID_OFFS_WIDGET+13 +.equ WID_OFFS_BORDER_TOP = WID_OFFS_WIDGET+14 +.equ WID_OFFS_BORDER_BOT = WID_OFFS_WIDGET+15 +.equ WID_OFFS_BORDER_LEFT = WID_OFFS_WIDGET+16 +.equ WID_OFFS_BORDER_RIGHT = WID_OFFS_WIDGET+17 -.equ WID_SIZE = WID_OFFS_WIDGET_INFO+20 +.equ WID_SIZE = WID_OFFS_WIDGET+18 @@ -51,11 +56,58 @@ .equ WID_OPTIONS1_BIT_STRETCH_X = 2 .equ WID_OPTIONS1_BIT_STRETCH_Y = 3 -.equ WID_OPTIONS1_BIT_ALIGN_LEFT = 4 -.equ WID_OPTIONS1_BIT_ALIGN_RIGHT = 5 +.equ WID_OPTIONS1_BIT_ALIGN_RIGHT = 4 +.equ WID_OPTIONS1_BIT_ALIGN_BOTTOM = 5 + +.equ WID_OPTIONS1_BIT_EQUAL_WIDTH = 6 +.equ WID_OPTIONS1_BIT_EQUAL_HEIGHT = 7 + + +; Signals + +.equ OBJ_SIGNAL_CREATED = 0 +.equ OBJ_SIGNAL_DESTROY = 1 +.equ OBJ_SIGNAL_GETVALUE = 2 +.equ OBJ_SIGNAL_SETVALUE = 3 +.equ OBJ_SIGNAL_TIMER = 4 +.equ OBJ_SIGNAL_NEXTFREE = 5 + +.equ WID_SIGNAL_SHOW = OBJ_SIGNAL_NEXTFREE +.equ WID_SIGNAL_HIDE = OBJ_SIGNAL_NEXTFREE+1 +.equ WID_SIGNAL_UPDATE = OBJ_SIGNAL_NEXTFREE+2 +.equ WID_SIGNAL_LAYOUT = OBJ_SIGNAL_NEXTFREE+3 +.equ WID_SIGNAL_TOUCH = OBJ_SIGNAL_NEXTFREE+4 +.equ WID_SIGNAL_MOUSE = OBJ_SIGNAL_NEXTFREE+5 +.equ WID_SIGNAL_KEY = OBJ_SIGNAL_NEXTFREE+6 +.equ WID_SIGNAL_NEXTFREE = OBJ_SIGNAL_NEXTFREE+7 + + + +; Links + +.equ OBJ_LINK_OFFS_LIST = 0 +.equ OBJ_LINK_OFFS_SIGNAL = LIST_SIZE +.equ OBJ_LINK_OFFS_SLOT = LIST_SIZE+1 +.equ OBJ_LINK_OFFS_TARGET_LO = LIST_SIZE+2 +.equ OBJ_LINK_OFFS_TARGET_HI = LIST_SIZE+3 +.equ OBJ_LINK_SIZE = LIST_SIZE+4 +; fns: +; - removeLinksTo() +; - addLink() +; - removeLinks() + + + +.equ TIMER_OFFS_LIST = 0 +.equ TIMER_OFFS_TIMER = LIST_SIZE +.equ TIMER_OFFS_VALUE_LO = TIMER_OFFS_TIMER +.equ TIMER_OFFS_VALUE_LO = TIMER_OFFS_TIMER+1 +.equ TIMER_OFFS_RELOAD_LO = TIMER_OFFS_TIMER+2 +.equ TIMER_OFFS_RELOAD_HI = TIMER_OFFS_TIMER+3 +.equ TIMER_OFFS_OPTIONS = TIMER_OFFS_TIMER+4 +.equ TIMER_SIZE = TIMER_OFFS_TIMER+5 + -.equ WID_OPTIONS1_BIT_ALIGN_TOP = 6 -.equ WID_OPTIONS1_BIT_ALIGN_BOTTOM = 7 #endif ; AQH_AVR_WIN_H