A2osX/LIB/LIBTUI.S.CBOX.txt

184 lines
2.4 KiB
Plaintext
Raw Normal View History

NEW
AUTO 3,1
.LIST OFF
*--------------------------------------
* CBOX.New hParent,X1,Y1,HK,EV,pLabel,pVar,F 10
*--------------------------------------
CBOX.New lda #S.OBJ.T.CBOX
jsr OBJ.Create
bcs .9
>PULLA
ldy #S.OBJ.F
sta (ZPObjPtr),y
ldy #S.OBJ.pVar
jsr OBJ.PullWordY
ldy #S.CBOX.pLabel
jsr OBJ.PullWordY
stx ZPPtr1
sta ZPPtr1+1
>PULLA
ldy #S.CBOX.EV
sta (ZPObjPtr),y
>PULLA
ldy #S.CBOX.HotKey
sta (ZPObjPtr),y
ldy #$ff
.1 iny
lda (ZPPtr1),y
bne .1
tya
inc
inc
inc
inc
inc
ldy #S.OBJ.W
sta (ZPObjPtr),y
ldy #S.OBJ.H
lda #1
sta (ZPObjPtr),y
jsr OBJ.PullY1X1hParent
jsr CONT.Insert
bcs .99
lda hObj
* clc
rts
.9 >POP 10
.99 rts
*--------------------------------------
CBOX.Run ldy #S.BUT.HotKey
cmp (ZPObjPtr),y
beq .8
ldy #S.OBJ.S
lda (ZPObjPtr),y
bpl .9
lda (pStack) Event
cmp #C.SPACE
bne .9
2024-01-25 18:44:59 +00:00
.8 jsr OBJ.GetpVarPtr2
2024-01-25 18:44:59 +00:00
lda (ZPPtr2)
eor #$ff
2024-01-25 18:44:59 +00:00
sta (ZPPtr2)
ldy #1 hObj
lda (pStack),y
>PUSHA
jsr OBJ.Draw.Body
inc pStack
bcs .99
ldy #S.CBOX.EV
lda (ZPObjPtr),y
* clc
rts
.9 lda #0
sec
.99 rts
*--------------------------------------
CBOX.Draw ldx #'<'
ldy #S.OBJ.S
lda (ZPObjPtr),y
php
bpl .10
ldx #'['
.10 txa
jsr LB.COut
2024-01-25 18:44:59 +00:00
jsr OBJ.GetpVarPtr2
ldx #C.SPACE
2024-01-25 18:44:59 +00:00
lda (ZPPtr2)
bpl .11
ldx #'X'
.11 txa
jsr LB.COut
ldx #'>'
plp
bpl .12
ldx #']'
.12 txa
jsr LB.COut
lda #C.SPACE
jsr LB.COut
ldy #S.BUT.pLabel
lda (ZPObjPtr),y
sta ZPPtr1
iny
lda (ZPObjPtr),y
sta ZPPtr1+1
.1 ldy #S.OBJ.InnerW
lda (ZPObjPtr),y
tax
dex
dex
dex
dex
ldy #0
.2 lda (ZPPtr1),y
beq .3
jsr LB.COut
iny
dex
bne .2
.3 txa
beq .8
bra .6
.5 ldy #S.OBJ.InnerW
lda (ZPObjPtr),y
tax
.6 lda #C.SPACE
.7 jsr LB.COut
dex
bne .7
.8 clc
rts
*--------------------------------------
MAN
SAVE usr/src/lib/libtui.s.cbox
LOAD usr/src/lib/libtui.s
ASM