gui: improved style handling.
This commit is contained in:
@@ -104,6 +104,31 @@ Button_Init:
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine Button_OnSetValueStyle @global
|
||||
;
|
||||
; @param Y address of widget
|
||||
; @param X=new style
|
||||
|
||||
Button_OnSetValueStyle:
|
||||
std Y+WIDGET_OFFS_STYLE_LO, xl
|
||||
std Y+WIDGET_OFFS_STYLE_HI, xh
|
||||
bigcall OBJ_GetFirstChild
|
||||
brcc Button_OnSetValueStyle_ret
|
||||
push yl
|
||||
push yh
|
||||
mov yl, r18
|
||||
mov yh, r19
|
||||
bigcall Widget_SetStyle ; set style in child
|
||||
pop yh
|
||||
pop yl
|
||||
Button_OnSetValueStyle_ret:
|
||||
sec
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine Button_OnTouchBegin @global
|
||||
;
|
||||
@@ -340,6 +365,7 @@ Button_DefaultSignalmap:
|
||||
.db 0, WIDGET_SIGNAL_LAYOUT, LOW(Button_OnLayout), HIGH(Button_OnLayout)
|
||||
.db WIDGET_VALUE_DEFAULT_WIDTH, WIDGET_SIGNAL_GETVALUE, LOW(Button_OnGetDefaultWidth), HIGH(Button_OnGetDefaultWidth)
|
||||
.db WIDGET_VALUE_DEFAULT_HEIGHT, WIDGET_SIGNAL_GETVALUE, LOW(Button_OnGetDefaultHeight), HIGH(Button_OnGetDefaultHeight)
|
||||
.db WIDGET_VALUE_STYLE, WIDGET_SIGNAL_SETVALUE, LOW(Button_OnSetValueStyle), HIGH(Button_OnSetValueStyle)
|
||||
|
||||
.db 0, 0, 0, 0 ; end of table
|
||||
|
||||
|
||||
@@ -239,14 +239,17 @@ cWidgetMkChildWidget_typeOk:
|
||||
|
||||
; set style (if any)
|
||||
adiw zh:zl, CWIDGETCFG_OFFS_WIDGET_STYLE_LO
|
||||
lpm r16, Z+
|
||||
lpm r17, Z
|
||||
lpm xl, Z+
|
||||
lpm xh, Z
|
||||
sbiw zh:zl, (CWIDGETCFG_OFFS_WIDGET_STYLE_LO+1)
|
||||
mov r18, r16
|
||||
or r18, r17
|
||||
mov r18, xl
|
||||
or r18, xh
|
||||
breq cWidgetMkChildWidget_setminmax
|
||||
std Y+WIDGET_OFFS_STYLE_LO, r16
|
||||
std Y+WIDGET_OFFS_STYLE_HI, r17
|
||||
push zl
|
||||
push zh
|
||||
bigcall Widget_SetStyle
|
||||
pop zh
|
||||
pop zl
|
||||
cWidgetMkChildWidget_setminmax:
|
||||
adiw zh:zl, CWIDGETCFG_OFFS_WIDGET_FLAGS
|
||||
lpm r16, Z
|
||||
|
||||
@@ -239,9 +239,9 @@ mainWindowCreateContentWidget:
|
||||
bigcall VLayout_new
|
||||
brcc mainWindowCreateContentWidget_done
|
||||
; set style for title widget
|
||||
ldi r16, LOW(MainWindow_ContentStyle*2)
|
||||
ldi r16, LOW(DefaultStyle_Window*2)
|
||||
std Y+WIDGET_OFFS_STYLE_LO, r16
|
||||
ldi r16, HIGH(MainWindow_ContentStyle*2)
|
||||
ldi r16, HIGH(DefaultStyle_Window*2)
|
||||
std Y+WIDGET_OFFS_STYLE_HI, r16
|
||||
mainWindowCreateContentWidget_done:
|
||||
pop yh
|
||||
@@ -269,57 +269,38 @@ MainWindow_DefaultSignalmap:
|
||||
|
||||
|
||||
MainWindow_DefaultStyle:
|
||||
.dw DISPLAY_COLOR_BLACK ; frontCol_norm
|
||||
.dw DISPLAY_COLOR_LIGHTGREY ; backCol_norm
|
||||
.dw DISPLAY_COLOR_BLACK ; borderCol_norm
|
||||
.dw DISPLAY_COLOR_WHITE ; shadowCol_norm
|
||||
.dw STYLE_WIN_FGCOL_NORM ; frontCol_norm
|
||||
.dw STYLE_WIN_BGCOL_NORM ; backCol_norm
|
||||
.dw STYLE_WIN_BORDERCOL_NORM ; borderCol_norm
|
||||
.dw STYLE_WIN_SHADOWCOL_NORM ; shadowCol_norm
|
||||
|
||||
.dw DISPLAY_COLOR_WHITE ; frontCol_activated
|
||||
.dw DISPLAY_COLOR_NAVY ; backCol_activated
|
||||
.dw DISPLAY_COLOR_BLACK ; borderCol_activated
|
||||
.dw DISPLAY_COLOR_WHITE ; shadowCol_activated
|
||||
|
||||
.db 0, 0 ; outerBorderSize, innerBorderSize
|
||||
.dw ili9341Font12x16_1*2 ; font
|
||||
.db 12, 16 ; charWidth, charHeight
|
||||
.dw STYLE_WIN_FGCOL_ACTIVATED ; frontCol_activated
|
||||
.dw STYLE_WIN_BGCOL_ACTIVATED ; backCol_activated
|
||||
.dw STYLE_WIN_BORDERCOL_ACTIVATED ; borderCol_activated
|
||||
.dw STYLE_WIN_SHADOWCOL_ACTIVATED ; shadowCol_activated
|
||||
|
||||
.db 0, 0 ; outerBorderSize, innerBorderSize
|
||||
.dw (STYLE_WIN_FONT*2) ; font
|
||||
.db STYLE_WIN_FONT_WIDTH, \
|
||||
STYLE_WIN_FONT_HEIGHT ; charWidth, charHeight
|
||||
|
||||
|
||||
|
||||
MainWindow_TitleStyle:
|
||||
.dw STYLE_WIN_TITLE_FOREGROUND ; frontCol_norm
|
||||
.dw STYLE_WIN_TITLE_BACKGROUND ; backCol_norm
|
||||
.dw DISPLAY_COLOR_BLACK ; borderCol_norm
|
||||
.dw DISPLAY_COLOR_WHITE ; shadowCol_norm
|
||||
.dw STYLE_TITLE_FGCOL ; frontCol_norm
|
||||
.dw STYLE_TITLE_BGCOL ; backCol_norm
|
||||
.dw STYLE_TITLE_BORDERCOL ; borderCol_norm
|
||||
.dw STYLE_TITLE_SHADOWCOL ; shadowCol_norm
|
||||
|
||||
.dw DISPLAY_COLOR_WHITE ; frontCol_activated
|
||||
.dw DISPLAY_COLOR_NAVY ; backCol_activated
|
||||
.dw DISPLAY_COLOR_BLACK ; borderCol_activated
|
||||
.dw DISPLAY_COLOR_WHITE ; shadowCol_activated
|
||||
.dw STYLE_TITLE_FGCOL ; frontCol_activated
|
||||
.dw STYLE_TITLE_BGCOL ; backCol_activated
|
||||
.dw STYLE_TITLE_BORDERCOL ; borderCol_activated
|
||||
.dw STYLE_TITLE_SHADOWCOL ; shadowCol_activated
|
||||
|
||||
.db 2, 1 ; outerBorderSize, innerBorderSize
|
||||
.dw ili9341Font12x16_1*2 ; font
|
||||
.db 12, 16 ; charWidth, charHeight
|
||||
|
||||
|
||||
|
||||
; this is the defining style for most windows because normally
|
||||
; the style of the parent will be propagated to newly created child widgets.
|
||||
|
||||
MainWindow_ContentStyle:
|
||||
.dw DISPLAY_COLOR_BLACK ; frontCol_norm
|
||||
.dw DISPLAY_COLOR_LIGHTGREY ; backCol_norm
|
||||
.dw DISPLAY_COLOR_BLACK ; borderCol_norm
|
||||
.dw DISPLAY_COLOR_WHITE ; shadowCol_norm
|
||||
|
||||
.dw DISPLAY_COLOR_WHITE ; frontCol_activated
|
||||
.dw DISPLAY_COLOR_NAVY ; backCol_activated
|
||||
.dw DISPLAY_COLOR_BLACK ; borderCol_activated
|
||||
.dw DISPLAY_COLOR_WHITE ; shadowCol_activated
|
||||
|
||||
.db 2, 1 ; outerBorderSize, innerBorderSize
|
||||
.dw ili9341Font12x16_1*2 ; font
|
||||
.db 12, 16 ; charWidth, charHeight
|
||||
|
||||
.dw (STYLE_TITLE_FONT*2) ; font
|
||||
.db STYLE_TITLE_FONT_WIDTH, \
|
||||
STYLE_TITLE_FONT_HEIGHT ; charWidth, charHeight
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user