Files
aqhomecontrol/avr/modules/lcd2/win/defs.asm
2025-05-28 19:03:14 +02:00

115 lines
3.5 KiB
NASM

; ***************************************************************************
; 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_WIN_H
#define AQH_AVR_WIN_H
; tree/list data
.equ OBJ_OFFS_TREE = 0
; 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 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+18
.equ WID_OPTIONS1_BIT_DIRTY = 0
.equ WID_OPTIONS1_BIT_LAYOUT = 1
.equ WID_OPTIONS1_BIT_STRETCH_X = 2
.equ WID_OPTIONS1_BIT_STRETCH_Y = 3
.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
#endif ; AQH_AVR_WIN_H