mirror of
https://github.com/A2osX/A2osX.git
synced 2025-01-11 10:29:46 +00:00
Kernel 0.9.1 : GUI, Code Reorg...
This commit is contained in:
parent
d72a6c714d
commit
20f35fbbcd
108
INC/GUI.I.txt
108
INC/GUI.I.txt
@ -104,8 +104,26 @@ S.RECT.Y2 .EQ 6
|
||||
*
|
||||
S.RECT .EQ 8
|
||||
*--------------------------------------
|
||||
S.WND.T .EQ 0
|
||||
S.WND.F .EQ 1
|
||||
S.OBJ.T .EQ 0
|
||||
S.OBJ.T.SCREEN .EQ 0
|
||||
S.OBJ.T.WND .EQ 2
|
||||
S.OBJ.T.MENUBAR .EQ 4
|
||||
S.OBJ.T.MENU .EQ 6
|
||||
S.OBJ.T.MENUITEM .EQ 8
|
||||
S.OBJ.T.BUT .EQ 10
|
||||
S.OBJ.T.TEXT .EQ 12
|
||||
|
||||
S.OBJ.F .EQ 1
|
||||
S.OBK.S .EQ 2
|
||||
S.OBJ.ID .EQ 3
|
||||
S.OBJ.hOWNER .EQ 4
|
||||
S.OBJ.hPARENT .EQ 5
|
||||
|
||||
S.OBJ.X .EQ 8
|
||||
S.OBJ.Y .EQ 10
|
||||
S.OBJ.W .EQ 12
|
||||
S.OBJ.H .EQ 14
|
||||
*--------------------------------------
|
||||
S.WND.F.RESIZE .EQ %00000001
|
||||
S.WND.F.MOVE .EQ %00000010
|
||||
S.WND.F.CLOSE .EQ %00000100
|
||||
@ -114,65 +132,45 @@ S.WND.F.MIN .EQ %00010000
|
||||
S.WND.F.NOBORDER .EQ %00100000
|
||||
S.WND.F.MODAL .EQ %01000000
|
||||
S.WND.F.SYSMODAL .EQ %10000000
|
||||
S.WND.S .EQ 2
|
||||
S.WND.hOWNER .EQ 3
|
||||
S.WND.hPARENT .EQ 4
|
||||
S.WND.hTITLE .EQ 5
|
||||
S.WND.hMENU .EQ 6
|
||||
S.WND.hBKCOLOR .EQ 7
|
||||
S.WND.hBKBM .EQ 8
|
||||
S.WND.hSTATUS .EQ 9
|
||||
S.WND.hCUR .EQ 10
|
||||
S.WND.hICON .EQ 11
|
||||
S.WND.X .EQ 12
|
||||
S.WND.Y .EQ 14
|
||||
S.WND.W .EQ 16
|
||||
S.WND.H .EQ 18
|
||||
S.WND.MinW .EQ 20
|
||||
S.WND.MinH .EQ 22
|
||||
*
|
||||
S.WND .EQ 32
|
||||
*--------------------------------------
|
||||
S.CTRL.T .EQ 0
|
||||
S.CTRL.T.WND .EQ 0
|
||||
S.CTRL.T.MENU .EQ 2
|
||||
S.CTRL.T.BUT .EQ 4
|
||||
S.CTRL.T.TEXT .EQ 6
|
||||
S.WND.S.MAX .EQ %00001000
|
||||
S.WND.S.MIN .EQ %00010000
|
||||
*
|
||||
S.WND.MinW .EQ 16
|
||||
S.WND.MinH .EQ 18
|
||||
|
||||
S.CTRL.F .EQ 1
|
||||
S.CTRL.ID .EQ 3
|
||||
S.CTRL.hOWNER .EQ 4
|
||||
S.CTRL.hPARENT .EQ 5
|
||||
S.CTRL.X .EQ 6
|
||||
S.CTRL.Y .EQ 8
|
||||
S.CTRL.W .EQ 10
|
||||
S.CTRL.H .EQ 12
|
||||
S.WND.hTITLE .EQ 20
|
||||
S.WND.hMENUBAR .EQ 22
|
||||
S.WND.hBKCOLOR .EQ 24
|
||||
S.WND.hBKBM .EQ 26
|
||||
S.WND.hCUR .EQ 28
|
||||
S.WND.hSTATUS .EQ 30
|
||||
S.WND.hICON .EQ 32
|
||||
*
|
||||
S.WND .EQ 34
|
||||
*--------------------------------------
|
||||
S.MENUBAR
|
||||
*--------------------------------------
|
||||
S.MENU.T .EQ 0
|
||||
S.MENU.F .EQ 1
|
||||
S.MENU.hSAVEBUF .EQ 2
|
||||
S.MENU.X .EQ 3
|
||||
S.MENU.Y .EQ 5
|
||||
* ... S.MITEMs...
|
||||
*--------------------------------------
|
||||
S.MITEM.F .EQ 0
|
||||
*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.MITEM.F.CHECKED .EQ %01000000
|
||||
S.MITEM.F.DISABLED .EQ %10000000
|
||||
S.MITEM.ID .EQ 1
|
||||
S.MITEM.hSUBM .EQ 2
|
||||
S.MITEM.hBM .EQ 3
|
||||
S.MITEM.HOTKEY .EQ 4
|
||||
S.MITEM.HOTKEY.CTRL .EQ %10000000
|
||||
S.MITEM.HOTKEY.OA .EQ %01000000
|
||||
S.MITEM.HOTKEY.CA .EQ %00100000
|
||||
S.MITEM.TEXTLEN .EQ 5
|
||||
S.MITEM.TEXT .EQ 6 CSTR
|
||||
*S.MENUITEM.F. .EQ %00000001
|
||||
*S.MENUITEM.F. .EQ %00000010
|
||||
*S.MENUITEM.F. .EQ %00000100
|
||||
*S.MENUITEM.F. .EQ %00001000
|
||||
*S.MENUITEM.F. .EQ %00010000
|
||||
S.MENUITEM.F.SEP .EQ %00100000
|
||||
S.MENUITEM.F.CHECKED .EQ %01000000
|
||||
S.MENUITEM.F.DISABLED .EQ %10000000
|
||||
S.MENUITEM.ID .EQ 1
|
||||
S.MENUITEM.hSUBM .EQ 2
|
||||
S.MENUITEM.hBM .EQ 3
|
||||
S.MENUITEM.HOTKEY .EQ 4
|
||||
S.MENUITEM.HOTKEY.CTRL .EQ %10000000
|
||||
S.MENUITEM.HOTKEY.OA .EQ %01000000
|
||||
S.MENUITEM.HOTKEY.CA .EQ %00100000
|
||||
S.MENUITEM.TEXTLEN .EQ 5
|
||||
S.MENUITEM.TEXT .EQ 6 CSTR
|
||||
* ...
|
||||
*--------------------------------------
|
||||
S.BUT.T .EQ 0
|
||||
|
@ -4,8 +4,6 @@ AUTO 4,1
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
*--------------------------------------
|
||||
LIBGUI.InitGUI .EQ 4
|
||||
LIBGUI.CloseGUI .EQ 6
|
||||
LIBGUI.Draw .EQ 8
|
||||
LIBGUI.SetCursor.A .EQ 10
|
||||
LIBGUI.SetCursorPos .EQ 12
|
||||
|
22
LIB/LIBGUI.G.BM.txt
Normal file
22
LIB/LIBGUI.G.BM.txt
Normal file
@ -0,0 +1,22 @@
|
||||
NEW
|
||||
PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
*--------------------------------------
|
||||
BM.Apple .DA #S.BM.F.BBP4
|
||||
.DA #2 RowBytes
|
||||
.DA 16 W
|
||||
.DA 7 H
|
||||
.DA 0 no MASK.OFS
|
||||
|
||||
.HS FFF6 green (8)
|
||||
.HS 6FF6 green (8)
|
||||
.HS EEEE yellow (15)
|
||||
.HS CCFC orange (14)
|
||||
.HS 88F8 magenta (10)
|
||||
.HS 9999 violet (11)
|
||||
.HS 1FF1 Dark blue (4)
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.SRC/LIB/LIBGUI.G.BM
|
||||
LOAD /A2OSX.SRC/LIB/LIBGUI.S
|
||||
ASM
|
10
LIB/LIBGUI.G.FON.txt
Normal file
10
LIB/LIBGUI.G.FON.txt
Normal file
@ -0,0 +1,10 @@
|
||||
NEW
|
||||
PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
*--------------------------------------
|
||||
SYSFONB.H .BS 1
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.SRC/LIB/LIBGUI.G.FON
|
||||
LOAD /A2OSX.SRC/LIB/LIBGUI.S
|
||||
ASM
|
13
LIB/LIBGUI.G.WND.txt
Normal file
13
LIB/LIBGUI.G.WND.txt
Normal file
@ -0,0 +1,13 @@
|
||||
NEW
|
||||
PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
*--------------------------------------
|
||||
WND.TB.H .BS 1
|
||||
WND.Stack.Top .BS 1
|
||||
WND.Stack .BS WND.MAX
|
||||
WND.Cache .BS S.WND
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.SRC/LIB/LIBGUI.G.WND
|
||||
LOAD /A2OSX.SRC/LIB/LIBGUI.S
|
||||
ASM
|
@ -1,7 +1,6 @@
|
||||
NEW
|
||||
PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
* CLIPPING Functions:
|
||||
* In:
|
||||
|
32
LIB/LIBGUI.S.FON.txt
Normal file
32
LIB/LIBGUI.S.FON.txt
Normal file
@ -0,0 +1,32 @@
|
||||
NEW
|
||||
PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
*--------------------------------------
|
||||
FON.Init >PUSHWI 0 Aux type
|
||||
>PUSHBI $CC Type
|
||||
>PUSHBI SYS.FOpen.R
|
||||
>PUSHW L.SYSX7
|
||||
>SYSCALL LoadStkObj
|
||||
bcs .9
|
||||
sta hSYSFON
|
||||
|
||||
>PUSHWI 0 Aux type
|
||||
>PUSHBI $CC Type
|
||||
>PUSHBI SYS.FOpen.R
|
||||
>PUSHW L.SYSX7B
|
||||
>SYSCALL LoadStkObj
|
||||
bcs .9
|
||||
sta hSYSFONB
|
||||
|
||||
ldy #S.FON.PixH
|
||||
>SYSCALL GetStkObjProperty.AY
|
||||
sty SYSFONB.H
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.SRC/LIB/LIBGUI.S.FON
|
||||
LOAD /A2OSX.SRC/LIB/LIBGUI.S
|
||||
ASM
|
89
LIB/LIBGUI.S.MOU.txt
Normal file
89
LIB/LIBGUI.S.MOU.txt
Normal file
@ -0,0 +1,89 @@
|
||||
NEW
|
||||
PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
*--------------------------------------
|
||||
MOU.Init
|
||||
.1 >LDYA L.DEVNAME.MOUSE
|
||||
>SYSCALL GetDevByName.YA
|
||||
bcc .2
|
||||
|
||||
inc DEVNAME.MOUSE+3
|
||||
lda DEVNAME.MOUSE+3
|
||||
cmp #'8'
|
||||
bne .1
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
|
||||
.2 stx hDevMouse
|
||||
txa
|
||||
>PUSHA
|
||||
>PUSHBI DEVMGR.OPEN
|
||||
>PUSHWI 0
|
||||
>SYSCALL IOCTL
|
||||
|
||||
lda GC.Screen+S.GC.X2+1
|
||||
sta MouseClamp+3
|
||||
lsr
|
||||
sta CUR.Pos+S.POINT.X+1
|
||||
|
||||
lda GC.Screen+S.GC.X2
|
||||
sta MouseClamp+2
|
||||
ror
|
||||
sta CUR.Pos+S.POINT.X
|
||||
|
||||
lda GC.Screen+S.GC.Y2+1
|
||||
sta MouseClamp+7
|
||||
lsr
|
||||
sta CUR.Pos+S.POINT.Y+1
|
||||
|
||||
lda GC.Screen+S.GC.Y2
|
||||
sta MouseClamp+6
|
||||
ror
|
||||
sta CUR.Pos+S.POINT.Y
|
||||
|
||||
>PUSHB.G hDevMouse
|
||||
>PUSHBI DEVMGR.CONTROL
|
||||
>PUSHWI L.MouseClamp
|
||||
>SYSCALL IOCTL
|
||||
|
||||
>LDYA L.CUR.SaveBuf
|
||||
>STYA CUR.CB+S.CB.DstPtr
|
||||
|
||||
lda #CUR.T.ARROW
|
||||
jsr SetCursor.A
|
||||
bra .8
|
||||
|
||||
sec
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
MOU.Quit lda hDevMouse
|
||||
beq .8
|
||||
|
||||
>PUSHA
|
||||
>PUSHBI DEVMGR.CLOSE
|
||||
>PUSHWI 0
|
||||
>SYSCALL IOCTL
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
MOU.Read >STYA ZPPtr1
|
||||
|
||||
lda hDevMouse
|
||||
beq .9
|
||||
|
||||
>PUSHA
|
||||
>PUSHBI DEVMGR.READBLOCK
|
||||
>PUSHWI 0
|
||||
>SYSCALL IOCTL
|
||||
bcs .9
|
||||
|
||||
|
||||
.8 sec
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.SRC/LIB/LIBGUI.S.MOU
|
||||
LOAD /A2OSX.SRC/LIB/LIBGUI.S
|
||||
ASM
|
@ -2,12 +2,79 @@ NEW
|
||||
PREFIX /A2OSX.BUILD
|
||||
AUTO 4,1
|
||||
*--------------------------------------
|
||||
DrawWindow >STYA ZPPtr1
|
||||
WND.Init >LDYA L.DEVNAME.GFX
|
||||
>SYSCALL GetDevByName.YA
|
||||
bcs .9
|
||||
|
||||
stx hDevScreen
|
||||
txa
|
||||
>SYSCALL GetDevStatus.A
|
||||
bcs .9
|
||||
>STYA ZPPtr1
|
||||
|
||||
ldy #S.DSTAT.GFX.W
|
||||
|
||||
lda (ZPPtr1),y
|
||||
sta WND.Cache+S.OBJ.W
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
sta WND.Cache+S.OBJ.W+1
|
||||
|
||||
lda SYSFONB.H
|
||||
clc
|
||||
adc #6
|
||||
sta WND.TB.H
|
||||
|
||||
iny #S.DSTAT.GFX.H
|
||||
|
||||
lda (ZPPtr1),y
|
||||
sec
|
||||
sbc SYSFONB.H
|
||||
sta WND.Cache+S.OBJ.H
|
||||
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
sbc #0
|
||||
sta WND.Cache+S.OBJ.H+1
|
||||
|
||||
lda #S.WND.F.NOBORDER
|
||||
sta WND.Cache+S.OBJ.F
|
||||
|
||||
lda #CUR.T.ARROW
|
||||
sta WND.Cache+S.WND.hCUR
|
||||
>LDYA L.WND.CACHE
|
||||
jsr WND.New
|
||||
bcs .9
|
||||
|
||||
stx WND.Stack
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
WND.Quit
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
WND.New >STYA ZPPtr1
|
||||
>SYSCALL GetMem.YA
|
||||
bcs .9
|
||||
|
||||
>STYA ZPWNDPtr
|
||||
|
||||
ldy #S.WND-1
|
||||
|
||||
.1 lda (ZPPtr1),y
|
||||
sta (ZPWNDPtr),y
|
||||
dey
|
||||
bpl .1
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
WND.Paint >STYA ZPPtr1
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
||||
WND.Close
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.SRC/LIB/LIBGUI.S.WND
|
||||
|
146
LIB/LIBGUI.S.txt
146
LIB/LIBGUI.S.txt
@ -11,6 +11,8 @@ AUTO 4,1
|
||||
.INB /A2OSX.BUILD/INC/GUI.I
|
||||
.INB /A2OSX.BUILD/INC/LIBGUI.I
|
||||
.INB /A2OSX.BUILD/INC/GFX.I
|
||||
*--------------------------------------
|
||||
WND.MAX .EQ 64
|
||||
*--------------------------------------
|
||||
.MA SWAP16
|
||||
lda ]1
|
||||
@ -44,6 +46,8 @@ AUTO 4,1
|
||||
ZPPtr1 .EQ ZPLIB
|
||||
ZPGCPtr .EQ ZPLIB+2
|
||||
ZPCBPtr .EQ ZPLIB+4
|
||||
ZPWNDPtr .EQ ZPLIB+6
|
||||
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
@ -61,8 +65,6 @@ CS.START cld
|
||||
*--------------------------------------
|
||||
.1 .DA LIB.LOAD
|
||||
.DA LIB.UNLOAD
|
||||
.DA InitGUI
|
||||
.DA CloseGUI
|
||||
.DA Draw
|
||||
.DA SetCursor.A
|
||||
.DA SetCursorPos
|
||||
@ -75,6 +77,8 @@ J.Cmds .DA DrawLine
|
||||
.DA DrawText
|
||||
L.DEVNAME.GFX .DA DEVNAME.GFX
|
||||
L.DEVNAME.MOUSE .DA DEVNAME.MOUSE
|
||||
L.SYSX7 .DA SYSX7
|
||||
L.SYSX7B .DA SYSX7B
|
||||
L.MouseClamp .DA MouseClamp
|
||||
L.GC.Screen .DA GC.Screen
|
||||
L.CB.Cache .DA CB.Cache
|
||||
@ -104,114 +108,25 @@ J.Clip .DA CLIP.Point SETPIXEL
|
||||
.DA CLIP.Text
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
LIB.LOAD
|
||||
LIB.UNLOAD clc
|
||||
LIB.LOAD lda LibCount
|
||||
bne .8
|
||||
|
||||
jsr FON.Init
|
||||
jsr WND.Init
|
||||
jsr MOU.Init
|
||||
|
||||
.8 inc LibCount
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
InitGUI lda GC.Screen+S.GC.hDev
|
||||
LIB.UNLOAD dec LibCount
|
||||
bne .8
|
||||
|
||||
>LDYA L.DEVNAME.GFX
|
||||
>SYSCALL GetDevByName.YA
|
||||
bcs .9
|
||||
|
||||
stx GC.Screen+S.GC.hDev
|
||||
>STYA GoDevGfx.Jmp+1
|
||||
jsr MOU.Quit
|
||||
|
||||
txa
|
||||
ldx #DEVMGR.OPEN
|
||||
jsr GoDevGfx.Jmp
|
||||
|
||||
ldx #DEVMGR.STATUS get graphic mode and resolution....
|
||||
jsr GoDevGfx.Jmp
|
||||
|
||||
>STYA ZPPtr1
|
||||
|
||||
ldy #S.DSTAT.GFX.W
|
||||
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
sbc #0
|
||||
sta GC.Screen+S.GC.X2
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
sbc #0
|
||||
sta GC.Screen+S.GC.X2+1
|
||||
|
||||
iny #S.DSTAT.GFX.H
|
||||
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
sbc #0
|
||||
sta GC.Screen+S.GC.Y2
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
sbc #0
|
||||
sta GC.Screen+S.GC.Y2+1
|
||||
|
||||
.1 >LDYA L.DEVNAME.MOUSE
|
||||
>SYSCALL GetDevByName.YA
|
||||
bcc .2
|
||||
|
||||
inc DEVNAME.MOUSE+3
|
||||
lda DEVNAME.MOUSE+3
|
||||
cmp #'8'
|
||||
bne .1
|
||||
|
||||
.8 ldx #DEVMGR.CONTROL Mouse driver disturb graphic screen....
|
||||
jsr GoDevGfx.Jmp
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
|
||||
* Mouse Setup
|
||||
|
||||
.2 stx hDevMouse
|
||||
>STYA GoDevMouse+1
|
||||
|
||||
txa
|
||||
ldx #DEVMGR.OPEN
|
||||
jsr GoDevMouse
|
||||
|
||||
lda GC.Screen+S.GC.X2+1
|
||||
sta MouseClamp+3
|
||||
lsr
|
||||
sta CUR.Pos+S.POINT.X+1
|
||||
|
||||
lda GC.Screen+S.GC.X2
|
||||
sta MouseClamp+2
|
||||
ror
|
||||
sta CUR.Pos+S.POINT.X
|
||||
|
||||
lda GC.Screen+S.GC.Y2+1
|
||||
sta MouseClamp+7
|
||||
lsr
|
||||
sta CUR.Pos+S.POINT.Y+1
|
||||
|
||||
lda GC.Screen+S.GC.Y2
|
||||
sta MouseClamp+6
|
||||
ror
|
||||
sta CUR.Pos+S.POINT.Y
|
||||
|
||||
>LDYA L.MouseClamp
|
||||
ldx #DEVMGR.CONTROL
|
||||
jsr GoDevMouse
|
||||
|
||||
>LDYA L.CUR.SaveBuf
|
||||
>STYA CUR.CB+S.CB.DstPtr
|
||||
|
||||
lda #CUR.T.ARROW
|
||||
jsr SetCursor.A
|
||||
bra .8
|
||||
*--------------------------------------
|
||||
CloseGUI lda hDevMouse
|
||||
beq .1
|
||||
|
||||
ldx #DEVMGR.CLOSE
|
||||
jsr GoDevMouse
|
||||
|
||||
.1 stz GC.Screen+S.GC.hDev
|
||||
sec
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
GC.Get >STYA .1+1
|
||||
@ -254,25 +169,33 @@ GoDevGfx >LDYA L.CB.Cache
|
||||
ldx #DEVMGR.WRITE
|
||||
GoDevGfx.Jmp jmp $ffff
|
||||
*--------------------------------------
|
||||
GoDevMouse jmp $ffff
|
||||
*--------------------------------------
|
||||
.INB /A2OSX.SRC/LIB/LIBGUI.S.DRAW
|
||||
.INB /A2OSX.SRC/LIB/LIBGUI.S.BM
|
||||
.INB /A2OSX.SRC/LIB/LIBGUI.S.BUT
|
||||
.INB /A2OSX.SRC/LIB/LIBGUI.S.CLIP
|
||||
.INB /A2OSX.SRC/LIB/LIBGUI.S.CUR
|
||||
.INB /A2OSX.SRC/LIB/LIBGUI.S.DRAW
|
||||
.INB /A2OSX.SRC/LIB/LIBGUI.S.FON
|
||||
.INB /A2OSX.SRC/LIB/LIBGUI.S.MENU
|
||||
.INB /A2OSX.SRC/LIB/LIBGUI.S.MOU
|
||||
.INB /A2OSX.SRC/LIB/LIBGUI.S.PAT
|
||||
.INB /A2OSX.SRC/LIB/LIBGUI.S.WND
|
||||
.INB /A2OSX.SRC/LIB/LIBGUI.S.BUT
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
.INB /A2OSX.SRC/LIB/LIBGUI.G.BM
|
||||
.INB /A2OSX.SRC/LIB/LIBGUI.G.CUR
|
||||
.INB /A2OSX.SRC/LIB/LIBGUI.G.FON
|
||||
.INB /A2OSX.SRC/LIB/LIBGUI.G.WND
|
||||
*--------------------------------------
|
||||
DEVNAME.GFX .AZ "GFX"
|
||||
DEVNAME.MOUSE .AZ "MOU1"
|
||||
*--------------------------------------
|
||||
SYSX7 .AZ "/A2OSX.BUILD/SBIN/GUI/SYSX7"
|
||||
SYSX7B .AZ "/A2OSX.BUILD/SBIN/GUI/SYSX7B"
|
||||
*--------------------------------------
|
||||
LibCount .BS 1
|
||||
hDevScreen .BS 1
|
||||
hDevMouse .BS 1
|
||||
hSYSFON .BS 1
|
||||
hSYSFONB .BS 1
|
||||
*--------------------------------------
|
||||
DX .BS 2
|
||||
DY .BS 2
|
||||
@ -296,10 +219,6 @@ CB.CmdLen .DA S.CB.Y1+1 SETPIXEL
|
||||
*--------------------------------------
|
||||
MouseClamp .BS 8
|
||||
*--------------------------------------
|
||||
GC.Screen .BS S.GC
|
||||
GC.Desktop .BS S.GC
|
||||
GC.TaskBar .BS S.GC
|
||||
*--------------------------------------
|
||||
PAT.Buf .BS 1 S.BM.F
|
||||
.DA #1 S.BM.RowBytes
|
||||
.DA 8 S.BM.W
|
||||
@ -310,7 +229,6 @@ PAT.Buf .BS 1 S.BM.F
|
||||
GC.Cache .BS S.GC
|
||||
CB.Cache .BS S.CB
|
||||
BM.Cache .BS S.BM
|
||||
WND.Cache .BS S.WND
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE /A2OSX.SRC/LIB/LIBGUI.S
|
||||
|
196
SBIN/GUI.S.txt
196
SBIN/GUI.S.txt
@ -34,18 +34,7 @@ CS.START cld
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.LIBGUI .DA LIBGUI
|
||||
L.SYSX7 .DA SYSX7
|
||||
L.SYSX7B .DA SYSX7B
|
||||
L.Filename .DA Filename
|
||||
L.MouseData .DA MouseData
|
||||
L.CB.Paint .DA CB.Paint
|
||||
L.BM.Apple .DA BM.Apple
|
||||
L.TXT.SampleB .DA TXT.SampleB
|
||||
L.TXT.Sample .DA TXT.Sample
|
||||
L.TXT.A2osX .DA TXT.A2osX
|
||||
L.CB.Marylin .DA CB.Marylin
|
||||
L.CB.DrawLine .DA CB.DrawLine
|
||||
L.GC.Clip .DA GC.Clip
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT >LDYA L.LIBGUI
|
||||
@ -53,56 +42,6 @@ CS.INIT >LDYA L.LIBGUI
|
||||
bcs .98
|
||||
sta hLIBGUI
|
||||
|
||||
>LIBCALL hLIBGUI,LIBGUI.InitGUI
|
||||
bcs .98
|
||||
|
||||
>PUSHWI 0 Aux type
|
||||
>PUSHBI $CC Type
|
||||
>PUSHBI SYS.FOpen.R
|
||||
>PUSHW L.SYSX7
|
||||
>SYSCALL LoadStkObj
|
||||
.98 bcs .99
|
||||
sta hSYSFON
|
||||
sta CB.DrawText+S.CB.hFont
|
||||
sta CB.DrawA2osX+S.CB.hFont
|
||||
|
||||
>PUSHWI 0 Aux type
|
||||
>PUSHBI $CC Type
|
||||
>PUSHBI SYS.FOpen.R
|
||||
>PUSHW L.SYSX7B
|
||||
>SYSCALL LoadStkObj
|
||||
bcs .99
|
||||
sta hSYSFONB
|
||||
sta CB.DrawTextB+S.CB.hFont
|
||||
|
||||
>PUSHWI 0 Aux type
|
||||
>PUSHBI $CB Type
|
||||
>PUSHBI SYS.FOpen.R
|
||||
>PUSHW L.FILENAME
|
||||
>SYSCALL LoadStkObj
|
||||
.99 bcs CS.INIT.RTS
|
||||
|
||||
sta CB.Marylin+S.CB.SrcPtr
|
||||
|
||||
>LDYA L.TXT.SampleB
|
||||
>STYA CB.DrawTextB+S.CB.TxtPtr
|
||||
>LDYA L.TXT.Sample
|
||||
>STYA CB.DrawText+S.CB.TxtPtr
|
||||
|
||||
>LDYA L.TXT.A2osX
|
||||
>STYA CB.DrawA2osX+S.CB.TxtPtr
|
||||
|
||||
>LDYA L.BM.Apple
|
||||
>STYA CB.Apple+S.CB.SrcPtr
|
||||
|
||||
jsr Destop.Paint
|
||||
|
||||
lda #CUR.T.ARROW
|
||||
>STA.G CUR.T
|
||||
>LIBCALL hLIBGUI,LIBGUI.SetCursor.A
|
||||
|
||||
>LIBCALL hLIBGUI,LIBGUI.ShowCursor
|
||||
|
||||
lda (pPs)
|
||||
ora #S.PS.F.EVENT Now accept events
|
||||
sta (pPs)
|
||||
@ -142,14 +81,10 @@ CS.RUN lda A2osX.ASCREEN GUI screen active ?
|
||||
>LIBCALL hLIBGUI,LIBGUI.SetCursor.A
|
||||
|
||||
lda MouseData+S.MOUSE.X1
|
||||
sta CB.Marylin+S.CB.DstX
|
||||
lda MouseData+S.MOUSE.X1+1
|
||||
sta CB.Marylin+S.CB.DstX+1
|
||||
|
||||
lda MouseData+S.MOUSE.Y1
|
||||
sta CB.Marylin+S.CB.DstY
|
||||
lda MouseData+S.MOUSE.Y1+1
|
||||
sta CB.Marylin+S.CB.DstY+1
|
||||
|
||||
jsr Destop.Paint
|
||||
|
||||
@ -192,139 +127,8 @@ Destop.Paint >LIBCALL hLIBGUI,LIBGUI.HideCursor
|
||||
CS.END
|
||||
LIBGUI .AZ "libgui.o"
|
||||
hLIBGUI .BS 1
|
||||
hSYSFON .BS 1
|
||||
hSYSFONB .BS 1
|
||||
*--------------------------------------
|
||||
Filename .AZ "/A2OSX.BUILD/ROOT/MARILYN"
|
||||
*--------------------------------------
|
||||
SYSX7 .AZ "/A2OSX.BUILD/SBIN/GUI/SYSX7"
|
||||
SYSX7B .AZ "/A2OSX.BUILD/SBIN/GUI/SYSX7B"
|
||||
*--------------------------------------
|
||||
MouseData .BS S.MOUSE
|
||||
*--------------------------------------
|
||||
CB.Paint .DA #S.CB.CMD.FILLRECT
|
||||
.DA #S.CB.OP.SET
|
||||
.DA #S.CB.M.MONO
|
||||
.DA #1
|
||||
.DA 0 X1
|
||||
.DA 0 Y1
|
||||
.DA 559 X2
|
||||
.DA 191 Y2
|
||||
|
||||
.DA #S.CB.CMD.FILLRECT
|
||||
.DA #S.CB.OP.SET
|
||||
.DA #S.CB.M.C16
|
||||
.DA #4
|
||||
.DA 40 X1
|
||||
.DA 20 Y1
|
||||
.DA 519 X2
|
||||
.DA 171 Y2
|
||||
*--------------------------------------
|
||||
CB.DrawTextB .DA #S.CB.CMD.DRAWTEXT
|
||||
.DA #S.CB.OP.SET OP
|
||||
.DA #255 M
|
||||
.BS 1 hFont
|
||||
.DA 0 X1
|
||||
.DA 0 Y1
|
||||
.DA 0 SrcW
|
||||
.DA 0 SrcH
|
||||
.DA 4 DstX
|
||||
.DA 2 DstY
|
||||
.BS 2 TxtPtr
|
||||
*--------------------------------------
|
||||
CB.DrawText .DA #S.CB.CMD.DRAWTEXT
|
||||
.DA #S.CB.OP.SET OP
|
||||
.DA #0 M
|
||||
.BS 1 hFont
|
||||
.DA 0 X1
|
||||
.DA 0 Y1
|
||||
.DA 0 SrcW
|
||||
.DA 0 SrcH
|
||||
.DA 4 DstX
|
||||
.DA 12 DstY
|
||||
.BS 2 TxtPtr
|
||||
*--------------------------------------
|
||||
CB.Apple .DA #S.CB.CMD.BITBLT
|
||||
.DA #S.CB.OP.SET
|
||||
.DA #S.CB.M.C16
|
||||
.DA #0
|
||||
.DA 0 X1
|
||||
.DA 0 Y1
|
||||
.DA 16 W
|
||||
.DA 7 H
|
||||
.DA 4 DestX
|
||||
.DA 183 DestY
|
||||
.BS 2 SrcPtr
|
||||
.DA 0 DstPtr
|
||||
*--------------------------------------
|
||||
CB.DrawA2osX .DA #S.CB.CMD.DRAWTEXT
|
||||
.DA #S.CB.OP.SET OP
|
||||
.DA #255 M
|
||||
.BS 1 hFont
|
||||
.DA 0 X1
|
||||
.DA 0 Y1
|
||||
.DA 0 SrcW
|
||||
.DA 0 SrcH
|
||||
.DA 24 DstX
|
||||
.DA 183 DstY
|
||||
.BS 2 TxtPtr
|
||||
*--------------------------------------
|
||||
.DA #0
|
||||
*--------------------------------------
|
||||
BM.Apple .DA #S.BM.F.BBP4
|
||||
.DA #2 RowBytes
|
||||
.DA 16 W
|
||||
.DA 7 H
|
||||
.DA 0 no MASK.OFS
|
||||
|
||||
.HS FFF6 green (8)
|
||||
.HS 6FF6 green (8)
|
||||
.HS EEEE yellow (15)
|
||||
.HS CCFC orange (14)
|
||||
.HS 88F8 magenta (10)
|
||||
.HS 9999 violet (11)
|
||||
.HS 1FF1 Dark blue (4)
|
||||
*--------------------------------------
|
||||
TXT.SampleB .AZ "Sample Text with SYSX7B.FON Height=7px, Variable Width {}[] #0123456789"
|
||||
TXT.Sample .AZ "White/Black: SYSX7.FON Height=7px, #.;:!?+-_=%*$@ /\ () {|}[] #0123456789"
|
||||
TXT.A2osX .AZ "A2osX"
|
||||
*--------------------------------------
|
||||
CB.Marylin .DA #S.CB.CMD.BITBLT
|
||||
.DA #S.CB.OP.SET
|
||||
.DA #S.CB.M.MONO
|
||||
.DA #0
|
||||
.DA 0 X1
|
||||
.DA 0 Y1
|
||||
.DA 141 W
|
||||
.DA 150 H
|
||||
.DA 200 DestX
|
||||
.DA 21 DestY
|
||||
.BS 2 SrcPtr
|
||||
.DA 0 DstPtr
|
||||
|
||||
.DA #0
|
||||
*--------------------------------------
|
||||
CB.DrawLine .DA #0
|
||||
.DA #S.CB.CMD.DRAWLINE
|
||||
.DA #S.CB.OP.XOR
|
||||
.DA #S.CB.M.MONO
|
||||
.DA #1
|
||||
.BS 2 X1
|
||||
.BS 2 Y1
|
||||
.BS 2 X2
|
||||
.BS 2 Y2
|
||||
|
||||
.DA #0
|
||||
*--------------------------------------
|
||||
GC.Clip .DA #0
|
||||
.DA #0
|
||||
.DA #0
|
||||
.DA #0
|
||||
|
||||
.DA 40 X1
|
||||
.DA 20 Y1
|
||||
.DA 519 X2
|
||||
.DA 171 Y2
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user