gui2: renamed *layout2* to *layout*

This commit is contained in:
Martin Preuss
2026-04-12 17:10:15 +02:00
parent 98f1ab779d
commit 5fe4b4b705
8 changed files with 176 additions and 179 deletions

View File

@@ -540,9 +540,9 @@ GUI2_MODULE_BEGIN:
.include "modules/lcd2/gui2/base/button.asm"
.include "modules/lcd2/gui2/base/imageview.asm"
.include "modules/lcd2/gui2/base/valuelabel.asm"
.include "modules/lcd2/gui2/base/layout2.asm"
.include "modules/lcd2/gui2/base/hlayout2.asm"
.include "modules/lcd2/gui2/base/vlayout2.asm"
.include "modules/lcd2/gui2/base/layout.asm"
.include "modules/lcd2/gui2/base/hlayout.asm"
.include "modules/lcd2/gui2/base/vlayout.asm"
.include "modules/lcd2/gui2/base/mclayout.asm"
.include "modules/lcd2/gui2/base/mainwindow.asm"
.include "modules/lcd2/gui2/aqhome/sensorwatch.asm"

View File

@@ -96,9 +96,8 @@ ClimateWin_Init_ret:
climateWinCreateSensorWatches:
ldi r16, 0 ; OPTS
ldi r17, (WIDGET_PACK_FILLED<<WIDGET_PACK_HSELF0_BIT) | (WIDGET_PACK_FILLED<<WIDGET_PACK_VSELF0_BIT) ; PACK
ldi r20, HLAYOUT2_MODE_SPREAD
; ldi r20, HLAYOUT2_MODE_EXPAND
bigcall HLayout2_new
ldi r20, HLAYOUT_MODE_SPREAD
bigcall HLayout_new
brcc climateWinCreateSensorWatches_ret
ldi r16, LOW(ClimateWindow_HLayoutStyle*2)

View File

@@ -14,7 +14,7 @@
; ***************************************************************************
; defines
.equ SENSORWATCH_OFFS_BEGIN = VLAYOUT2_SIZE
.equ SENSORWATCH_OFFS_BEGIN = VLAYOUT_SIZE
.equ SENSORWATCH_OFFS_BASEVALUEID = SENSORWATCH_OFFS_BEGIN+0
.equ SENSORWATCH_OFFS_EEPROMID = SENSORWATCH_OFFS_BEGIN+1
.equ SENSORWATCH_OFFS_NODEADDR = SENSORWATCH_OFFS_BEGIN+2
@@ -123,8 +123,8 @@ SensorWatch_Init:
push r21
push r22
; call base class
ldi r20, VLAYOUT2_MODE_EXPAND
bigcall VLayout2_Init
ldi r20, VLAYOUT_MODE_EXPAND
bigcall VLayout_Init
pop r22
pop r21
pop r20
@@ -641,7 +641,7 @@ sensorWatchReadFromEeprom_ret:
SensorWatch_DefaultSignalmap:
; header
.dw VLayout2_DefaultSignalmap*2 ; next table to use
.dw VLayout_DefaultSignalmap*2 ; next table to use
; entries
.db 0, WIDGET_SIGNAL_DRAW, LOW(Widget_OnDraw), HIGH(Widget_OnDraw)
.db NETMSG_CMD_VALUE_REPORT, OBJECT_SIGNAL_RECVMSG, LOW(SensorWatch_OnRecvReport), HIGH(SensorWatch_OnRecvReport)

View File

