mirror of
https://github.com/A2osX/A2osX.git
synced 2025-01-12 17:30:23 +00:00
LIBGUI:more bugfix
This commit is contained in:
parent
97593445bd
commit
5fa429c326
Binary file not shown.
@ -298,18 +298,13 @@ DrawBitMap lda #S.CB.CMD.BITBLT
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
DRAW.xBM >LDYA L.BMs,x
|
||||
DRAW.yaBM >STYA ZPBMPtr
|
||||
bra DRAW.BM
|
||||
|
||||
DRAW.xBMAtDXDY >LDYA L.BMs,x
|
||||
DRAW.yaBMAtDXDY >STYA ZPBMPtr Src BM
|
||||
|
||||
lda #S.CB.CMD.BITBLT
|
||||
jsr CB.InitCacheA
|
||||
|
||||
lda #S.CB.OP.MASK+S.CB.OP.ORA+S.CB.OP.COLOR
|
||||
sta CB.Cache+S.CB.OP
|
||||
|
||||
lda #S.CB.M.C16
|
||||
sta CB.Cache+S.CB.M
|
||||
|
||||
ldx #3
|
||||
|
||||
.1 lda DX,x
|
||||
@ -317,6 +312,15 @@ DRAW.yaBMAtDXDY >STYA ZPBMPtr Src BM
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
DRAW.BM lda #S.CB.CMD.BITBLT
|
||||
sta CB.Cache+S.CB.CMD
|
||||
|
||||
lda #S.CB.OP.MASK+S.CB.OP.ORA+S.CB.OP.COLOR
|
||||
sta CB.Cache+S.CB.OP
|
||||
|
||||
lda #S.CB.M.C16
|
||||
sta CB.Cache+S.CB.M
|
||||
|
||||
ldx #3
|
||||
|
||||
ldy #S.BM.W+3
|
||||
@ -356,6 +360,10 @@ DrawText lda #S.CB.CMD.DRAWTEXT2
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
DRAW.YAText >STYA CB.Cache+S.CB.TxtPtr
|
||||
stx CB.Cache+S.CB.hFont
|
||||
bra DRAW.Text
|
||||
*--------------------------------------
|
||||
DRAW.YATextAtDXDY
|
||||
phx
|
||||
jsr CB.ClearCache
|
||||
@ -363,11 +371,18 @@ DRAW.YATextAtDXDY
|
||||
plx
|
||||
stx CB.Cache+S.CB.hFont
|
||||
|
||||
lda #S.CB.CMD.DRAWTEXT2
|
||||
ldx #3
|
||||
|
||||
.1 lda DX,x DX,DY -> S.CB.X1,S.CB.Y1
|
||||
sta CB.Cache+S.CB.X1,x
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
DRAW.Text lda #S.CB.CMD.DRAWTEXT2
|
||||
sta CB.Cache+S.CB.CMD
|
||||
|
||||
lda #0
|
||||
ror
|
||||
ror CS = inverse
|
||||
eor #S.CB.OP.INVERSE
|
||||
ora #S.CB.OP.SET
|
||||
|
||||
@ -377,13 +392,6 @@ DRAW.YATextAtDXDY
|
||||
lda #S.CB.M.MONO
|
||||
sta CB.Cache+S.CB.M
|
||||
|
||||
ldx #3
|
||||
|
||||
.1 lda DX,x DX,DY -> S.CB.X1,S.CB.Y1
|
||||
sta CB.Cache+S.CB.X1,x
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
jmp CB.Cache2CBBuf
|
||||
*--------------------------------------
|
||||
DRAW.PullY2X2Y1X1
|
||||
@ -485,7 +493,8 @@ DRAW.AddP1YtoCBX
|
||||
sta CB.Cache+1,x
|
||||
rts
|
||||
*--------------------------------------
|
||||
DrawCBBufToYA ldx hCBBuf
|
||||
DRAW.FlushBufToYA
|
||||
ldx hCBBuf
|
||||
beq .80
|
||||
|
||||
pha
|
||||
|
@ -418,8 +418,7 @@ MENU.FindMItemByID
|
||||
.9 sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENU.Enter jsr MENU.GetDXWIE X1,W,X2
|
||||
jsr MENU.GetDY Y1
|
||||
MENU.Enter jsr MENU.GETX1X2WDY
|
||||
|
||||
jsr MENU.GetMItems
|
||||
|
||||
@ -430,6 +429,8 @@ MENU.Enter jsr MENU.GetDXWIE X1,W,X2
|
||||
cmp #S.MITEM.T.SEP
|
||||
beq .2
|
||||
|
||||
jsr MENU.ResetDX
|
||||
|
||||
lda DY Y1
|
||||
sec
|
||||
adc SYSFON.H
|
||||
@ -474,7 +475,7 @@ MENU.Enter jsr MENU.GetDXWIE X1,W,X2
|
||||
bne .1
|
||||
|
||||
>LDYA L.WND.Screen
|
||||
jsr DrawCBBufToYA
|
||||
jsr DRAW.FlushBufToYA
|
||||
|
||||
jsr MENU.NewSubMenu
|
||||
bcs .9
|
||||
@ -482,7 +483,7 @@ MENU.Enter jsr MENU.GetDXWIE X1,W,X2
|
||||
bra .1
|
||||
|
||||
.4 >LDYA L.WND.Screen
|
||||
jmp DrawCBBufToYA
|
||||
jmp DRAW.FlushBufToYA
|
||||
|
||||
lda MSG+S.MSG.S
|
||||
bit #S.MSG.S.CLK
|
||||
@ -545,20 +546,20 @@ MENU.Draw >SYSCALL2 GetMemPtr
|
||||
|
||||
jsr MENU.DrawBorders
|
||||
|
||||
jsr MENU.GetDXWIE
|
||||
jsr MENU.GetDY
|
||||
jsr MENU.GETX1X2WDY
|
||||
|
||||
jsr MENU.GetMItems
|
||||
|
||||
.1 lda (ZPPtr1)
|
||||
beq .8
|
||||
|
||||
jsr MENU.ResetDX
|
||||
jsr MENU.DrawMItem
|
||||
jsr MENU.NextMItemDY
|
||||
bra .1
|
||||
|
||||
.8 >LDYA L.WND.Screen
|
||||
jsr DrawCBBufToYA
|
||||
jsr DRAW.FlushBufToYA
|
||||
|
||||
>DEBUG
|
||||
|
||||
@ -630,41 +631,24 @@ MENU.DrawBorders
|
||||
|
||||
jmp CB.Cache2CBBuf
|
||||
*--------------------------------------
|
||||
MENU.DrawMItem jsr MENU.GetDX
|
||||
|
||||
lda (ZPPtr1)
|
||||
MENU.DrawMItem lda (ZPPtr1)
|
||||
cmp #S.MITEM.T.SEP
|
||||
bne MENU.DrawMItem1
|
||||
|
||||
lda #S.CB.CMD.HLINE
|
||||
jsr CB.InitCacheA
|
||||
|
||||
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.BORDERCOLOR
|
||||
sta CB.Cache+S.CB.COLOR
|
||||
|
||||
ldx #3
|
||||
|
||||
.1 lda DX,x
|
||||
sta CB.Cache+S.CB.X1,x
|
||||
dex
|
||||
bpl .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
|
||||
jmp CB.Cache2CBBuf
|
||||
*--------------------------------------
|
||||
MENU.DrawMItem1 lda #S.CB.CMD.FILLRECT
|
||||
jsr CB.InitCacheA
|
||||
|
||||
sta CB.Cache+S.CB.CMD
|
||||
lda #S.CB.OP.SET
|
||||
sta CB.Cache+S.CB.OP
|
||||
lda #S.CB.M.MONO
|
||||
@ -680,109 +664,91 @@ MENU.DrawMItem1 lda #S.CB.CMD.FILLRECT
|
||||
|
||||
.15 stx CB.Cache+S.CB.COLOR
|
||||
|
||||
ldx #3
|
||||
|
||||
.10 lda DX,x
|
||||
sta CB.Cache+S.CB.X1,x
|
||||
dex
|
||||
bpl .10
|
||||
|
||||
lda DX
|
||||
clc
|
||||
adc Counter
|
||||
sta CB.Cache+S.CB.X2
|
||||
lda DX+1
|
||||
adc Counter+1
|
||||
sta CB.Cache+S.CB.X2+1
|
||||
|
||||
lda DY
|
||||
sta CB.Cache+S.CB.Y1
|
||||
sec
|
||||
adc SYSFON.H
|
||||
sta CB.Cache+S.CB.Y2
|
||||
lda DY+1
|
||||
sta CB.Cache+S.CB.Y1+1
|
||||
adc #0
|
||||
sta CB.Cache+S.CB.Y2+1
|
||||
jsr CB.Cache2CBBuf
|
||||
|
||||
inc DY
|
||||
*--------------------------------------
|
||||
inc CB.Cache+S.CB.Y1 Y1:1px margin
|
||||
bne .12
|
||||
|
||||
inc DY+1
|
||||
|
||||
.12 lda DX
|
||||
inc CB.Cache+S.CB.Y1+1
|
||||
|
||||
.12 lda CB.Cache+S.CB.X1
|
||||
clc
|
||||
|
||||
adc #MENU.LMargin TODO : Checked
|
||||
sta DX
|
||||
sta CB.Cache+S.CB.X1
|
||||
bcc .11
|
||||
sta DX+1
|
||||
|
||||
inc CB.Cache+S.CB.X1+1
|
||||
|
||||
.11 jsr MENU.GetIcon
|
||||
beq .2
|
||||
|
||||
jsr DRAW.yaBMAtDXDY
|
||||
jsr DRAW.yaBM
|
||||
|
||||
.2 lda DX
|
||||
.2 lda CB.Cache+S.CB.X1
|
||||
clc
|
||||
ldy #S.MENU.iW
|
||||
adc (ZPMENUPtr),y
|
||||
sta DX
|
||||
sta CB.Cache+S.CB.X1
|
||||
|
||||
bcc .21
|
||||
|
||||
inc DX+1
|
||||
inc CB.Cache+S.CB.X1+1
|
||||
|
||||
.21 jsr MENU.GetText
|
||||
|
||||
jsr MENU.IsSelected
|
||||
ldx hSYSFON
|
||||
jsr DRAW.YATextAtDXDY
|
||||
jsr DRAW.YAText
|
||||
|
||||
lda DX
|
||||
lda CB.Cache+S.CB.X1
|
||||
sec
|
||||
ldy #S.MENU.tW
|
||||
adc (ZPMENUPtr),y
|
||||
sta DX
|
||||
lda DX+1
|
||||
sta CB.Cache+S.CB.X1
|
||||
lda CB.Cache+S.CB.X1+1
|
||||
iny
|
||||
adc (ZPMENUPtr),y
|
||||
sta DX+1
|
||||
sta CB.Cache+S.CB.X1+1
|
||||
|
||||
lda (ZPPtr1)
|
||||
cmp #S.MITEM.T.ITEM
|
||||
bne .3
|
||||
|
||||
jsr MENU.GetKeyString
|
||||
bcs .3
|
||||
|
||||
jsr MENU.IsSelected
|
||||
ldx hSYSFON
|
||||
jsr DRAW.YATextAtDXDY
|
||||
jsr DRAW.YAText
|
||||
|
||||
.3 lda (ZPPtr1)
|
||||
cmp #S.MITEM.T.SUBMENU
|
||||
bne .8
|
||||
|
||||
lda DX
|
||||
lda CB.Cache+S.CB.X1
|
||||
sec
|
||||
ldy #S.MENU.kW
|
||||
adc (ZPMENUPtr),y
|
||||
sta DX
|
||||
sta CB.Cache+S.CB.X1
|
||||
|
||||
lda DX+1
|
||||
lda CB.Cache+S.CB.X1+1
|
||||
iny
|
||||
adc (ZPMENUPtr),y
|
||||
sta DX+1
|
||||
sta CB.Cache+S.CB.X1+1
|
||||
|
||||
ldx #BM.ID.RIGHT
|
||||
jsr DRAW.xBMAtDXDY
|
||||
jmp DRAW.xBM
|
||||
|
||||
.8
|
||||
* lda DY
|
||||
* bne .80
|
||||
|
||||
* dec DY+1
|
||||
|
||||
*.80 dec DY
|
||||
|
||||
clc
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENU.GetIcon ldy #S.MITEM.pICON+1
|
||||
@ -944,9 +910,7 @@ MENU.Destroy clc
|
||||
|
||||
jsr PTR.Hide.I
|
||||
|
||||
.1 jsr CB.ClearCache
|
||||
|
||||
lda #S.CB.CMD.BITBLT
|
||||
.1 lda #S.CB.CMD.BITBLT
|
||||
jsr CB.InitCacheA
|
||||
|
||||
lda #S.CB.OP.RESTORE
|
||||
@ -1008,26 +972,7 @@ MENU.Destroy clc
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENU.GetDXWIE ldy #S.OBJ.W
|
||||
lda (ZPMENUPtr),y
|
||||
sec
|
||||
sbc #3 2Px border + correction from W
|
||||
sta Counter
|
||||
iny
|
||||
lda (ZPMENUPtr),y
|
||||
sbc #0
|
||||
sta Counter+1
|
||||
|
||||
lda Counter W
|
||||
clc
|
||||
adc DX
|
||||
sta IE IE = X2
|
||||
|
||||
lda Counter+1
|
||||
adc DX+1
|
||||
sta IE+1
|
||||
|
||||
MENU.GetDX ldy #S.OBJ.X1
|
||||
MENU.GETX1X2WDY ldy #S.OBJ.X1
|
||||
lda (ZPMENUPtr),y
|
||||
clc
|
||||
adc #1
|
||||
@ -1037,9 +982,25 @@ MENU.GetDX ldy #S.OBJ.X1
|
||||
adc #0
|
||||
sta DX+1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENU.GetDY ldy #S.OBJ.Y1
|
||||
ldy #S.OBJ.W
|
||||
lda (ZPMENUPtr),y
|
||||
sec
|
||||
sbc #3 2Px border + correction from W
|
||||
sta Counter W
|
||||
iny
|
||||
lda (ZPMENUPtr),y
|
||||
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
|
||||
adc #1
|
||||
@ -1051,6 +1012,13 @@ MENU.GetDY ldy #S.OBJ.Y1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENU.ResetDX lda DX
|
||||
sta CB.Cache+S.CB.X1
|
||||
lda DX+1
|
||||
sta CB.Cache+S.CB.X1+1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENU.FindSelected
|
||||
>LDYA ZPPtr1
|
||||
>STYA D
|
||||
|
@ -10,7 +10,7 @@ SYSBUT.Enter sec
|
||||
jsr SYSBAR.ShowSysBut
|
||||
|
||||
>LDYA L.WND.SysBar
|
||||
jsr DrawCBBufToYA
|
||||
jsr DRAW.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 DrawCBBufToYA
|
||||
jmp DRAW.FlushBufToYA
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
@ -52,7 +52,7 @@ SYSBAR.Show jsr CB.GetBuf
|
||||
|
||||
>LDYA L.WND.SysBar
|
||||
|
||||
jmp DrawCBBufToYA
|
||||
jmp DRAW.FlushBufToYA
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
@ -394,7 +394,7 @@ WND.Show2 jsr CB.GetBuf
|
||||
|
||||
>LDYA L.WND.Desktop
|
||||
|
||||
jsr DrawCBBufToYA
|
||||
jsr DRAW.FlushBufToYA
|
||||
|
||||
lda WND.hWND
|
||||
pha
|
||||
@ -505,7 +505,7 @@ WND.fPaint >SYSCALL2 GetMemPtr
|
||||
jsr CB.Cache2CBBuf
|
||||
|
||||
.8 >LDYA L.WND.Desktop
|
||||
jmp DrawCBBufToYA
|
||||
jmp DRAW.FlushBufToYA
|
||||
*--------------------------------------
|
||||
WND.ShowBorders sta IY
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user