LIBGUI:more API...

This commit is contained in:
burniouf 2022-10-26 08:12:16 +02:00
parent 092861b8e9
commit 658749b18f
9 changed files with 92 additions and 93 deletions

Binary file not shown.

View File

@ -6,7 +6,7 @@ LIBGUI.PTR.SetPos .EQ 6
LIBGUI.PTR.Hide .EQ 8
LIBGUI.PTR.Show .EQ 10
LIBGUI.PTR.Update .EQ 12
LIBGUI.ReadMouse .EQ 14
*LIBGUI.ReadMouse .EQ 14
LIBGUI.DRAW.Line .EQ 16
LIBGUI.OBJ.SetProp .EQ 18
LIBGUI.OBJ.GetProp .EQ 20
@ -16,7 +16,7 @@ LIBGUI.WND.Show .EQ 26
LIBGUI.WND.Paint .EQ 28
LIBGUI.WND.SetMBar .EQ 30
LIBGUI.MSG.Get .EQ 32
LIBGUI.MBAR.New .EQ 34
*LIBGUI.MBAR.New .EQ 34
*--------------------------------------
C.BLACK .EQ 0
C16.D.BLUE .EQ 1

View File

@ -30,6 +30,19 @@ CB.GetWndYCacheX
sta CB.Cache+1,x
rts
*--------------------------------------
CB.FillRectMonoA
sta CB.Cache+S.CB.COLOR
lda #S.CB.CMD.FILLRECT
sta CB.Cache+S.CB.CMD
lda #S.CB.OP.SET
sta CB.Cache+S.CB.OP
lda #S.CB.M.MONO
sta CB.Cache+S.CB.M
rts
*--------------------------------------
CB.GetBuf clc
ldx hCBBuf

View File

@ -144,14 +144,17 @@ MBAR.Enter ldy #S.WND.pMBAR
>SYSCALL2 GetMemPtr
>STYA ZPMENUPtr pMBAR
jsr MBAR.GetMBItems
stz ZPPtr2
stz ZPPtr2+1
ldy #S.OBJ.X1
ldx #S.CB.X1
jsr CB.GetWndYCacheX
jsr MBAR.GetMBItems
.1 lda (ZPPtr1)
beq .8
beq .3
jsr MBAR.SetX2
@ -159,49 +162,68 @@ MBAR.Enter ldy #S.WND.pMBAR
cmp CB.Cache+S.CB.X1
lda MSG+S.MSG.X1+1
sbc CB.Cache+S.CB.X1+1
bcc .7
bcc .2
lda CB.Cache+S.CB.X2
cmp MSG+S.MSG.X1
lda CB.Cache+S.CB.X2+1
sbc MSG+S.MSG.X1+1
bcc .7
bcc .2
ldy #S.MBITEM.S
ldy #S.MBITEM.S in RECT....
lda (ZPPtr1),y
bmi .8 Already Selected, nothing to do
eor #S.MBITEM.S.SELECTED
sta (ZPPtr1),y
>LDYA ZPPtr1
>STYA ZPPtr2 save MBITEM to activate
.2 jsr MBAR.NextMBItem
bra .1
*--------------------------------------
.3 lda ZPPtr2
ora ZPPtr2+1
beq .8 no change....
jsr MENU.DestroyAll
ldy #S.OBJ.X1
ldx #S.CB.X1
jsr CB.GetWndYCacheX
jsr MBAR.GetMBItems
jsr CB.GetBuf
bcs .9
.2 jsr MBAR.DrawMBItem
.4 lda (ZPPtr1)
beq .7
.3 jsr MBAR.NextMBItem
lda (ZPPtr1)
beq .6
jsr MBAR.SetX2
ldy #S.MBITEM.S
lda (ZPPtr1),y
bpl .3
bmi .5
eor #S.MBITEM.S.SELECTED
ldx ZPPtr1
cpx ZPPtr2
bne .6
ldx ZPPtr1+1
cpx ZPPtr2+1
bne .6
.5 eor #S.MBITEM.S.SELECTED
sta (ZPPtr1),y
jsr MBAR.SetX2
bra .2
jsr MBAR.DrawMBItem
bcs .9
.6 jsr MBAR.NextMBItem
bra .4
.6 >LDYA L.WND.Screen
.7 >LDYA L.WND.Screen
jmp CB.FlushBufToYA
.7 jsr MBAR.NextMBItem
bra .1
.8 clc
.9 rts
*--------------------------------------
@ -232,20 +254,25 @@ MBAR.Draw >SYSCALL2 GetMemPtr
jsr MBAR.NextMBItem
bra .1
.8 clc
.8 lda CB.Cache+S.CB.X2
sta CB.Cache+S.CB.X1
lda CB.Cache+S.CB.X2+1
sta CB.Cache+S.CB.X1+1
ldy #S.OBJ.X2
ldx #S.CB.X2
jsr CB.GetWndYCacheX
jsr MBAR.SetY1Y2
lda PREFS.MBarColor
jsr CB.FillRectMonoA
jmp CB.Cache2CBBuf
.9 rts
*--------------------------------------
MBAR.DrawMBItem lda #S.CB.CMD.FILLRECT
sta CB.Cache+S.CB.CMD
lda #S.CB.OP.SET
sta CB.Cache+S.CB.OP
lda #S.CB.M.MONO
sta CB.Cache+S.CB.M
ldy #S.MBITEM.S
MBAR.DrawMBItem ldy #S.MBITEM.S
lda (ZPPtr1),y
asl
@ -254,7 +281,7 @@ MBAR.DrawMBItem lda #S.CB.CMD.FILLRECT
eor #$ff
.1 sta CB.Cache+S.CB.COLOR
.1 jsr CB.FillRectMonoA
jsr MBAR.SetY1Y2