@@ -7,21 +7,21 @@
; * Please see toplevel file COPYING of that project for license details. *
; ***************************************************************************
#ifndef AQH_AVR_GUI2_HLAYOUT2_ASM
#define AQH_AVR_GUI2_HLAYOUT2_ASM
#ifndef AQH_AVR_GUI2_HLAYOUT_ASM
#define AQH_AVR_GUI2_HLAYOUT_ASM
; ***************************************************************************
; defines
.equ HLAYOUT2_OFFS_BEGIN = WIDGET_SIZE
.equ HLAYOUT2_OFFS_MODE = HLAYOUT2_OFFS_BEGIN+0
.equ HLAYOUT2_SIZE = HLAYOUT2_OFFS_BEGIN+1
.equ HLAYOUT_OFFS_BEGIN = WIDGET_SIZE
.equ HLAYOUT_OFFS_MODE = HLAYOUT_OFFS_BEGIN+0
.equ HLAYOUT_SIZE = HLAYOUT_OFFS_BEGIN+1
; values for HLAYOUT_OFFS_MODE
.equ HLAYOUT2_MODE_EXPAND = 0
.equ HLAYOUT2_MODE_SPREAD = 1
.equ HLAYOUT_MODE_EXPAND = 0
.equ HLAYOUT_MODE_SPREAD = 1
@@ -45,44 +45,44 @@
; @param r20 layout mode (HLAYOUT_MODE_EXPAND, HLAYOUT_MODE_SPREAD)
; @clobbers any
HLayout2_new:
HLayout_new:
push r20
ldi r24, LOW(HLAYOUT2_SIZE)
ldi r25, HIGH(HLAYOUT2_SIZE)
ldi r24, LOW(HLAYOUT_SIZE)
ldi r25, HIGH(HLAYOUT_SIZE)
bigcall Object_Alloc ; (!r16, !r17, !X)
pop r20
brcc HLayout2_new_ret
rcall HLayout2_Init ; (r16, r17, X)
brcc HLayout_new_ret
rcall HLayout_Init ; (r16, r17, X)
sec
HLayout2_new_ret:
HLayout_new_ret:
ret
; @end
; ---------------------------------------------------------------------------
; @routine HLayout2_Init @global
; @routine HLayout_Init @global
;
; @param Y address of widget
; @param X parent widget (if any)
; @param r16 value for OBJECT_OFFS_OPTS
; @param r17 value for WIDGET_OFFS_PACK
; @param r20 layout mode (HLAYOUT2_MODE_EXPAND, HLAYOUT2_MODE_SPREAD)
; @param r20 layout mode (HLAYOUT_MODE_EXPAND, HLAYOUT_MODE_SPREAD)
; @clobbers r16, r17, X
HLayout2_Init:
HLayout_Init:
push r20
; call base class
bigcall Widget_Init ; (r16, r17, X)
pop r20
; set widget-specific data
std Y+HLAYOUT2_OFFS_MODE, r20
std Y+HLAYOUT_OFFS_MODE, r20
; set default signal map
ldi r16, LOW(HLayout2_DefaultSignalmap*2)
ldi r16, LOW(HLayout_DefaultSignalmap*2)
std Y+OBJECT_OFFS_SIGNALMAP_LO, r16
ldi r16, HIGH(HLayout2_DefaultSignalmap*2)
ldi r16, HIGH(HLayout_DefaultSignalmap*2)
std Y+OBJECT_OFFS_SIGNALMAP_HI, r16
ret
@@ -91,19 +91,19 @@ HLayout2_Init:
; ---------------------------------------------------------------------------
; @routine HLayout2_OnLayout
; @routine HLayout_OnLayout
;
; @param Y pointer to widget
; @clobbers any, !Y
HLayout2_OnLayout:
HLayout_OnLayout:
; create and preset context
rcall LayoutCtx_CreateContextFor1D ; X=ctx, r16=num of children
brcc HLayout2_OnLayout_ret
brcc HLayout_OnLayout_ret
; do layout
mov r25, r16
rcall hLayout2Horizontally
rcall hLayout2Vertically
rcall hLayoutHorizontally
rcall hLayoutVertically
; release layout context
bigcall LayoutCtx_free
; force re-drawing of this widget, clear layout bit
@@ -111,7 +111,7 @@ HLayout2_OnLayout:
sbr r16, (1<<WIDGET_FLAGS_DIRTY_BIT)
cbr r16, (1<<WIDGET_FLAGS_LAYOUT_BIT)
std Y+OBJECT_OFFS_FLAGS, r16
HLayout2_OnLayout_ret:
HLayout_OnLayout_ret:
sec
ret
; @end
@@ -119,15 +119,15 @@ HLayout2_OnLayout_ret:
; ---------------------------------------------------------------------------
; @routine HLayout2_OnGetDefaultHeight
; @routine HLayout_OnGetDefaultHeight
;
; @param Y pointer to widget
; @return r19:r18 value
; @clobbers any, !Y
HLayout2_OnGetDefaultHeight:
rcall Layout2_SetDefaultHeights
rcall Layout2_GetMaxTmp
HLayout_OnGetDefaultHeight:
rcall Layout_SetDefaultHeights
rcall Layout_GetMaxTmp
bigcall Widget_AddOuterStyleBorders ; (r20, r21)
sec
ret
@@ -137,15 +137,15 @@ HLayout2_OnGetDefaultHeight:
; ---------------------------------------------------------------------------
; @routine HLayout2_OnGetDefaultWidth
; @routine HLayout_OnGetDefaultWidth
;
; @param Y pointer to widget
; @return r19:r18 value
; @clobbers any, !Y
HLayout2_OnGetDefaultWidth:
rcall Layout2_SetDefaultWidths
rcall Layout2_SumTmpValues ; r19:r18=default width
HLayout_OnGetDefaultWidth:
rcall Layout_SetDefaultWidths
rcall Layout_SumTmpValues ; r19:r18=default width
sec
ret
; @end
@@ -153,36 +153,36 @@ HLayout2_OnGetDefaultWidth:
; ---------------------------------------------------------------------------
; @routine hLayout2Vertically
; @routine hLayoutVertically
;
; @param Y pointer to widget
; @param X layout context
; @param r25 number of children
; @clobbers any, !X, !Y
hLayout2Vertically:
rcall hLayout2PrepareVertical ; (any, !R25, !X, !Y)
rcall hLayout2ReadLayoutWriteVertical ; (r16-r24)
hLayoutVertically:
rcall hLayoutPrepareVertical ; (any, !R25, !X, !Y)
rcall hLayoutReadLayoutWriteVertical ; (r16-r24)
ret
; @end
; ---------------------------------------------------------------------------
; @routine hLayout2PrepareVertical
; @routine hLayoutPrepareVertical
;
; @param Y pointer to widget
; @param X layout context
; @param r25 number of children
; @clobbers any, !R25, !X, !Y,
hLayout2PrepareVertical:
hLayoutPrepareVertical:
push xl
push xh
push yl
push yh
push r25
rcall Layout2_SetDefaultHeights
rcall Layout_SetDefaultHeights
pop r25
pop yh
pop yl
@@ -201,14 +201,14 @@ hLayout2PrepareVertical:
; ---------------------------------------------------------------------------
; @routine hLayout2ReadLayoutWriteVertical
; @routine hLayoutReadLayoutWriteVertical
;
; @param Y pointer to widget
; @param X layout context
; @param r25 number of children
; @clobbers r16-r24
hLayout2ReadLayoutWriteVertical:
hLayoutReadLayoutWriteVertical:
; read positions and flags into new layout context
bigcall LayoutCtx_ReadYDimsContiguous ; (R16, r18, r19, Z)
@@ -224,7 +224,7 @@ hLayout2ReadLayoutWriteVertical:
ldd r16, Y+WIDGET_OFFS_PACK
andi r16, (1<<WIDGET_PACK_VSELF1_BIT) | (1<<WIDGET_PACK_VSELF0_BIT)
cpi r16, (WIDGET_PACK_FILLED<<WIDGET_PACK_VSELF0_BIT)
brne vLayout2ReadLayoutWriteVertical_setSize
brne vLayoutReadLayoutWriteVertical_setSize
; use full possible width
adiw xh:xl, LAYOUT_CTX_OFFS_TOTALSIZE_LO
ld r18, X+
@@ -235,7 +235,7 @@ hLayout2ReadLayoutWriteVertical:
rol r23
sub r18, r22
sbc r19, r23
vLayout2ReadLayoutWriteVertical_setSize:
vLayoutReadLayoutWriteVertical_setSize:
bigcall LayoutCtx_SetFixedSize ; (r24)
; pack
@@ -279,36 +279,36 @@ vLayout2ReadLayoutWriteVertical_setSize:
; ---------------------------------------------------------------------------
; @routine hLayout2Horizontally
; @routine hLayoutHorizontally
;
; @param Y pointer to widget
; @param X layout context
; @param r25 number of children
; @clobbers any, !Y
hLayout2Horizontally:
rcall hLayout2PrepareHorizontal ; (any, !R25, !X, !Y)
rcall hLayout2ReadLayoutWriteHorizontal ; (r16-r24)
hLayoutHorizontally:
rcall hLayoutPrepareHorizontal ; (any, !R25, !X, !Y)
rcall hLayoutReadLayoutWriteHorizontal ; (r16-r24)
ret
; @end
; ---------------------------------------------------------------------------
; @routine hLayout2PrepareHorizontal
; @routine hLayoutPrepareHorizontal
;
; @param Y pointer to widget
; @param X layout context
; @param r25 number of children
; @clobbers any, !R25, !X, !Y,
hLayout2PrepareHorizontal:
hLayoutPrepareHorizontal:
push xl
push xh
push yl
push yh
push r25
rcall Layout2_SetDefaultWidths ; (any, !Y)
rcall Layout_SetDefaultWidths ; (any, !Y)
pop r25
pop yh
pop yl
@@ -328,27 +328,27 @@ hLayout2PrepareHorizontal:
; ---------------------------------------------------------------------------
; @routine hLayout2ReadLayoutWriteHorizontal
; @routine hLayoutReadLayoutWriteHorizontal
;
; @param Y pointer to widget
; @param X layout context
; @param r25 number of children
; @clobbers r16-r24
hLayout2ReadLayoutWriteHorizontal:
hLayoutReadLayoutWriteHorizontal:
; read X positions and flags into new layout context
bigcall LayoutCtx_ReadXDimsContiguous ; (R16, r18, r19, Z)
; layout
push r25
ldd r24, Y+HLAYOUT2_OFFS_MODE
cpi r24, HLAYOUT2_MODE_SPREAD
breq hLayout2ReadLayoutWriteHorizontal_spread
ldd r24, Y+HLAYOUT_OFFS_MODE
cpi r24, HLAYOUT_MODE_SPREAD
breq hLayoutReadLayoutWriteHorizontal_spread
bigcall LayoutCtx_LayoutExpand ; (r16-r25)
rjmp hLayout2ReadLayoutWriteHorizontal_pack
hLayout2ReadLayoutWriteHorizontal_spread:
rjmp hLayoutReadLayoutWriteHorizontal_pack
hLayoutReadLayoutWriteHorizontal_spread:
bigcall LayoutCtx_LayoutSpread ; (r16-r25)
hLayout2ReadLayoutWriteHorizontal_pack:
hLayoutReadLayoutWriteHorizontal_pack:
pop r25
; pack
@@ -371,13 +371,13 @@ hLayout2ReadLayoutWriteHorizontal_pack:
; ***************************************************************************
; data in FLASH
HLayout2_DefaultSignalmap:
HLayout_DefaultSignalmap:
; header
.dw Widget_DefaultSignalmap*2 ; next table to use
; entries
.db 0, WIDGET_SIGNAL_LAYOUT, LOW(HLayout2_OnLayout), HIGH(HLayout2_OnLayout)
.db WIDGET_VALUE_DEFAULT_WIDTH, WIDGET_SIGNAL_GETVALUE, LOW(HLayout2_OnGetDefaultWidth), HIGH(HLayout2_OnGetDefaultWidth)
.db WIDGET_VALUE_DEFAULT_HEIGHT, WIDGET_SIGNAL_GETVALUE, LOW(HLayout2_OnGetDefaultHeight), HIGH(HLayout2_OnGetDefaultHeight)
.db 0, WIDGET_SIGNAL_LAYOUT, LOW(HLayout_OnLayout), HIGH(HLayout_OnLayout)
.db WIDGET_VALUE_DEFAULT_WIDTH, WIDGET_SIGNAL_GETVALUE, LOW(HLayout_OnGetDefaultWidth), HIGH(HLayout_OnGetDefaultWidth)
.db WIDGET_VALUE_DEFAULT_HEIGHT, WIDGET_SIGNAL_GETVALUE, LOW(HLayout_OnGetDefaultHeight), HIGH(HLayout_OnGetDefaultHeight)
.db 0, 0, 0, 0 ; end of table

