A2osX/LIB/LIBTUI.S.CONT.txt

158 lines
2.3 KiB
Plaintext
Raw Normal View History

NEW
AUTO 3,1
.LIST OFF
*--------------------------------------
* CONT.New hCTX,F 2
*--------------------------------------
CONT.New jsr OBJ.Create A = Class
bcs .9
>PULLA
ldy #S.OBJ.F
sta (ZPObjPtr),y
>PULLA
ldy #S.OBJ.hParent
sta (ZPObjPtr),y
>SYSCALL2 GetMemPtr
>STYA ZPPtr2
ldy #S.CTX.W
lda (ZPPtr2),y
ldy #S.OBJ.W
sta (ZPObjPtr),y
ldy #S.CTX.H
lda (ZPPtr2),y
ldy #S.OBJ.H
sta (ZPObjPtr),y
jmp OBJ.SetX2Y2
.9 >POP 2
rts
*--------------------------------------
CONT.Insert >SYSCALL2 GetMemPtr A = hParent
>STYA ZPPtr2
ldy #S.OBJ.Childs
.1 lda (ZPPtr2),y
beq .2
iny
cpy #S.OBJ
bcc .1
lda #E.OOH
* sec
rts
.2 lda hObj
sta (ZPPtr2),y
ldy #S.OBJ.S
lda (ZPPtr2),y
ora #S.OBJ.S.bHasChilds
sta (ZPPtr2),y
ldy #S.OBJ.InnerX
lda (ZPPtr2),y
ldy #S.OBJ.X1
clc
adc (ZPObjPtr),y
sta (ZPObjPtr),y
ldy #S.OBJ.InnerY
lda (ZPPtr2),y
ldy #S.OBJ.Y1
clc
adc (ZPObjPtr),y
sta (ZPObjPtr),y
jmp OBJ.SetX2Y2
*--------------------------------------
CONT.Run lda (pStack) Event
cmp #C.TAB
bne .9
ldy #1
lda (pStack),y hObj
jsr OBJ.FindActive
bcs .9
>PUSHA hActive
phy index
ldy #2
lda (pStack),y hObj
>SYSCALL2 GetMemPtr
>STYA ZPPtr1
.10 ply
.1 iny
cpy #S.OBJ
bne .2
ldy #S.OBJ.Childs
.2 lda (ZPPtr1),y
beq .1
cmp (pStack) same as hActive ?
beq .8
phy
>SYSCALL2 GetMemPtr
>STYA ZPPtr2
ldy #S.OBJ.S
lda (ZPPtr2),y
and #S.OBJ.S.bDisabled+S.OBJ.S.bHidden
bne .10
ply
lda (ZPPtr1),y
pha
.3 lda (pStack)
jsr OBJ.Deactivate
inc pStack discard old hActive
pla
>PUSHA new hActive
jsr OBJ.Activate2
.8 inc pStack discard hActive
clc
rts
.9 lda #0
sec
rts
*--------------------------------------
CONT.Draw ldy #S.OBJ.InnerW
lda (ZPObjPtr),y
tax
lda #C.SPACE
.1 jsr LB.COut
dex
bne .1
clc
rts
*--------------------------------------
MAN
SAVE usr/src/lib/libtui.s.cont
LOAD usr/src/lib/libtui.s
ASM