mirror of
https://github.com/A2osX/A2osX.git
synced 2024-10-31 23:09:33 +00:00
LIBGUI:fixes
This commit is contained in:
parent
64a22a4d37
commit
97593445bd
Binary file not shown.
@ -7,8 +7,8 @@ MENU.New >PULLW DY
|
||||
>PULLW DX
|
||||
>PULLYA
|
||||
>STYA ZPPtr1 MENU definition
|
||||
>STYA ZPMENUPtr for pass #2
|
||||
|
||||
>STYA ZPObjPtr for pass #2
|
||||
|
||||
ldy MENU.Stack.Cnt
|
||||
cpy #MENU.MAX
|
||||
beq .90
|
||||
@ -17,37 +17,42 @@ MENU.New >PULLW DY
|
||||
>SYSCALL2 GetMem
|
||||
bcs .99
|
||||
|
||||
>STYA ZPObjPtr
|
||||
>STYA ZPMENUPtr
|
||||
txa hMenu
|
||||
|
||||
ldx MENU.Stack.Cnt
|
||||
sta MENU.Stack,x
|
||||
|
||||
lda #S.OBJ.T.MENU
|
||||
sta (ZPObjPtr) S.OBJ.T
|
||||
sta (ZPMENUPtr) S.OBJ.T
|
||||
|
||||
lda #0
|
||||
|
||||
ldy #S.MENU.Items-1
|
||||
|
||||
.1 sta (ZPObjPtr),y
|
||||
.1 sta (ZPMENUPtr),y
|
||||
dey
|
||||
bne .1
|
||||
|
||||
>LDYA ZPMENUPtr
|
||||
>STYA ZPPtr1
|
||||
|
||||
jsr MENU.GetData
|
||||
|
||||
ldx #3
|
||||
ldy #S.OBJ.X1+3
|
||||
|
||||
.2 lda DX,x
|
||||
sta (ZPObjPtr),y
|
||||
sta (ZPMENUPtr),y
|
||||
dey
|
||||
dex
|
||||
bpl .2
|
||||
|
||||
>LDYA ZPObjPtr
|
||||
>STYA ZPPtr1 MENU definition
|
||||
|
||||
jsr MENU.GetData
|
||||
|
||||
ldx MENU.Stack.Cnt
|
||||
lda MENU.Stack,x
|
||||
>SYSCALL2 GetMemPtr
|
||||
>STYA ZPMENUPtr
|
||||
|
||||
jsr MENU.SetMenuSizePos
|
||||
|
||||
ldx MENU.Stack.Cnt
|
||||
@ -106,25 +111,20 @@ MENU.GetSize lda #S.MENU.Items+1 Ending\0
|
||||
rts
|
||||
*--------------------------------------
|
||||
* ZPPtr1 = defintion
|
||||
* ZPObjPtr = DstBuf
|
||||
* ZPMENUPtr = DstBuf
|
||||
*--------------------------------------
|
||||
MENU.GetData lda #S.MENU.Items
|
||||
MENU.GetData lda ZPMENUPtr
|
||||
clc
|
||||
adc ZPObjPtr
|
||||
sta ZPObjPtr
|
||||
adc #S.MENU.Items
|
||||
sta ZPMENUPtr
|
||||
bcc .1
|
||||
|
||||
inc ZPMENUPtr+1
|
||||
|
||||
inc ZPObjPtr+1
|
||||
|
||||
.1 lda (ZPPtr1)
|
||||
sta (ZPObjPtr)
|
||||
sta (ZPMENUPtr)
|
||||
beq .8
|
||||
|
||||
ldy #S.MITEM.S
|
||||
lda #0
|
||||
sta (ZPObjPtr),y
|
||||
|
||||
lda (ZPPtr1)
|
||||
cmp #S.MITEM.T.SEP
|
||||
bne .2
|
||||
|
||||
@ -140,7 +140,7 @@ MENU.GetData lda #S.MENU.Items
|
||||
ldy #1 T+ID+KEMOD+KEY+pICON+"text"
|
||||
lda (ZPPtr1),y
|
||||
ldy #S.MITEM.ID
|
||||
sta (ZPObjPtr),y
|
||||
sta (ZPMENUPtr),y
|
||||
|
||||
ldy #2
|
||||
lda (ZPPtr1),y
|
||||
@ -149,10 +149,10 @@ MENU.GetData lda #S.MENU.Items
|
||||
lda (ZPPtr1),y
|
||||
|
||||
ldy #S.MITEM.KEYMOD+1
|
||||
sta (ZPObjPtr),y
|
||||
sta (ZPMENUPtr),y
|
||||
dey KEY
|
||||
txa
|
||||
sta (ZPObjPtr),y
|
||||
sta (ZPMENUPtr),y
|
||||
|
||||
lda #4
|
||||
bra .4 skip 4 bytes
|
||||
@ -164,10 +164,10 @@ MENU.GetData lda #S.MENU.Items
|
||||
lda (ZPPtr1),y
|
||||
|
||||
ldy #S.MITEM.pMENU+1
|
||||
sta (ZPObjPtr),y
|
||||
sta (ZPMENUPtr),y
|
||||
dey
|
||||
txa
|
||||
sta (ZPObjPtr),y
|
||||
sta (ZPMENUPtr),y
|
||||
lda #3 skip 3 bytes
|
||||
|
||||
.4 jsr SkipAPtr1
|
||||
@ -175,30 +175,34 @@ MENU.GetData lda #S.MENU.Items
|
||||
ldy #1
|
||||
lda (ZPPtr1),y
|
||||
ldy #S.MITEM.pICON+1
|
||||
sta (ZPObjPtr),y
|
||||
sta (ZPMENUPtr),y
|
||||
dey
|
||||
lda (ZPPtr1)
|
||||
sta (ZPObjPtr),y
|
||||
sta (ZPMENUPtr),y
|
||||
|
||||
lda #2 skip pICON
|
||||
jsr SkipAPtr1
|
||||
|
||||
.5 ldy #S.MITEM.pTEXT
|
||||
lda ZPPtr1
|
||||
sta (ZPObjPtr),y
|
||||
sta (ZPMENUPtr),y
|
||||
iny
|
||||
lda ZPPtr1+1
|
||||
sta (ZPObjPtr),y
|
||||
sta (ZPMENUPtr),y
|
||||
|
||||
jsr SkipStrZPtr1 skip "TEXT\0"
|
||||
|
||||
.7 lda ZPObjPtr
|
||||
ldy #S.MITEM.S
|
||||
lda #0
|
||||
sta (ZPMENUPtr),y
|
||||
|
||||
lda ZPMENUPtr
|
||||
clc
|
||||
adc #S.MITEM
|
||||
sta ZPObjPtr
|
||||
sta ZPMENUPtr
|
||||
bcc .1
|
||||
|
||||
inc ZPObjPtr+1
|
||||
inc ZPMENUPtr+1
|
||||
bra .1
|
||||
|
||||
.8 clc
|
||||
@ -211,6 +215,7 @@ MENU.SetMenuSizePos
|
||||
stz IE+1
|
||||
|
||||
stz INE Max Mod-Key W
|
||||
stz INE+1
|
||||
|
||||
lda #2 2px Borders
|
||||
sta DY Menu H
|
||||
@ -221,8 +226,12 @@ MENU.SetMenuSizePos
|
||||
.1 lda (ZPPtr1)
|
||||
beq .3
|
||||
|
||||
cmp #S.MITEM.T.SEP
|
||||
beq .2
|
||||
|
||||
jsr MENU.GetMItemW
|
||||
jsr MENU.NextMItemDY
|
||||
|
||||
.2 jsr MENU.NextMItemDY
|
||||
bra .1
|
||||
|
||||
.3 lda #2+MENU.LMargin+MENU.RMargin 2px Borders+5 LMARGIN (Checked) +5 RMARGIN (SubMenu)
|
||||
@ -267,7 +276,7 @@ MENU.SetMenuSizePos
|
||||
lda IY
|
||||
sta (ZPMENUPtr),y
|
||||
|
||||
iny #S.MENU.tW
|
||||
ldy #S.MENU.tW
|
||||
lda IE
|
||||
sta (ZPMENUPtr),y
|
||||
iny
|
||||
@ -313,11 +322,7 @@ MENU.SetMenuSizePos
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENU.GetMItemW lda (ZPPtr1)
|
||||
cmp #S.MITEM.T.SEP
|
||||
beq .8
|
||||
|
||||
ldy #S.MITEM.pICON
|
||||
MENU.GetMItemW ldy #S.MITEM.pICON
|
||||
lda (ZPPtr1),y
|
||||
iny
|
||||
ora (ZPPtr1),y
|
||||
@ -346,11 +351,15 @@ MENU.GetMItemW lda (ZPPtr1)
|
||||
ldx hSYSFON
|
||||
jsr FON.GetTextSize
|
||||
|
||||
lda CB.Cache+S.CB.SrcW
|
||||
ldx CB.Cache+S.CB.SrcW
|
||||
cmp INE
|
||||
lda CB.Cache+S.CB.SrcW+1
|
||||
sbc INE+1
|
||||
bcc .8
|
||||
|
||||
sta INE set Max Mod-key W
|
||||
stx INE set Max Mod-key W
|
||||
lda CB.Cache+S.CB.SrcW+1
|
||||
sta INE+1
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
@ -467,8 +476,8 @@ MENU.Enter jsr MENU.GetDXWIE X1,W,X2
|
||||
>LDYA L.WND.Screen
|
||||
jsr DrawCBBufToYA
|
||||
|
||||
* jsr MENU.NewSubMenu
|
||||
* bcs .9
|
||||
jsr MENU.NewSubMenu
|
||||
bcs .9
|
||||
|
||||
bra .1
|
||||
|
||||
@ -527,7 +536,7 @@ MENU.NewSubMenu lda DX
|
||||
*--------------------------------------
|
||||
MENU.Draw >SYSCALL2 GetMemPtr
|
||||
>STYA ZPMENUPtr
|
||||
|
||||
|
||||
jsr MENU.Save
|
||||
bcs .9
|
||||
|
||||
@ -541,15 +550,17 @@ MENU.Draw >SYSCALL2 GetMemPtr
|
||||
|
||||
jsr MENU.GetMItems
|
||||
|
||||
.6 lda (ZPPtr1)
|
||||
.1 lda (ZPPtr1)
|
||||
beq .8
|
||||
|
||||
jsr MENU.DrawMItem
|
||||
jsr MENU.NextMItemDY
|
||||
bra .6
|
||||
bra .1
|
||||
|
||||
.8 >LDYA L.WND.Screen
|
||||
jmp DrawCBBufToYA
|
||||
jsr DrawCBBufToYA
|
||||
|
||||
>DEBUG
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
@ -619,7 +630,9 @@ MENU.DrawBorders
|
||||
|
||||
jmp CB.Cache2CBBuf
|
||||
*--------------------------------------
|
||||
MENU.DrawMItem lda (ZPPtr1)
|
||||
MENU.DrawMItem jsr MENU.GetDX
|
||||
|
||||
lda (ZPPtr1)
|
||||
cmp #S.MITEM.T.SEP
|
||||
bne MENU.DrawMItem1
|
||||
|
||||
@ -761,12 +774,13 @@ MENU.DrawMItem1 lda #S.CB.CMD.FILLRECT
|
||||
ldx #BM.ID.RIGHT
|
||||
jsr DRAW.xBMAtDXDY
|
||||
|
||||
.8 lda DY
|
||||
bne .80
|
||||
.8
|
||||
* lda DY
|
||||
* bne .80
|
||||
|
||||
dec DY+1
|
||||
* dec DY+1
|
||||
|
||||
.80 dec DY
|
||||
*.80 dec DY
|
||||
|
||||
clc
|
||||
rts
|
||||
@ -994,17 +1008,7 @@ MENU.Destroy clc
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENU.GetDXWIE ldy #S.OBJ.X1
|
||||
lda (ZPMENUPtr),y
|
||||
clc
|
||||
adc #1
|
||||
sta DX
|
||||
iny
|
||||
lda (ZPMENUPtr),y
|
||||
adc #0
|
||||
sta DX+1
|
||||
|
||||
ldy #S.OBJ.W
|
||||
MENU.GetDXWIE ldy #S.OBJ.W
|
||||
lda (ZPMENUPtr),y
|
||||
sec
|
||||
sbc #3 2Px border + correction from W
|
||||
@ -1023,6 +1027,16 @@ MENU.GetDXWIE ldy #S.OBJ.X1
|
||||
adc DX+1
|
||||
sta IE+1
|
||||
|
||||
MENU.GetDX ldy #S.OBJ.X1
|
||||
lda (ZPMENUPtr),y
|
||||
clc
|
||||
adc #1
|
||||
sta DX
|
||||
iny
|
||||
lda (ZPMENUPtr),y
|
||||
adc #0
|
||||
sta DX+1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENU.GetDY ldy #S.OBJ.Y1
|
||||
|
Loading…
Reference in New Issue
Block a user