View File

@@ -7,8 +7,8 @@
; * Please see toplevel file COPYING of that project for license details. *
; ***************************************************************************
#ifndef AQH_AVR_GUI2_LAYOUT2_ASM
#define AQH_AVR_GUI2_LAYOUT2_ASM
#ifndef AQH_AVR_GUI2_LAYOUT_ASM
#define AQH_AVR_GUI2_LAYOUT_ASM
; ***************************************************************************
@@ -1627,27 +1627,27 @@ layoutForEveryObjectSkipped_ret:
; ---------------------------------------------------------------------------
; @routine Layout2_SetDefaultWidths
; @routine Layout_SetDefaultWidths
;
; Set default width in WIDGET_OFFS_TMP_LO/HI of child widgets
;
; @param Y pointer to widget
; @clobbers any, !Y
Layout2_SetDefaultWidths:
Layout_SetDefaultWidths:
push yl
push yh
bigcall OBJ_GetFirstChild
brcc Layout2_SetDefaultWidths_ret
Layout2_SetDefaultWidths_loop:
brcc Layout_SetDefaultWidths_ret
Layout_SetDefaultWidths_loop:
mov yl, r18
mov yh, r19
bigcall Widget_GetDefaultWidth
std Y+WIDGET_OFFS_TMP_LO, r18
std Y+WIDGET_OFFS_TMP_HI, r19
bigcall OBJ_GetNext
brcs Layout2_SetDefaultWidths_loop
Layout2_SetDefaultWidths_ret:
brcs Layout_SetDefaultWidths_loop
Layout_SetDefaultWidths_ret:
pop yh
pop yl
ret
@@ -1656,36 +1656,36 @@ Layout2_SetDefaultWidths_ret:
; ---------------------------------------------------------------------------
; @routine Layout2_SetDefaultHeights
; @routine Layout_SetDefaultHeights
;
; Set default height in WIDGET_OFFS_TMP_LO/HI of child widgets
;
; @param Y pointer to widget
; @clobbers any, !Y
Layout2_SetDefaultHeights:
Layout_SetDefaultHeights:
bigcall OBJ_GetFirstChild
brcc Layout2_SetDefaultHeights_ret
brcc Layout_SetDefaultHeights_ret
push yl
push yh
Layout2_SetDefaultHeights_loop:
Layout_SetDefaultHeights_loop:
mov yl, r18
mov yh, r19
bigcall Widget_GetDefaultHeight
std Y+WIDGET_OFFS_TMP_LO, r18
std Y+WIDGET_OFFS_TMP_HI, r19
bigcall OBJ_GetNext
brcs Layout2_SetDefaultHeights_loop
brcs Layout_SetDefaultHeights_loop
pop yh
pop yl
Layout2_SetDefaultHeights_ret:
Layout_SetDefaultHeights_ret:
ret
; @end
; ---------------------------------------------------------------------------
; @routine Layout2_SumTmpValues
; @routine Layout_SumTmpValues
;
; Ignores invisible widgets.
;
@@ -1693,7 +1693,7 @@ Layout2_SetDefaultHeights_ret:
; @return r19:r18 total size of all child widgets plus space between
; @clobbers r16, r17, r18, r19, r20, r21, r22, r23, Z
Layout2_SumTmpValues:
Layout_SumTmpValues:
ldd zl, Y+WIDGET_OFFS_STYLE_LO
ldd zh, Y+WIDGET_OFFS_STYLE_HI
@@ -1711,13 +1711,13 @@ Layout2_SumTmpValues:
push yl
push yh
bigcall OBJ_GetFirstChild
brcc Layout2_SumTmpValues_finish
Layout2_SumTmpValues_loop:
brcc Layout_SumTmpValues_finish
Layout_SumTmpValues_loop:
mov yl, r18
mov yh, r19
ldd r18, Y+OBJECT_OFFS_FLAGS
sbrs r18, WIDGET_FLAGS_VISIBLE_BIT
rjmp Layout2_SumTmpValues_next
rjmp Layout_SumTmpValues_next
ldd r18, Y+WIDGET_OFFS_TMP_LO
ldd r19, Y+WIDGET_OFFS_TMP_HI
add r20, r18 ; add widget size
@@ -1725,24 +1725,24 @@ Layout2_SumTmpValues_loop:
add r20, r22 ; add spacing
adc r21, r22
sub r21, r22
Layout2_SumTmpValues_next:
Layout_SumTmpValues_next:
bigcall OBJ_GetNext
brcs Layout2_SumTmpValues_loop
Layout2_SumTmpValues_loopEnd:
brcs Layout_SumTmpValues_loop
Layout_SumTmpValues_loopEnd:
mov r16, r20
or r16, r21
breq Layout2_SumTmpValues_finish
breq Layout_SumTmpValues_finish
sub r20, r22 ; sub last spacing
sbc r21, r22
add r21, r22
Layout2_SumTmpValues_finish:
Layout_SumTmpValues_finish:
add r20, r23 ; add outer border (begin)
adc r21, r23
sub r21, r23
add r20, r23 ; add outer border (end)
adc r21, r23
sub r21, r23
Layout2_SumTmpValues_done:
Layout_SumTmpValues_done:
mov r18, r20
mov r19, r21
pop yh
@@ -1753,7 +1753,7 @@ Layout2_SumTmpValues_done:
; ---------------------------------------------------------------------------
; @routine Layout2_GetMaxTmp
; @routine Layout_GetMaxTmp
;
; Ignores invisible widgets.
;
@@ -1761,31 +1761,31 @@ Layout2_SumTmpValues_done:
; @return r19:r18 maximum value in WIDGET_OFFS_TMP_LO/HI of children
; @clobbers r20, r21
Layout2_GetMaxTmp:
Layout_GetMaxTmp:
clr r20
clr r21
push yl
push yh
bigcall OBJ_GetFirstChild
Layout2_GetMaxTmp_loop:
brcc Layout2_GetMaxTmp_ret
Layout_GetMaxTmp_loop:
brcc Layout_GetMaxTmp_ret
mov yl, r18
mov yh, r19
ldd r18, Y+OBJECT_OFFS_FLAGS
sbrs r18, WIDGET_FLAGS_VISIBLE_BIT
rjmp Layout2_GetMaxTmp_next
rjmp Layout_GetMaxTmp_next
ldd r18, Y+WIDGET_OFFS_TMP_LO
ldd r19, Y+WIDGET_OFFS_TMP_HI
; max
cp r20, r18
cpc r21, r19
brcc Layout2_GetMaxTmp_next
brcc Layout_GetMaxTmp_next
mov r20, r18
mov r21, r19
Layout2_GetMaxTmp_next:
Layout_GetMaxTmp_next:
bigcall OBJ_GetNext
rjmp Layout2_GetMaxTmp_loop
Layout2_GetMaxTmp_ret:
rjmp Layout_GetMaxTmp_loop
Layout_GetMaxTmp_ret:
mov r18, r20
mov r19, r21
pop yh

