A2osX/LIB/LIBTUI.S.BUT.txt

147 lines
2.1 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

NEW
AUTO 3,1
.LIST OFF
*--------------------------------------
* BUT.New hParent,X1,Y1,HK,EV,pLabel 7
*--------------------------------------
BUT.New lda #S.OBJ.T.BUT
jsr OBJ.Create
bcs .9
ldy #S.BUT.pLabel
jsr OBJ.PullWordY
stx ZPPtr1
sta ZPPtr1+1
ldy #$ff
.1 iny
lda (ZPPtr1),y
bne .1
tya
inc
inc
ldy #S.OBJ.W
sta (ZPObjPtr),y
ldy #S.OBJ.H
lda #1
sta (ZPObjPtr),y
>PULLA
ldy #S.BUT.EV
sta (ZPObjPtr),y
>PULLA
ldy #S.BUT.HotKey
sta (ZPObjPtr),y
jsr OBJ.PullY1X1hParent
jsr OBJ.Insert
bcs .99
lda hObj
* clc
rts
.9 >POP 7
.99 rts
*--------------------------------------
BUT.Destroy clc
rts
*--------------------------------------
BUT.Run lda (pStack) Event
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
.8 ldy #S.BUT.EV
lda (ZPObjPtr),y
clc
rts
.9 lda #0
sec
rts
*--------------------------------------
BUT.Draw ldy #S.BUT.pLabel
lda (ZPObjPtr),y
sta ZPPtr1
iny
lda (ZPObjPtr),y
sta ZPPtr1+1
ldx #SEQ.INVERSE-SEQS
jsr LB.SeqOut
ldx #C.SPACE
ldy #S.OBJ.S
lda (ZPObjPtr),y
bpl .1
ldx #'['
.1 txa
jsr LB.COut
ldy #S.OBJ.InnerW
lda (ZPObjPtr),y
tax
dex
dex
ldy #0
.2 lda (ZPPtr1),y
beq .3
jsr LB.COut
iny
dex
bne .2
.3 txa
beq .5
lda #C.SPACE
.4 jsr LB.COut
dex
bne .4
.5 ldx #C.SPACE
ldy #S.OBJ.S
lda (ZPObjPtr),y
bpl .20
ldx #']'
.20 txa
jsr LB.COut
.8 clc
rts
*--------------------------------------
BUT.Activate
BUT.Deactivate jmp OBJ.Draw.Body
*--------------------------------------
MAN
SAVE usr/src/lib/libtui.s.but
LOAD usr/src/lib/libtui.s
ASM