A2osX/LIB/LIBGUI.S.MENU.txt

159 lines
2.2 KiB
Plaintext
Raw Normal View History

NEW
2019-07-30 08:57:25 +00:00
AUTO 3,1
*--------------------------------------
2020-09-30 15:32:54 +00:00
MENU.MBarInit >STYA ZPMENUPtr
>STYA ZPPtr1
ldy #S.MBAR.S
lda (ZPPtr1),y
bmi .80
2020-09-15 14:48:35 +00:00
2020-09-29 15:37:26 +00:00
stz DX
stz DX+1
2020-10-01 06:08:33 +00:00
2020-09-29 15:37:26 +00:00
.1 lda (ZPPtr1)
beq .8
2020-09-30 15:32:54 +00:00
lda #S.MBAR.TEXT
clc
adc ZPPtr1
tay
lda ZPPtr1+1
adc #0
2020-09-29 15:37:26 +00:00
ldx hSYSFONB
jsr FON.GetTextSize
ldy #S.MBAR.X1
lda DX
sta (ZPPtr1),y
iny
lda DX+1
sta (ZPPtr1),y
2020-10-01 06:08:33 +00:00
iny #S.MBAR.XT
2020-09-29 15:37:26 +00:00
lda DX
clc
2020-10-01 06:08:33 +00:00
adc PREFS.MBARXMARGIN
2020-09-29 15:37:26 +00:00
sta DX
sta (ZPPtr1),y
iny
2020-10-01 06:08:33 +00:00
2020-09-29 15:37:26 +00:00
lda DX+1
adc #0
sta DX+1
sta (ZPPtr1),y
2020-09-15 14:48:35 +00:00
2020-09-29 15:37:26 +00:00
lda DX
clc
2020-10-01 06:08:33 +00:00
adc CB.CACHE+S.CB.SrcW
2020-09-29 15:37:26 +00:00
sta DX
lda DX+1
2020-10-01 06:08:33 +00:00
adc CB.CACHE+S.CB.SrcW+1
2020-09-29 15:37:26 +00:00
sta DX+1
iny #S.MBAR.X2
lda DX
clc
2020-10-01 06:08:33 +00:00
adc PREFS.MBARXMARGIN
2020-09-29 15:37:26 +00:00
sta DX
sta (ZPPtr1),y
iny
2020-09-15 14:48:35 +00:00
2020-09-29 15:37:26 +00:00
lda DX+1
adc #0
sta DX+1
sta (ZPPtr1),y
lda (ZPPtr1)
2020-09-30 15:32:54 +00:00
clc
2020-09-29 15:37:26 +00:00
adc ZPPtr1
sta ZPPtr1
bcc .1
inc ZPPtr1+1
bra .1
.8 lda #$80
ldy #S.MBAR.S
2020-09-30 15:32:54 +00:00
sta (ZPPtr1),y
2020-09-15 14:48:35 +00:00
2020-09-30 15:32:54 +00:00
.80 clc
2020-09-15 14:48:35 +00:00
rts
*--------------------------------------
2020-10-09 06:02:45 +00:00
* MENU.New(int X, int Y, *MITEM mitems)
2020-09-07 20:40:50 +00:00
*--------------------------------------
2020-10-09 06:02:45 +00:00
MENU.New >LDYAI S.MENU
>SYSCALL2 getmem
bcs .9
>STYA ZPMENUPtr
* stx
lda #S.OBJ.T.MENU
sta (ZPMENUPtr) S.OBJ.T
lda #0
ldy #S.MENU-1
.1 sta (ZPMENUPtr),y
dey
bne .1
>PULLA
ldy #S.OBJ.S.MENU.DEFS
sta (ZPMENUPtr),y
sta ZPPtr1
>PULLA
iny
sta (ZPMENUPtr),y
sta ZPPtr1+1
>PULLA
ldy #S.OBJ.Y1
sta (ZPMENUPtr),y
>PULLA
iny
sta (ZPMENUPtr),y
>PULLA
ldy #S.OBJ.X1
and PREFS.BESTVIEWEDX
sta (ZPMENUPtr),y
>PULLA
iny
sta (ZPMENUPtr),y
lda #2 1px Border
sta DX
sta DY
stz DX+1
stz DY+1
.2 lda (ZPPtr1)
.8 clc
rts
.9 >POP 6
2020-09-07 20:40:50 +00:00
rts
*--------------------------------------
2020-10-09 06:02:45 +00:00
MENU.Paint
MENU.Close
*--------------------------------------
MAN
2020-06-30 15:32:23 +00:00
SAVE usr/src/lib/libgui.s.menu
LOAD usr/src/lib/libgui.s
ASM