View File

@@ -14,7 +14,7 @@
; ***************************************************************************
; defines
.equ MAINWINDOW_OFFS_BEGIN = VLAYOUT2_SIZE
.equ MAINWINDOW_OFFS_BEGIN = VLAYOUT_SIZE
; no data for now
.equ MAINWINDOW_SIZE = MAINWINDOW_OFFS_BEGIN+0
@@ -74,8 +74,8 @@ MainWindow_Init:
push r20
push r21
; call base class
ldi r20, VLAYOUT2_MODE_EXPAND
bigcall VLayout2_Init ; (r16, r17, X)
ldi r20, VLAYOUT_MODE_EXPAND
bigcall VLayout_Init ; (r16, r17, X)
pop r21
pop r20
@@ -235,8 +235,8 @@ mainWindowCreateContentWidget:
mov xh, yh
ldi r16, 0 ; OPTS
ldi r17, (WIDGET_PACK_FILLED<<WIDGET_PACK_HSELF0_BIT) | (WIDGET_PACK_FILLED<<WIDGET_PACK_VSELF0_BIT) ; PACK
ldi r20, VLAYOUT2_MODE_EXPAND
bigcall VLayout2_new
ldi r20, VLAYOUT_MODE_EXPAND
bigcall VLayout_new
brcc mainWindowCreateContentWidget_done
; set style for title widget
ldi r16, LOW(MainWindow_ContentStyle*2)
@@ -258,7 +258,7 @@ mainWindowCreateContentWidget_done:
MainWindow_DefaultSignalmap:
; header
.dw VLayout2_DefaultSignalmap*2 ; next table to use
.dw VLayout_DefaultSignalmap*2 ; next table to use
; entries
.db 0, WIDGET_SIGNAL_DRAW, LOW(Widget_OnDrawNop), HIGH(Widget_OnDrawNop)
.db WIDGET_VALUE_DEFAULT_WIDTH, WIDGET_SIGNAL_GETVALUE, LOW(MainWindow_OnGetDefaultWidth), HIGH(MainWindow_OnGetDefaultWidth)

