mirror of https://github.com/A2osX/A2osX.git
LIBGUI:reorg
This commit is contained in:
parent
5fa429c326
commit
d2fa558510
Binary file not shown.
|
@ -0,0 +1,144 @@
|
|||
NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
CB.InitCacheA sta CB.Cache+S.CB.CMD
|
||||
*--------------------------------------
|
||||
CB.ClearCache ldx #S.CB-1
|
||||
|
||||
.1 stz CB.Cache,x
|
||||
dex
|
||||
bne .1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
CB.GetInCache >STYA .1+1
|
||||
|
||||
ldx #S.CB-1
|
||||
|
||||
.1 lda $ffff,x SELF MODIFIED
|
||||
sta CB.Cache,x
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
CB.GetBuf clc
|
||||
|
||||
ldx hCBBuf
|
||||
bne .9
|
||||
|
||||
>LDYAI 512
|
||||
>SYSCALL2 GetMem
|
||||
bcs .9
|
||||
|
||||
stx hCBBuf
|
||||
>STYA ZPCBPtr
|
||||
>STYA ZPCBBufPtr
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CB.Cache2CBBuf
|
||||
lda CB.Cache
|
||||
lsr
|
||||
tax
|
||||
ldy CB.CmdLen-1,x
|
||||
|
||||
ldx #0
|
||||
|
||||
.1 lda CB.Cache,x
|
||||
sta (ZPCBBufPtr)
|
||||
inc ZPCBBufPtr
|
||||
bne .2
|
||||
|
||||
inc ZPCBBufPtr+1
|
||||
|
||||
.2 inx
|
||||
dey
|
||||
bpl .1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
CB.FlushBufToYA ldx hCBBuf
|
||||
beq .8
|
||||
|
||||
pha
|
||||
phy
|
||||
|
||||
bit PTR.bVisible
|
||||
bpl .1
|
||||
|
||||
jsr PTR.Hide.I
|
||||
|
||||
.1 lda #0
|
||||
sta (ZPCBBufPtr)
|
||||
|
||||
ply
|
||||
pla
|
||||
|
||||
jsr OBJ.GetInCache
|
||||
|
||||
.2 lda (ZPCBPtr)
|
||||
beq .7
|
||||
|
||||
>LDYA ZPCBPtr
|
||||
jsr CB.GetInCache A = CB.CMD
|
||||
|
||||
cmp #S.CB.CMD.DRAWTEXT2
|
||||
bne .4
|
||||
|
||||
lda #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD
|
||||
sta CB.Cache+S.CB.CMD
|
||||
jsr CB.GFXWrite
|
||||
bcs .9
|
||||
|
||||
jsr CLIP.CB.Cache
|
||||
bcs .3
|
||||
|
||||
jsr CB.GFXWrite
|
||||
|
||||
.3 lda CB.Cache+S.CB.SrcPtr
|
||||
>SYSCALL2 FreeStkObj
|
||||
bra .5
|
||||
|
||||
.4 jsr CLIP.CB.Cache
|
||||
bcs .5
|
||||
|
||||
jsr CB.GFXWrite
|
||||
|
||||
.5 lda (ZPCBPtr) Get Cmd
|
||||
lsr
|
||||
tax
|
||||
lda CB.CmdLen-1,x
|
||||
sec +1
|
||||
adc ZPCBPtr
|
||||
sta ZPCBPtr
|
||||
bcc .2
|
||||
|
||||
inc ZPCBPtr+1
|
||||
bra .2
|
||||
|
||||
.7 lda hCBBuf
|
||||
stz hCBBuf
|
||||
>SYSCALL2 FreeMem
|
||||
|
||||
bit PTR.bVisible
|
||||
bpl .8
|
||||
|
||||
jmp PTR.Show.I
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CB.GFXWrite >PUSHB WND.Screen+S.OBJ.hPARENT
|
||||
>PUSHBI IOCTL.WRITE
|
||||
>PUSHW L.CB.Cache
|
||||
>SYSCALL2 IOCTL
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
||||
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libgui.s.cb
|
||||
LOAD usr/src/lib/libgui.s
|
||||
ASM
|
|
@ -493,78 +493,6 @@ DRAW.AddP1YtoCBX
|
|||
sta CB.Cache+1,x
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRAW.FlushBufToYA
|
||||
ldx hCBBuf
|
||||
beq .80
|
||||
|
||||
pha
|
||||
phy
|
||||
|
||||
bit PTR.bVisible
|
||||
bpl .1
|
||||
|
||||
jsr PTR.Hide.I
|
||||
|
||||
.1 lda #0
|
||||
sta (ZPCBBufPtr)
|
||||
|
||||
ply
|
||||
pla
|
||||
|
||||
jsr OBJ.GetInCache
|
||||
|
||||
.2 lda (ZPCBPtr)
|
||||
beq .8
|
||||
|
||||
>LDYA ZPCBPtr
|
||||
jsr CB.GetInCache A = CB.CMD
|
||||
|
||||
cmp #S.CB.CMD.DRAWTEXT2
|
||||
bne .6
|
||||
|
||||
lda #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD
|
||||
sta CB.Cache+S.CB.CMD
|
||||
jsr CB.GFXWrite
|
||||
bcs .9
|
||||
|
||||
jsr CLIP.CB.Cache
|
||||
bcs .3
|
||||
|
||||
jsr CB.GFXWrite
|
||||
|
||||
.3 lda CB.Cache+S.CB.SrcPtr
|
||||
>SYSCALL2 FreeStkObj
|
||||
bra .7
|
||||
|
||||
.6 jsr CLIP.CB.Cache
|
||||
bcs .7
|
||||
|
||||
jsr CB.GFXWrite
|
||||
|
||||
.7 lda (ZPCBPtr) Get Cmd
|
||||
lsr
|
||||
tax
|
||||
lda CB.CmdLen-1,x
|
||||
sec +1
|
||||
adc ZPCBPtr
|
||||
sta ZPCBPtr
|
||||
bcc .2
|
||||
|
||||
inc ZPCBPtr+1
|
||||
bra .2
|
||||
|
||||
.8 lda hCBBuf
|
||||
stz hCBBuf
|
||||
>SYSCALL2 FreeMem
|
||||
|
||||
bit PTR.bVisible
|
||||
bpl .80
|
||||
|
||||
jmp PTR.Show.I
|
||||
|
||||
.80 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libgui.s.draw
|
||||
LOAD usr/src/lib/libgui.s
|
||||
|
|
|
@ -129,7 +129,7 @@ MENU.GetData lda ZPMENUPtr
|
|||
bne .2
|
||||
|
||||
inc ZPPtr1 skip 1 byte
|
||||
bne .1
|
||||
bne .5
|
||||
|
||||
inc ZPPtr1+1
|
||||
bra .5
|
||||
|
@ -183,7 +183,7 @@ MENU.GetData lda ZPMENUPtr
|
|||
lda #2 skip pICON
|
||||
jsr SkipAPtr1
|
||||
|
||||
.5 ldy #S.MITEM.pTEXT
|
||||
ldy #S.MITEM.pTEXT
|
||||
lda ZPPtr1
|
||||
sta (ZPMENUPtr),y
|
||||
iny
|
||||
|
@ -196,7 +196,7 @@ MENU.GetData lda ZPMENUPtr
|
|||
lda #0
|
||||
sta (ZPMENUPtr),y
|
||||
|
||||
lda ZPMENUPtr
|
||||
.5 lda ZPMENUPtr
|
||||
clc
|
||||
adc #S.MITEM
|
||||
sta ZPMENUPtr
|
||||
|
@ -418,19 +418,16 @@ MENU.FindMItemByID
|
|||
.9 sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENU.Enter jsr MENU.GETX1X2WDY
|
||||
MENU.Enter jsr MENU.GetDXDYW
|
||||
|
||||
jsr MENU.GetMItems
|
||||
|
||||
.1 lda (ZPPtr1)
|
||||
beq .4
|
||||
|
||||
lda (ZPPtr1)
|
||||
cmp #S.MITEM.T.SEP
|
||||
beq .2
|
||||
|
||||
jsr MENU.ResetDX
|
||||
|
||||
lda DY Y1
|
||||
sec
|
||||
adc SYSFON.H
|
||||
|
@ -448,11 +445,12 @@ MENU.Enter jsr MENU.GETX1X2WDY
|
|||
bpl .2
|
||||
|
||||
eor #S.MITEM.S.SELECTED
|
||||
sta (ZPPtr1),y
|
||||
sta (ZPPtr1),y was selected before...
|
||||
|
||||
jsr CB.GetBuf
|
||||
bcs .9
|
||||
|
||||
jsr MENU.ResetX1Y1X2
|
||||
jsr MENU.DrawMItem
|
||||
|
||||
.2 jsr MENU.NextMItemDY
|
||||
|
@ -461,29 +459,30 @@ MENU.Enter jsr MENU.GETX1X2WDY
|
|||
.3 ldy #S.MITEM.S
|
||||
lda (ZPPtr1),y
|
||||
bmi .8 already selected, nothing to do
|
||||
|
||||
>DEBUG
|
||||
eor #S.MITEM.S.SELECTED
|
||||
sta (ZPPtr1),y
|
||||
|
||||
jsr CB.GetBuf
|
||||
bcs .9
|
||||
|
||||
jsr MENU.ResetX1Y1X2
|
||||
jsr MENU.DrawMItem
|
||||
|
||||
lda (ZPPtr1)
|
||||
cmp #S.MITEM.T.SUBMENU
|
||||
bne .1
|
||||
|
||||
>LDYA L.WND.Screen
|
||||
jsr DRAW.FlushBufToYA
|
||||
* >LDYA L.WND.Screen
|
||||
* jsr CB.FlushBufToYA
|
||||
|
||||
jsr MENU.NewSubMenu
|
||||
bcs .9
|
||||
* jsr MENU.NewSubMenu
|
||||
* bcs .9
|
||||
|
||||
bra .1
|
||||
|
||||
.4 >LDYA L.WND.Screen
|
||||
jmp DRAW.FlushBufToYA
|
||||
jmp CB.FlushBufToYA
|
||||
|
||||
lda MSG+S.MSG.S
|
||||
bit #S.MSG.S.CLK
|
||||
|
@ -546,22 +545,20 @@ MENU.Draw >SYSCALL2 GetMemPtr
|
|||
|
||||
jsr MENU.DrawBorders
|
||||
|
||||
jsr MENU.GETX1X2WDY
|
||||
jsr MENU.GetDXDYW
|
||||
|
||||
jsr MENU.GetMItems
|
||||
|
||||
.1 lda (ZPPtr1)
|
||||
beq .8
|
||||
|
||||
jsr MENU.ResetDX
|
||||
jsr MENU.ResetX1Y1X2
|
||||
jsr MENU.DrawMItem
|
||||
jsr MENU.NextMItemDY
|
||||
bra .1
|
||||
|
||||
.8 >LDYA L.WND.Screen
|
||||
jsr DRAW.FlushBufToYA
|
||||
|
||||
>DEBUG
|
||||
jsr CB.FlushBufToYA
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
@ -972,7 +969,7 @@ MENU.Destroy clc
|
|||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENU.GETX1X2WDY ldy #S.OBJ.X1
|
||||
MENU.GetDXDYW ldy #S.OBJ.X1
|
||||
lda (ZPMENUPtr),y
|
||||
clc
|
||||
adc #1
|
||||
|
@ -992,14 +989,6 @@ MENU.GETX1X2WDY ldy #S.OBJ.X1
|
|||
sbc #0
|
||||
sta Counter+1
|
||||
|
||||
lda DX
|
||||
clc
|
||||
adc Counter
|
||||
sta CB.Cache+S.CB.X2
|
||||
lda DX+1
|
||||
adc Counter+1
|
||||
sta CB.Cache+S.CB.X2+1
|
||||
|
||||
ldy #S.OBJ.Y1
|
||||
lda (ZPMENUPtr),y
|
||||
clc
|
||||
|
@ -1012,10 +1001,21 @@ MENU.GETX1X2WDY ldy #S.OBJ.X1
|
|||
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENU.ResetDX lda DX
|
||||
MENU.ResetX1Y1X2
|
||||
lda DX
|
||||
sta CB.Cache+S.CB.X1
|
||||
clc
|
||||
adc Counter
|
||||
sta CB.Cache+S.CB.X2
|
||||
lda DX+1
|
||||
sta CB.Cache+S.CB.X1+1
|
||||
adc Counter+1
|
||||
sta CB.Cache+S.CB.X2+1
|
||||
|
||||
lda DY
|
||||
sta CB.Cache+S.CB.Y1
|
||||
lda DY+1
|
||||
sta CB.Cache+S.CB.Y1+1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
|
|
@ -121,11 +121,11 @@ MOU.CheckOverMenu
|
|||
|
||||
* TODO:destroy from TOP to current, then enter current
|
||||
|
||||
inx
|
||||
phx
|
||||
* inx
|
||||
* phx
|
||||
|
||||
jsr MENU.Destroy
|
||||
bra .3
|
||||
* jsr MENU.Destroy
|
||||
* bra .3
|
||||
|
||||
.7 jmp MENU.Enter
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ SYSBUT.Enter sec
|
|||
jsr SYSBAR.ShowSysBut
|
||||
|
||||
>LDYA L.WND.SysBar
|
||||
jsr DRAW.FlushBufToYA
|
||||
jsr CB.FlushBufToYA
|
||||
|
||||
>PUSHW L.MENU.Sys
|
||||
>PUSHW WND.SysBar+S.OBJ.X1
|
||||
|
@ -36,7 +36,7 @@ SYSBUT.Leave bit WND.SYSBAR.bSysBut
|
|||
|
||||
>LDYA L.WND.SysBar
|
||||
|
||||
jmp DRAW.FlushBufToYA
|
||||
jmp CB.FlushBufToYA
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
|
@ -52,7 +52,7 @@ SYSBAR.Show jsr CB.GetBuf
|
|||
|
||||
>LDYA L.WND.SysBar
|
||||
|
||||
jmp DRAW.FlushBufToYA
|
||||
jmp CB.FlushBufToYA
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
|
|
@ -394,7 +394,7 @@ WND.Show2 jsr CB.GetBuf
|
|||
|
||||
>LDYA L.WND.Desktop
|
||||
|
||||
jsr DRAW.FlushBufToYA
|
||||
jsr CB.FlushBufToYA
|
||||
|
||||
lda WND.hWND
|
||||
pha
|
||||
|
@ -505,7 +505,7 @@ WND.fPaint >SYSCALL2 GetMemPtr
|
|||
jsr CB.Cache2CBBuf
|
||||
|
||||
.8 >LDYA L.WND.Desktop
|
||||
jmp DRAW.FlushBufToYA
|
||||
jmp CB.FlushBufToYA
|
||||
*--------------------------------------
|
||||
WND.ShowBorders sta IY
|
||||
|
||||
|
|
|
@ -240,69 +240,6 @@ LIB.UNLOAD dec LibCount
|
|||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CB.InitCacheA sta CB.Cache+S.CB.CMD
|
||||
*--------------------------------------
|
||||
CB.ClearCache ldx #S.CB-1
|
||||
|
||||
.1 stz CB.Cache,x
|
||||
dex
|
||||
bne .1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
CB.GetInCache >STYA .1+1
|
||||
|
||||
ldx #S.CB-1
|
||||
|
||||
.1 lda $ffff,x SELF MODIFIED
|
||||
sta CB.Cache,x
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
CB.GetBuf clc
|
||||
|
||||
ldx hCBBuf
|
||||
bne .9
|
||||
|
||||
>LDYAI 512
|
||||
>SYSCALL2 GetMem
|
||||
bcs .9
|
||||
|
||||
stx hCBBuf
|
||||
>STYA ZPCBPtr
|
||||
>STYA ZPCBBufPtr
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CB.Cache2CBBuf
|
||||
lda CB.Cache
|
||||
lsr
|
||||
tax
|
||||
ldy CB.CmdLen-1,x
|
||||
|
||||
ldx #0
|
||||
|
||||
.1 lda CB.Cache,x
|
||||
sta (ZPCBBufPtr)
|
||||
inc ZPCBBufPtr
|
||||
bne .2
|
||||
|
||||
inc ZPCBBufPtr+1
|
||||
|
||||
.2 inx
|
||||
dey
|
||||
bpl .1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
CB.GFXWrite >PUSHB WND.Screen+S.OBJ.hPARENT
|
||||
>PUSHBI IOCTL.WRITE
|
||||
>PUSHW L.CB.Cache
|
||||
>SYSCALL2 IOCTL
|
||||
rts
|
||||
*--------------------------------------
|
||||
SkipAPtr1 clc
|
||||
adc ZPPtr1
|
||||
sta ZPPtr1
|
||||
|
@ -330,6 +267,7 @@ SkipStrZPtr1 ldy #$ff
|
|||
*--------------------------------------
|
||||
.INB usr/src/lib/libgui.s.bm
|
||||
.INB usr/src/lib/libgui.s.but
|
||||
.INB usr/src/lib/libgui.s.cb
|
||||
.INB usr/src/lib/libgui.s.clip
|
||||
.INB usr/src/lib/libgui.s.cur
|
||||
.INB usr/src/lib/libgui.s.draw
|
||||
|
|
Loading…
Reference in New Issue