gui: use TextButtons for HSpinner.

This commit is contained in:
Martin Preuss
2026-05-06 17:16:50 +02:00
parent 44a8acb845
commit 10496a67ef

View File

@@ -193,17 +193,7 @@ hSpinnerCreateChildren:
; create left button
push r20
push r21
ldi r16, 0 ; OPTS
ldi r17, (WIDGET_PACK_BEGIN<<WIDGET_PACK_HSELF0_BIT) | (WIDGET_PACK_CENTER<<WIDGET_PACK_VSELF0_BIT) ; PACK
ldi r20, LOW(RESSOURCE_IMG_ARROWLEFT) ; image ressource
ldi r21, HIGH(RESSOURCE_IMG_ARROWLEFT)
ldi r22, HSPINNER_SEL_LEFT ; selector
ldi r23, BUTTON_MODE_REPEATED
push xl
push xh
bigcall ImageButton_new
pop xh
pop xl
call hSpinnerCreateLeftButton
pop r21
pop r20
brcc hSpinnerCreateChildren_popRet
@@ -219,17 +209,7 @@ hSpinnerCreateChildren:
brcc hSpinnerCreateChildren_popRet
; create right button
ldi r16, 0 ; OPTS
ldi r17, (WIDGET_PACK_BEGIN<<WIDGET_PACK_HSELF0_BIT) | (WIDGET_PACK_CENTER<<WIDGET_PACK_VSELF0_BIT) ; PACK
ldi r20, LOW(RESSOURCE_IMG_ARROWRIGHT) ; image ressource
ldi r21, HIGH(RESSOURCE_IMG_ARROWRIGHT)
ldi r22, HSPINNER_SEL_RIGHT ; selector
ldi r23, BUTTON_MODE_REPEATED
push xl
push xh
bigcall ImageButton_new
pop xh
pop xl
call hSpinnerCreateRightButton
hSpinnerCreateChildren_popRet:
pop yh
pop yl
@@ -238,6 +218,67 @@ hSpinnerCreateChildren_popRet:
hSpinnerCreateLeftButton:
push xl
push xh
; create button
ldi r16, (1<<WIDGET_OPTS_BORDER_BIT) ; OPTS
ldi r17, (WIDGET_PACK_BEGIN<<WIDGET_PACK_HSELF0_BIT) | (WIDGET_PACK_CENTER<<WIDGET_PACK_VSELF0_BIT) ; PACK
ldi r20, LOW(RESSOURCE_TXT_LESSERTHAN_C) ; text ressource
ldi r21, HIGH(RESSOURCE_TXT_LESSERTHAN_C)
ldi r22, HSPINNER_SEL_LEFT ; selector
ldi r23, BUTTON_MODE_REPEATED
bigcall TextButton_new
brcc hSpinnerCreateLeftButton_done
; set style in Label part of the text button
bigcall OBJ_GetFirstChild
brcc hSpinnerCreateLeftButton_done
mov yl, r18
mov yh, r19
ldi r16, LOW(HSpinner_ButtonStyle*2)
std Y+WIDGET_OFFS_STYLE_LO, r16
ldi r16, HIGH(HSpinner_ButtonStyle*2)
std Y+WIDGET_OFFS_STYLE_HI, r16
hSpinnerCreateLeftButton_done:
pop xh
pop xl
ret
; @end
hSpinnerCreateRightButton:
push xl
push xh
; create button
ldi r16, (1<<WIDGET_OPTS_BORDER_BIT) ; OPTS
ldi r17, (WIDGET_PACK_BEGIN<<WIDGET_PACK_HSELF0_BIT) | (WIDGET_PACK_CENTER<<WIDGET_PACK_VSELF0_BIT) ; PACK
ldi r20, LOW(RESSOURCE_TXT_GREATERTHAN_C) ; text ressource
ldi r21, HIGH(RESSOURCE_TXT_GREATERTHAN_C)
ldi r22, HSPINNER_SEL_RIGHT ; selector
ldi r23, BUTTON_MODE_REPEATED
bigcall TextButton_new
brcc hSpinnerCreateRightButton_done
; set style in Label part of the text button
bigcall OBJ_GetFirstChild
brcc hSpinnerCreateRightButton_done
mov yl, r18
mov yh, r19
ldi r16, LOW(HSpinner_ButtonStyle*2)
std Y+WIDGET_OFFS_STYLE_LO, r16
ldi r16, HIGH(HSpinner_ButtonStyle*2)
std Y+WIDGET_OFFS_STYLE_HI, r16
hSpinnerCreateRightButton_done:
pop xh
pop xl
ret
; @end
; ---------------------------------------------------------------------------
; @routine hSpinnerSetValue
;
@@ -458,6 +499,25 @@ HSpinner_OnSetMaxValue_done:
; ***************************************************************************
; data in FLASH
HSpinner_ButtonStyle:
.dw DISPLAY_COLOR_BLACK ; frontCol_norm
.dw DISPLAY_COLOR_WHITE ; 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 6, 0 ; outerBorderSize, innerBorderSize
.dw ili9341Font12x16_1*2 ; font
.db 12, 16 ; charWidth, charHeight
; @end
HSpinner_DefaultSignalmap:
; header
.dw HLayout_DefaultSignalmap*2 ; next table to use