mirror of
https://github.com/A2osX/A2osX.git
synced 2024-10-05 03:57:31 +00:00
Kernel 0.94
This commit is contained in:
parent
7648c5956d
commit
c997d7101c
Binary file not shown.
@ -146,30 +146,27 @@ S.MBAR.X2 .EQ 6
|
||||
S.MBAR.MENU .EQ 8
|
||||
S.MBAR.TEXT .EQ 10
|
||||
*--------------------------------------
|
||||
S.MENU.hSAVEBUF .EQ S.OBJ
|
||||
S.MENU.ITEMLIST .EQ S.OBJ+2
|
||||
* ... S.MITEMs...
|
||||
*--------------------------------------
|
||||
*S.MITEM.F. .EQ %00000001
|
||||
*S.MITEM.F. .EQ %00000010
|
||||
*S.MITEM.F. .EQ %00000100
|
||||
*S.MITEM.F. .EQ %00001000
|
||||
*S.MITEM.F. .EQ %00010000
|
||||
S.MITEM.F.SEP .EQ %00100000
|
||||
S.MENU.DEFS .EQ S.OBJ
|
||||
S.MENU.hSAVEBUF .EQ S.OBJ+2
|
||||
*
|
||||
S.MITEM.S
|
||||
S.MENU .EQ S.OBJ+4
|
||||
*--------------------------------------
|
||||
S.MITEM.F .EQ 0
|
||||
S.MITEM.F.SEP .EQ 1
|
||||
S.MITEM.F.ITEM .EQ 2
|
||||
S.MITEM.F.SUBMENU .EQ 3
|
||||
S.MITEM.S .EQ 1
|
||||
S.MITEM.S.CHECKED .EQ %01000000
|
||||
S.MITEM.S.DISABLED .EQ %10000000
|
||||
*
|
||||
S.MITEM.hSUBM .EQ S.OBJ
|
||||
S.MITEM.hBM .EQ S.OBJ+2
|
||||
S.MITEM.HOTKEY .EQ S.OBJ+4
|
||||
S.MITEM.KEYMOD .EQ S.OBJ+5
|
||||
S.MITEM.pICON .EQ 2
|
||||
S.MITEM.pMENU .EQ 4
|
||||
S.MITEM.KEYMOD .EQ 4
|
||||
S.MITEM.KEYMOD.CTRL .EQ %10000000
|
||||
S.MITEM.KEYMOD.OA .EQ %01000000
|
||||
S.MITEM.KEYMOD.CA .EQ %00100000
|
||||
S.MITEM.TEXTLEN .EQ S.OBJ+6
|
||||
S.MITEM.TEXT .EQ S.OBJ+8 CSTR
|
||||
S.MITEM.KEY .EQ 6
|
||||
|
||||
S.MITEM.TEXT .EQ 8 CSTR
|
||||
* ...
|
||||
*--------------------------------------
|
||||
S.BUT.F.DISABLED .EQ %10000000
|
||||
|
@ -1,7 +1,16 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
SYSBAR.Enter sec
|
||||
SYSBAR.Enter ldy #S.MOUSE.X1
|
||||
lda (ZPPtr1),y
|
||||
cmp WND.SysBar.A2osX.X2
|
||||
iny
|
||||
|
||||
lda (ZPPtr1),y
|
||||
sbc WND.SysBar.A2osX.X2+1
|
||||
bcs .8
|
||||
|
||||
sec
|
||||
ror WND.SYSBAR.bA2osX
|
||||
|
||||
jsr GetCBBuf
|
||||
@ -9,10 +18,22 @@ SYSBAR.Enter sec
|
||||
|
||||
jsr SYSBAR.Show.A2osX
|
||||
|
||||
>LDYA L.WND.SysBar
|
||||
stz DX
|
||||
stz DX+1
|
||||
|
||||
lda WND.SysBar+S.OBJ.Y1
|
||||
sta DY
|
||||
lda WND.SysBar+S.OBJ.Y1+1
|
||||
sta DY+1
|
||||
|
||||
* >LDYA L.MENU.Sys
|
||||
* jsr DRAW.YAMenuAtDXDY
|
||||
* bcs .9
|
||||
|
||||
>LDYA L.WND.SysBar
|
||||
jmp DrawCBPtrToYA1
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
SYSBAR.Leave bit WND.SYSBAR.bA2osX
|
||||
@ -82,6 +103,45 @@ SYSBAR.Show.A2osX
|
||||
lda WND.SysBar+S.OBJ.Y2+1
|
||||
jsr PutA2CBBuf
|
||||
|
||||
lda WND.SysBar+S.OBJ.X1
|
||||
clc
|
||||
adc #4
|
||||
sta DX
|
||||
lda WND.SysBar+S.OBJ.X1+1
|
||||
adc #0
|
||||
sta DX+1
|
||||
|
||||
lda WND.SysBar+S.OBJ.Y1
|
||||
clc
|
||||
adc #1
|
||||
sta DY
|
||||
lda WND.SysBar+S.OBJ.Y1+1
|
||||
adc #0
|
||||
sta DY+1
|
||||
|
||||
>LDYA L.BM.Apple
|
||||
jsr DRAW.YABMAtDXDY
|
||||
|
||||
lda WND.SysBar+S.OBJ.X1
|
||||
clc
|
||||
adc #21
|
||||
sta DX
|
||||
lda WND.SysBar+S.OBJ.X1+1
|
||||
adc #0
|
||||
sta DX+1
|
||||
|
||||
inc DY
|
||||
bne .2
|
||||
|
||||
inc DY+1
|
||||
|
||||
.2 lda WND.SysBar.bA2osX
|
||||
asl
|
||||
|
||||
>LDYA L.WND.SysBar.2osX
|
||||
ldx hSYSFON
|
||||
jsr DRAW.YATextAtDXDY
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
SYSBAR.Show.W lda #S.CB.CMD.FILLRECT
|
||||
@ -116,6 +176,147 @@ SYSBAR.Show.W lda #S.CB.CMD.FILLRECT
|
||||
lda WND.SysBar+S.OBJ.Y2+1
|
||||
jmp PutA2CBBuf
|
||||
*--------------------------------------
|
||||
DRAW.YABMAtDXDY >STYA ZPPtr1 Src BM
|
||||
|
||||
lda #S.CB.CMD.BITBLT
|
||||
jsr PutA2CBBuf
|
||||
lda #S.CB.OP.MASK+S.CB.OP.ORA+S.CB.OP.COLOR
|
||||
jsr PutA2CBBuf
|
||||
lda #S.CB.M.C16
|
||||
jsr PutA2CBBuf
|
||||
|
||||
lda #0
|
||||
jsr PutA2CBBuf
|
||||
|
||||
ldx #4
|
||||
|
||||
ldy #0
|
||||
|
||||
.1 lda DX,y S.CB.X1,S.CB.Y1
|
||||
jsr PutA2CBBuf
|
||||
iny
|
||||
dex
|
||||
bne .1
|
||||
|
||||
lda #0 S.CB.X2
|
||||
jsr PutA2CBBuf
|
||||
jsr PutA2CBBuf
|
||||
|
||||
jsr PutA2CBBuf S.CB.Y2
|
||||
jsr PutA2CBBuf
|
||||
|
||||
jsr PutA2CBBuf S.CB.SrcX
|
||||
jsr PutA2CBBuf
|
||||
|
||||
jsr PutA2CBBuf S.CB.SrcY
|
||||
jsr PutA2CBBuf
|
||||
|
||||
ldx #4
|
||||
|
||||
ldy #S.BM.W
|
||||
|
||||
.2 lda (ZPPtr1),y S.CB.SrcW,S.CB.SrcH
|
||||
jsr PutA2CBBuf
|
||||
iny
|
||||
dex
|
||||
bne .2
|
||||
|
||||
lda ZPPtr1 S.CB.SrcPtr
|
||||
jsr PutA2CBBuf
|
||||
|
||||
lda ZPPtr1+1
|
||||
jsr PutA2CBBuf
|
||||
|
||||
lda #0 S.CB.DstPtr
|
||||
jsr PutA2CBBuf
|
||||
jsr PutA2CBBuf
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRAW.YATextAtDXDY
|
||||
>STYA ZPPtr1 Src Text
|
||||
|
||||
lda #S.CB.CMD.DRAWTEXT2
|
||||
jsr PutA2CBBuf
|
||||
|
||||
lda #0
|
||||
ror
|
||||
eor #$80
|
||||
ora #S.CB.OP.SET
|
||||
|
||||
* lda #S.CB.OP.XOR
|
||||
jsr PutA2CBBuf
|
||||
|
||||
lda #S.CB.M.MONO
|
||||
jsr PutA2CBBuf
|
||||
|
||||
txa
|
||||
jsr PutA2CBBuf S.CB.hFont
|
||||
|
||||
ldy #0
|
||||
ldx #4
|
||||
|
||||
.1 lda DX,y S.CB.X1,S.CB.Y1
|
||||
jsr PutA2CBBuf
|
||||
iny
|
||||
dex
|
||||
bne .1
|
||||
|
||||
lda #0
|
||||
jsr PutA2CBBuf S.CB.X2
|
||||
jsr PutA2CBBuf
|
||||
|
||||
jsr PutA2CBBuf S.CB.Y2
|
||||
jsr PutA2CBBuf
|
||||
|
||||
jsr PutA2CBBuf S.CB.SrcX
|
||||
jsr PutA2CBBuf
|
||||
|
||||
jsr PutA2CBBuf S.CB.SrcY
|
||||
jsr PutA2CBBuf
|
||||
|
||||
jsr PutA2CBBuf S.CB.SrcW
|
||||
jsr PutA2CBBuf
|
||||
|
||||
jsr PutA2CBBuf S.CB.SrcH
|
||||
jsr PutA2CBBuf
|
||||
|
||||
lda ZPPtr1 S.CB.SrcPtr
|
||||
jsr PutA2CBBuf
|
||||
|
||||
lda ZPPtr1+1
|
||||
jsr PutA2CBBuf
|
||||
|
||||
lda #0 S.CB.DstPtr
|
||||
jsr PutA2CBBuf
|
||||
jsr PutA2CBBuf
|
||||
|
||||
lda ZPPtr1
|
||||
jsr PutA2CBBuf S.CB.TxtPtr
|
||||
lda ZPPtr1+1
|
||||
jsr PutA2CBBuf
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRAW.YAMenuAtDXDY
|
||||
>STYA ZPPtr1 Src Menu
|
||||
|
||||
stz IE popup W
|
||||
stz IE+1
|
||||
stz D popup H
|
||||
stz D+1
|
||||
|
||||
.1 stz INE item W
|
||||
stz INE+1
|
||||
|
||||
lda (ZPPtr1)
|
||||
beq .8
|
||||
|
||||
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libgui.s.sysbar
|
||||
LOAD usr/src/lib/libgui.s
|
||||
|
@ -20,7 +20,9 @@ WND.Init >PUSHBI 0
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
WND.Setup >LDYA DCB.GFX+S.DCB.GFX.W
|
||||
WND.Setup stz WND.Stack.Top
|
||||
|
||||
>LDYA DCB.GFX+S.DCB.GFX.W
|
||||
>STYA WND.Screen+S.OBJ.W
|
||||
>STYA WND.Desktop+S.OBJ.W
|
||||
>STYA WND.SysBar+S.OBJ.W
|
||||
@ -47,7 +49,13 @@ WND.Setup >LDYA DCB.GFX+S.DCB.GFX.W
|
||||
>LDYA L.WND.SysBar
|
||||
jsr OBJ.SetX2Y2
|
||||
|
||||
lda #24
|
||||
>LDYA L.WND.SysBar.2osX
|
||||
ldx hSYSFON
|
||||
jsr FON.GetTextSize
|
||||
|
||||
lda CB.Cache+S.CB.SrcW
|
||||
clc
|
||||
adc #24 4 + BM width + 4
|
||||
sta WND.SysBar.W.X1
|
||||
|
||||
>LDYA L.WND.Screen+S.OBJ.X2
|
||||
@ -57,8 +65,6 @@ WND.Setup >LDYA DCB.GFX+S.DCB.GFX.W
|
||||
sta WND.Desktop+S.WND.hCUR
|
||||
sta WND.SysBar+S.WND.hCUR
|
||||
|
||||
stz WND.Stack.Top
|
||||
|
||||
jsr SYSBAR.Show
|
||||
|
||||
rts
|
||||
@ -624,13 +630,13 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT
|
||||
|
||||
pla
|
||||
|
||||
.3 bit #S.WND.F.MIN
|
||||
.3 bit #S.WND.F.MAX
|
||||
beq .4
|
||||
|
||||
pha
|
||||
|
||||
lda L.BM.Min
|
||||
ldx L.BM.Min+1
|
||||
lda L.BM.Max
|
||||
ldx L.BM.Max+1
|
||||
sta ZPObjPtr
|
||||
stx ZPObjPtr+1
|
||||
|
||||
@ -650,11 +656,11 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT
|
||||
|
||||
pla
|
||||
|
||||
.4 bit #S.WND.F.MAX
|
||||
.4 bit #S.WND.F.MIN
|
||||
beq .8
|
||||
|
||||
lda L.BM.Max
|
||||
ldx L.BM.Max+1
|
||||
lda L.BM.Min
|
||||
ldx L.BM.Min+1
|
||||
sta ZPObjPtr
|
||||
stx ZPObjPtr+1
|
||||
|
||||
|
@ -142,6 +142,8 @@ L.OBJ.Cache .DA OBJ.Cache
|
||||
L.WND.Screen .DA WND.Screen
|
||||
L.WND.Desktop .DA WND.Desktop
|
||||
L.WND.SysBar .DA WND.SysBar
|
||||
L.WND.SysBar.2osX .DA WND.SysBar.2osX
|
||||
L.MENU.Sys .DA MENU.Sys
|
||||
*--------------------------------------
|
||||
L.BM.Apple .DA BM.Apple
|
||||
L.BM.Close .DA BM.Close
|
||||
@ -414,22 +416,24 @@ WND.SysBar.W.X1 .BS 2
|
||||
WND.SysBar.W.X2 .EQ *
|
||||
WND.SysBar.Time.X1 .BS 2
|
||||
WND.SysBar.bA2osX .BS 1
|
||||
WND.SysBar.2osX .AZ "2osX"
|
||||
*--------------------------------------
|
||||
BUT.Sys .DA #S.OBJ.T.BUT
|
||||
.DA #0 F
|
||||
MENU.Sys .DA #S.MITEM.F.ITEM F
|
||||
.DA #0 S
|
||||
.DA #2 ID
|
||||
.DA 0 hOWNER
|
||||
.DA 0 pPARENT
|
||||
.BS S.OBJ-S.OBJ.X1
|
||||
|
||||
.BS 2 S.BUT.hBM
|
||||
.AZ "A2osX" S.BUT.TEXT
|
||||
*--------------------------------------
|
||||
MENU.Sys .DA #2 ID
|
||||
.DA 0 pICON
|
||||
.DA #0 KEYMOD
|
||||
.DA #0 KEY
|
||||
.DA #2 ID
|
||||
.AZ "About..."
|
||||
|
||||
.DA #S.MITEM.F.SEP
|
||||
|
||||
.DA #S.MITEM.F.SUBMENU F
|
||||
.DA #0 S
|
||||
.DA 0 pICON
|
||||
.DA 0 pMENU
|
||||
.AZ "Settings"
|
||||
|
||||
.DA #0
|
||||
*--------------------------------------
|
||||
PREFS.BESTVIEWEDX .DA #$FC
|
||||
|
Loading…
Reference in New Issue
Block a user