View File

@@ -178,7 +178,7 @@ mcLayoutVertically:
push xl
push xh
push r24
rcall Layout2_SetDefaultHeights ; (any, !Y)
rcall Layout_SetDefaultHeights ; (any, !Y)
pop r24
pop xh
pop xl
@@ -222,7 +222,7 @@ mcLayoutHorizontally:
push xl
push xh
push r24
rcall Layout2_SetDefaultWidths ; (any, !Y)
rcall Layout_SetDefaultWidths ; (any, !Y)
pop r24
pop xh
pop xl

View File

@@ -7,21 +7,21 @@
; * Please see toplevel file COPYING of that project for license details. *
; ***************************************************************************
#ifndef AQH_AVR_GUI2_VLAYOUT2_ASM
#define AQH_AVR_GUI2_VLAYOUT2_ASM
#ifndef AQH_AVR_GUI2_VLAYOUT_ASM
#define AQH_AVR_GUI2_VLAYOUT_ASM
; ***************************************************************************
; defines
.equ VLAYOUT2_OFFS_BEGIN = WIDGET_SIZE
.equ VLAYOUT2_OFFS_MODE = VLAYOUT2_OFFS_BEGIN+0
.equ VLAYOUT2_SIZE = VLAYOUT2_OFFS_BEGIN+1
.equ VLAYOUT_OFFS_BEGIN = WIDGET_SIZE
.equ VLAYOUT_OFFS_MODE = VLAYOUT_OFFS_BEGIN+0
.equ VLAYOUT_SIZE = VLAYOUT_OFFS_BEGIN+1
; values for VLAYOUT_OFFS_MODE
.equ VLAYOUT2_MODE_EXPAND = 0
.equ VLAYOUT2_MODE_SPREAD = 1
.equ VLAYOUT_MODE_EXPAND = 0
.equ VLAYOUT_MODE_SPREAD = 1
@@ -45,23 +45,23 @@
; @param r20 layout mode (VLAYOUT_MODE_EXPAND, VLAYOUT_MODE_SPREAD)
; @clobbers any
VLayout2_new:
VLayout_new:
push r20
ldi r24, LOW(VLAYOUT2_SIZE)
ldi r25, HIGH(VLAYOUT2_SIZE)
ldi r24, LOW(VLAYOUT_SIZE)
ldi r25, HIGH(VLAYOUT_SIZE)
bigcall Object_Alloc ; (!r16, !r17, !X)
pop r20
brcc VLayout2_new_ret
rcall VLayout2_Init ; (r16, r17, X)
brcc VLayout_new_ret
rcall VLayout_Init ; (r16, r17, X)
sec
VLayout2_new_ret:
VLayout_new_ret:
ret
; @end
; ---------------------------------------------------------------------------
; @routine VLayout2_Init @global
; @routine VLayout_Init @global
;
; @param Y address of widget
; @param X parent widget (if any)
@@ -70,19 +70,19 @@ VLayout2_new_ret:
; @param r20 layout mode (VLAYOUT_MODE_EXPAND, VLAYOUT_MODE_SPREAD)
; @clobbers r16, r17, X
VLayout2_Init:
VLayout_Init:
push r20
; call base class
bigcall Widget_Init ; (r16, r17, X)
pop r20
; set widget-specific data
std Y+VLAYOUT2_OFFS_MODE, r20
std Y+VLAYOUT_OFFS_MODE, r20
; set default signal map
ldi r16, LOW(VLayout2_DefaultSignalmap*2)
ldi r16, LOW(VLayout_DefaultSignalmap*2)
std Y+OBJECT_OFFS_SIGNALMAP_LO, r16
ldi r16, HIGH(VLayout2_DefaultSignalmap*2)
ldi r16, HIGH(VLayout_DefaultSignalmap*2)
std Y+OBJECT_OFFS_SIGNALMAP_HI, r16
ret
@@ -91,19 +91,19 @@ VLayout2_Init:
; ---------------------------------------------------------------------------
; @routine VLayout2_OnLayout
; @routine VLayout_OnLayout
;
; @param Y pointer to widget
; @clobbers any, !Y
VLayout2_OnLayout:
VLayout_OnLayout:
; create and preset context
rcall LayoutCtx_CreateContextFor1D ; X=ctx, r16=num of children
brcc VLayout2_OnLayout_ret
brcc VLayout_OnLayout_ret
; do layout
mov r25, r16
rcall vLayout2Horizontally
rcall vLayout2Vertically
rcall vLayoutHorizontally
rcall vLayoutVertically
; release layout context
bigcall LayoutCtx_free
@@ -112,7 +112,7 @@ VLayout2_OnLayout:
sbr r16, (1<<WIDGET_FLAGS_DIRTY_BIT)
cbr r16, (1<<WIDGET_FLAGS_LAYOUT_BIT)
std Y+OBJECT_OFFS_FLAGS, r16
VLayout2_OnLayout_ret:
VLayout_OnLayout_ret:
sec
ret
; @end
@@ -120,15 +120,15 @@ VLayout2_OnLayout_ret:
; ---------------------------------------------------------------------------
; @routine VLayout2_OnGetDefaultHeight
; @routine VLayout_OnGetDefaultHeight
;
; @param Y pointer to widget
; @return r19:r18 value
; @clobbers any, !Y
VLayout2_OnGetDefaultHeight:
rcall Layout2_SetDefaultHeights
rcall Layout2_SumTmpValues ; r19:r18=default width
VLayout_OnGetDefaultHeight:
rcall Layout_SetDefaultHeights
rcall Layout_SumTmpValues ; r19:r18=default width
sec
ret
@@ -137,15 +137,15 @@ VLayout2_OnGetDefaultHeight:
; ---------------------------------------------------------------------------
; @routine VLayout2_OnGetDefaultWidth
; @routine VLayout_OnGetDefaultWidth
;
; @param Y pointer to widget
; @return r19:r18 value
; @clobbers any, !Y
VLayout2_OnGetDefaultWidth:
rcall Layout2_SetDefaultWidths
rcall Layout2_GetMaxTmp
VLayout_OnGetDefaultWidth:
rcall Layout_SetDefaultWidths
rcall Layout_GetMaxTmp
bigcall Widget_AddOuterStyleBorders ; (r20, r21)
sec
@@ -155,36 +155,36 @@ VLayout2_OnGetDefaultWidth:
; ---------------------------------------------------------------------------
; @routine vLayout2Horizontally
; @routine vLayoutHorizontally
;
; @param Y pointer to widget
; @param X layout context
; @param r25 number of children
; @clobbers any, !Y
vLayout2Horizontally:
rcall vLayout2PrepareHorizontal ; (any, !R25, !X, !Y)
rcall vLayout2ReadLayoutWriteHorizontal ; (r16-r24)
vLayoutHorizontally:
rcall vLayoutPrepareHorizontal ; (any, !R25, !X, !Y)
rcall vLayoutReadLayoutWriteHorizontal ; (r16-r24)
ret
; @end
; ---------------------------------------------------------------------------
; @routine vLayout2PrepareHorizontal
; @routine vLayoutPrepareHorizontal
;
; @param Y pointer to widget
; @param X layout context
; @param r25 number of children
; @clobbers any, !R25, !X, !Y,
vLayout2PrepareHorizontal:
vLayoutPrepareHorizontal:
push xl
push xh
push yl
push yh
push r25
rcall Layout2_SetDefaultWidths
rcall Layout_SetDefaultWidths
pop r25
pop yh
pop yl
@@ -203,14 +203,14 @@ vLayout2PrepareHorizontal:
; ---------------------------------------------------------------------------
; @routine vLayout2ReadLayoutWriteHorizontal
; @routine vLayoutReadLayoutWriteHorizontal
;
; @param Y pointer to widget
; @param X layout context
; @param r25 number of children
; @clobbers r16-r24
vLayout2ReadLayoutWriteHorizontal:
vLayoutReadLayoutWriteHorizontal:
; read positions and flags into new layout context
bigcall LayoutCtx_ReadXDimsContiguous ; (R16, r18, r19, Z)
@@ -226,7 +226,7 @@ vLayout2ReadLayoutWriteHorizontal:
ldd r16, Y+WIDGET_OFFS_PACK
andi r16, (1<<WIDGET_PACK_HSELF1_BIT) | (1<<WIDGET_PACK_HSELF0_BIT)
cpi r16, WIDGET_PACK_FILLED
brne vLayout2ReadLayoutWriteHorizontal_setSize
brne vLayoutReadLayoutWriteHorizontal_setSize
; use full possible width
adiw xh:xl, LAYOUT_CTX_OFFS_TOTALSIZE_LO
ld r18, X+
@@ -237,7 +237,7 @@ vLayout2ReadLayoutWriteHorizontal:
rol r23
sub r18, r22
sbc r19, r23
vLayout2ReadLayoutWriteHorizontal_setSize:
vLayoutReadLayoutWriteHorizontal_setSize:
bigcall LayoutCtx_SetFixedSize ; (r24)
; pack
@@ -249,36 +249,36 @@ vLayout2ReadLayoutWriteHorizontal_setSize:
; ---------------------------------------------------------------------------
; @routine vLayout2Vertically
; @routine vLayoutVertically
;
; @param Y pointer to widget
; @param X layout context
; @param r25 number of children
; @clobbers any, !X, !Y
vLayout2Vertically:
rcall vLayout2PrepareVertical ; (any, !R25, !X, !Y)
rcall vLayout2ReadLayoutWriteVertical ; (r16-r24)
vLayoutVertically:
rcall vLayoutPrepareVertical ; (any, !R25, !X, !Y)
rcall vLayoutReadLayoutWriteVertical ; (r16-r24)
ret
; @end
; ---------------------------------------------------------------------------
; @routine vLayout2PrepareVertical
; @routine vLayoutPrepareVertical
;
; @param Y pointer to widget
; @param X layout context
; @param r25 number of children
; @clobbers any, !R25, !X, !Y,
vLayout2PrepareVertical:
vLayoutPrepareVertical:
push xl
push xh
push yl
push yh
push r25
rcall Layout2_SetDefaultHeights ; (any, !Y)
rcall Layout_SetDefaultHeights ; (any, !Y)
pop r25
pop yh
pop yl
@@ -298,27 +298,27 @@ vLayout2PrepareVertical:
; ---------------------------------------------------------------------------
; @routine vLayout2ReadLayoutWriteVertical
; @routine vLayoutReadLayoutWriteVertical
;
; @param Y pointer to widget
; @param X layout context
; @param r25 number of children
; @clobbers r16-r24
vLayout2ReadLayoutWriteVertical:
vLayoutReadLayoutWriteVertical:
; read X positions and flags into new layout context
bigcall LayoutCtx_ReadYDimsContiguous ; (R16, r18, r19, Z)
; layout
push r25
ldd r24, Y+VLAYOUT2_OFFS_MODE
cpi r24, VLAYOUT2_MODE_SPREAD
breq vLayout2ReadLayoutWriteVertical_spread
ldd r24, Y+VLAYOUT_OFFS_MODE
cpi r24, VLAYOUT_MODE_SPREAD
breq vLayoutReadLayoutWriteVertical_spread
bigcall LayoutCtx_LayoutExpand ; (r16-r25)
rjmp vLayout2ReadLayoutWriteVertical_pack
vLayout2ReadLayoutWriteVertical_spread:
rjmp vLayoutReadLayoutWriteVertical_pack
vLayoutReadLayoutWriteVertical_spread:
bigcall LayoutCtx_LayoutSpread ; (r16-r25)
vLayout2ReadLayoutWriteVertical_pack:
vLayoutReadLayoutWriteVertical_pack:
pop r25
; pack
@@ -326,8 +326,6 @@ vLayout2ReadLayoutWriteVertical_pack:
bigcall LayoutCtx_PackYContiguous ; (r16-r21, r24, r25)
pop r25
; write back dims
; bigcall LayoutCtx_WriteYDimsContiguous ; (r16, r18, r19, r24)
ret
; @end
@@ -341,13 +339,13 @@ vLayout2ReadLayoutWriteVertical_pack:
; ***************************************************************************
; data in FLASH
VLayout2_DefaultSignalmap:
VLayout_DefaultSignalmap:
; header
.dw Widget_DefaultSignalmap*2 ; next table to use
; entries
.db 0, WIDGET_SIGNAL_LAYOUT, LOW(VLayout2_OnLayout), HIGH(VLayout2_OnLayout)
.db WIDGET_VALUE_DEFAULT_WIDTH, WIDGET_SIGNAL_GETVALUE, LOW(VLayout2_OnGetDefaultWidth), HIGH(VLayout2_OnGetDefaultWidth)
.db WIDGET_VALUE_DEFAULT_HEIGHT, WIDGET_SIGNAL_GETVALUE, LOW(VLayout2_OnGetDefaultHeight), HIGH(VLayout2_OnGetDefaultHeight)
.db 0, WIDGET_SIGNAL_LAYOUT, LOW(VLayout_OnLayout), HIGH(VLayout_OnLayout)
.db WIDGET_VALUE_DEFAULT_WIDTH, WIDGET_SIGNAL_GETVALUE, LOW(VLayout_OnGetDefaultWidth), HIGH(VLayout_OnGetDefaultWidth)
.db WIDGET_VALUE_DEFAULT_HEIGHT, WIDGET_SIGNAL_GETVALUE, LOW(VLayout_OnGetDefaultHeight), HIGH(VLayout_OnGetDefaultHeight)
.db 0, 0, 0, 0 ; end of table