View File

@ -59,7 +59,7 @@ MOU.Quit lda hDevMouse
.8 clc
rts
*--------------------------------------
MOU.ReadMouse >PULLW ZPPtr1 pS.XY
MOU.ReadMouse.OLD >PULLW ZPPtr1 pS.XY
lda A2osX.ASCREEN GUI screen active ?
cmp DCB.GFX+S.DCB.GFX.DEVID

View File

@ -33,16 +33,6 @@ OBJ.New pha
.9 plx
rts
*--------------------------------------
OBJ.Init sta (ZPObjPtr)
lda #0
.1 sta (ZPObjPtr),y
dey
bne .1
rts
*--------------------------------------
* hOBJ, Prop8, Value16
*--------------------------------------
OBJ.SetProp ldy #3

View File

@ -357,7 +357,7 @@ WND.Show2 sta WND.Stack,x
ldy #S.WND.InnerY2
lda (ZPWNDPtr),y
sec
sbc SYSFON.Hp1
sbc SYSFON.H
sta (ZPWNDPtr),y
iny
lda (ZPWNDPtr),y
@ -681,55 +681,30 @@ WND.DrawStatusBar
sta CB.Cache+S.CB.COLOR
ldy #S.OBJ.X1
lda (ZPWNDPtr),y
sta CB.Cache+S.CB.X1
sta DX
iny
lda (ZPWNDPtr),y
sta CB.Cache+S.CB.X1+1
sta DX+1
ldx #S.CB.X1
jsr CB.GetWndYCacheX
ldy #S.WND.SBarY1
lda (ZPWNDPtr),y
sta CB.Cache+S.CB.Y1
clc
adc #1
sta DY
iny
lda (ZPWNDPtr),y
sta CB.Cache+S.CB.Y1+1
adc #0
sta DY+1
ldx #S.CB.Y1
jsr CB.GetWndYCacheX
ldy #S.OBJ.X2
lda (ZPWNDPtr),y
sta CB.Cache+S.CB.X2
iny
lda (ZPWNDPtr),y
sta CB.Cache+S.CB.X2+1
ldx #S.CB.X2
jsr CB.GetWndYCacheX
jsr CB.Cache2CBBuf
lda #S.CB.CMD.FILLRECT
sta CB.Cache+S.CB.CMD
* lda #S.CB.OP.SET
* sta CB.Cache+S.CB.OP
* lda #S.CB.M.MONO
* sta CB.Cache+S.CB.M
lda PREFS.SBARCOLOR
sta CB.Cache+S.CB.COLOR
lda PREFS.SBarColor
jsr CB.FillRectMonoA
inc CB.Cache+S.CB.Y1
bne .1
inc CB.Cache+S.CB.Y1+1
.1 ldy #S.OBJ.Y2
lda (ZPWNDPtr),y
sta CB.Cache+S.CB.Y2
iny
lda (ZPWNDPtr),y
sta CB.Cache+S.CB.Y2+1
.1 ldy #S.OBJ.Y2
ldx #S.CB.Y2
jsr CB.GetWndYCacheX
jsr CB.Cache2CBBuf
@ -742,7 +717,7 @@ WND.DrawStatusBar
ldx hSYSFON
clc
jmp DRAW.YATextAtDXDY
jmp DRAW.YAText
*--------------------------------------
WND.SetMBar >PULLW ZPPtr1

View File

@ -85,9 +85,9 @@ ZPWNDPtr .BS 2
ZPMENUPtr .BS 2
ZPBMPtr .BS 2
ZPCBBufPtr .BS 2
ZPPtr1 .BS 2
.BS 2
ZPPtr2 .BS 2
DX .BS 2
DY .BS 2
@ -102,7 +102,6 @@ CLIP.Line.P2 .BS 1
IY .BS 1
hCBBuf .BS 1
ZPCBBufPtr .BS 2
.ED
*--------------------------------------
@ -127,7 +126,7 @@ CS.START cld
.DA PTR.Hide
.DA PTR.Show
.DA PTR.Update
.DA MOU.ReadMouse
.DA $ffff MOU.ReadMouse
.DA DRAW.Line
.DA OBJ.SetProp
.DA OBJ.GetProp

View File

@ -112,11 +112,6 @@ WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.
>PUSHB hWND
>PUSHW L.WND.MBAR
* >LIBCALL hLIBGUI,LIBGUI.MBAR.New
* sta hMBAR
* >PUSHB hWND
* >PUSHB hMBAR
>LIBCALL hLIBGUI,LIBGUI.WND.SetMBar
>PUSHB hWND