mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-29 17:50:18 +00:00
Kernel 0.94
This commit is contained in:
parent
8c93153f0e
commit
ed66719b5a
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -88,8 +88,8 @@ S.WND.F.MODAL .EQ %01000000
|
|||||||
S.WND.F.SYSMODAL .EQ %10000000
|
S.WND.F.SYSMODAL .EQ %10000000
|
||||||
*
|
*
|
||||||
S.WND.S.ACTIVE .EQ %00000100
|
S.WND.S.ACTIVE .EQ %00000100
|
||||||
S.WND.S.MAX .EQ %00001000
|
S.WND.S.MAXIMIZED .EQ %00001000
|
||||||
S.WND.S.MIN .EQ %00010000
|
S.WND.S.MINIMIZED .EQ %00010000
|
||||||
*
|
*
|
||||||
S.WND.MinW .EQ S.OBJ
|
S.WND.MinW .EQ S.OBJ
|
||||||
S.WND.MinH .EQ S.OBJ+2
|
S.WND.MinH .EQ S.OBJ+2
|
||||||
@ -102,8 +102,12 @@ S.WND.STATUS .EQ S.OBJ+14
|
|||||||
S.WND.ICON .EQ S.OBJ+16
|
S.WND.ICON .EQ S.OBJ+16
|
||||||
S.WND.InnerW .EQ S.OBJ+18
|
S.WND.InnerW .EQ S.OBJ+18
|
||||||
S.WND.InnerH .EQ S.OBJ+20
|
S.WND.InnerH .EQ S.OBJ+20
|
||||||
|
S.WND.DocW .EQ S.OBJ+22
|
||||||
|
S.WND.DocH .EQ S.OBJ+24
|
||||||
|
S.WND.DocX .EQ S.OBJ+26
|
||||||
|
S.WND.DocY .EQ S.OBJ+28
|
||||||
*
|
*
|
||||||
S.WND .EQ S.OBJ+22
|
S.WND .EQ S.OBJ+30
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
S.MBAR.MENULIST .EQ S.OBJ
|
S.MBAR.MENULIST .EQ S.OBJ
|
||||||
* ... S.MENUs...
|
* ... S.MENUs...
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.TB.H .BS 1
|
|
||||||
WND.Stack.Top .BS 1
|
WND.Stack.Top .BS 1
|
||||||
WND.Stack .BS WND.MAX
|
WND.Stack .BS WND.MAX
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -24,19 +24,45 @@ CLIP.Point
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CLIP.HLine
|
CLIP.HLine >LDYA CB.Cache+S.CB.Y1
|
||||||
clc
|
>SCMPYA OBJ.Cache+S.OBJ.Y2
|
||||||
rts
|
bpl .9
|
||||||
*--------------------------------------
|
|
||||||
CLIP.VLine
|
>LDYA CB.Cache+S.CB.Y2
|
||||||
|
>SCMPYA OBJ.Cache+S.OBJ.Y1
|
||||||
|
bmi .9
|
||||||
|
|
||||||
|
>LDYA OBJ.Cache+S.OBJ.X1
|
||||||
|
>STYAIFGTR CB.Cache+S.CB.X1
|
||||||
|
|
||||||
|
>LDYA OBJ.Cache+S.OBJ.X2
|
||||||
|
>STYAIFLWR CB.Cache+S.CB.X2
|
||||||
|
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* OBJ.Cache = Target Context
|
CLIP.VLine >LDYA CB.Cache+S.CB.X1
|
||||||
* CB.Cache = Src Control Block
|
>SCMPYA OBJ.Cache+S.OBJ.X2
|
||||||
|
bpl .9
|
||||||
|
|
||||||
|
>LDYA CB.Cache+S.CB.X2
|
||||||
|
>SCMPYA OBJ.Cache+S.OBJ.X1
|
||||||
|
bmi .9
|
||||||
|
|
||||||
|
>LDYA OBJ.Cache+S.OBJ.Y1
|
||||||
|
>STYAIFGTR CB.Cache+S.CB.Y1
|
||||||
|
|
||||||
|
>LDYA OBJ.Cache+S.OBJ.Y2
|
||||||
|
>STYAIFLWR CB.Cache+S.CB.Y2
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.9 sec
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CLIP.Rect jsr CB.Cache.Overlap
|
CLIP.Rect jsr CB.Cache.Overlap
|
||||||
bcs .9
|
bcs .9
|
||||||
|
@ -58,6 +58,8 @@ WND.Setup >LDYA DCB.GFX+S.DCB.GFX.W
|
|||||||
sta WND.Desktop+S.WND.hCUR
|
sta WND.Desktop+S.WND.hCUR
|
||||||
sta WND.SysBar+S.WND.hCUR
|
sta WND.SysBar+S.WND.hCUR
|
||||||
|
|
||||||
|
stz WND.Stack.Top
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.Quit lda WND.Screen+S.OBJ.hPARENT
|
WND.Quit lda WND.Screen+S.OBJ.hPARENT
|
||||||
@ -74,7 +76,11 @@ WND.Quit lda WND.Screen+S.OBJ.hPARENT
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* F8, X116, Y116, W16, H16
|
* F8, X116, Y116, W16, H16
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
WND.Create >LDYAI S.WND
|
WND.Create ldy WND.Stack.Top
|
||||||
|
cpy #WND.MAX
|
||||||
|
bcs .90
|
||||||
|
|
||||||
|
>LDYAI S.WND
|
||||||
>SYSCALL2 getmem
|
>SYSCALL2 getmem
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
@ -129,9 +135,14 @@ WND.Create >LDYAI S.WND
|
|||||||
sta (ZPPtr1),y
|
sta (ZPPtr1),y
|
||||||
|
|
||||||
txa ID
|
txa ID
|
||||||
|
ldy WND.Stack.Top
|
||||||
|
sta WND.Stack
|
||||||
|
inc WND.Stack.Top
|
||||||
|
|
||||||
* clc
|
* clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
.90 lda #E.OOH
|
||||||
.9 >RET 9
|
.9 >RET 9
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* hWND8, Prop8, Value16
|
* hWND8, Prop8, Value16
|
||||||
@ -190,40 +201,33 @@ WND.Show >SYSCALL2 GetMemPtr
|
|||||||
stz Counter+1 Y
|
stz Counter+1 Y
|
||||||
|
|
||||||
ldy #S.OBJ.F
|
ldy #S.OBJ.F
|
||||||
|
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
and #S.WND.F.RESIZE+S.WND.F.BORDER
|
and #S.WND.F.RESIZE+S.WND.F.BORDER
|
||||||
beq .10
|
beq .1
|
||||||
|
|
||||||
inc Counter 1 pixel L
|
inc Counter 1 pixel L
|
||||||
inc Counter 1 pixel R
|
inc Counter 1 pixel R
|
||||||
inc Counter+1 1 top
|
inc Counter+1 1 top
|
||||||
inc Counter+1 1 bottom
|
inc Counter+1 1 bottom
|
||||||
|
|
||||||
lda #S.CB.CMD.HLINE
|
jsr WND.PaintBorders
|
||||||
jsr PutCBBuf
|
|
||||||
lda #S.CB.OP.SET
|
|
||||||
jsr PutCBBuf
|
|
||||||
lda #S.CB.M.MONO
|
|
||||||
jsr PutCBBuf
|
|
||||||
lda PREFS.BORDERCOLOR
|
|
||||||
jsr PutCBBuf
|
|
||||||
|
|
||||||
ldy #S.OBJ.X1
|
.1 ldy #S.WND.TITLE+1
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
beq .77
|
||||||
|
|
||||||
.1 lda (ZPPtr1),y
|
lda Counter+1
|
||||||
jsr PutCBBuf
|
clc
|
||||||
iny
|
adc SYSFON.H
|
||||||
cpy #S.OBJ.Y2+2
|
inc
|
||||||
bne .1
|
inc
|
||||||
|
sta Counter+1
|
||||||
|
|
||||||
|
jsr WND.PaintTitle
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
|
||||||
.10
|
.77 lda #0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
lda #0
|
|
||||||
jsr PutCBBuf
|
jsr PutCBBuf
|
||||||
|
|
||||||
>LDYA L.WND.Screen
|
>LDYA L.WND.Screen
|
||||||
@ -243,6 +247,113 @@ WND.Paint >STYA ZPPtr1
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
WND.PaintBorders
|
||||||
|
lda #S.CB.CMD.HLINE TOP
|
||||||
|
jsr WND.PaintBorders.H
|
||||||
|
|
||||||
|
ldy #S.OBJ.X1
|
||||||
|
|
||||||
|
.1 lda (ZPPtr1),y
|
||||||
|
jsr PutCBBuf
|
||||||
|
iny
|
||||||
|
cpy #S.OBJ.Y2+2
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
lda #S.CB.CMD.VLINE LEFT
|
||||||
|
jsr WND.PaintBorders.H
|
||||||
|
|
||||||
|
ldy #S.OBJ.X1
|
||||||
|
|
||||||
|
.2 lda (ZPPtr1),y
|
||||||
|
jsr PutCBBuf
|
||||||
|
iny
|
||||||
|
cpy #S.OBJ.Y2+2
|
||||||
|
bne .2
|
||||||
|
|
||||||
|
lda #S.CB.CMD.VLINE RIGHT
|
||||||
|
jsr WND.PaintBorders.H
|
||||||
|
|
||||||
|
ldy #S.OBJ.X2
|
||||||
|
jsr WND.PaintPushWY
|
||||||
|
|
||||||
|
ldy #S.OBJ.Y1
|
||||||
|
jsr WND.PaintPushWY
|
||||||
|
|
||||||
|
ldy #S.OBJ.X2
|
||||||
|
jsr WND.PaintPushWY
|
||||||
|
|
||||||
|
ldy #S.OBJ.Y2
|
||||||
|
jsr WND.PaintPushWY
|
||||||
|
|
||||||
|
lda #S.CB.CMD.HLINE BOTTOM
|
||||||
|
jsr WND.PaintBorders.H
|
||||||
|
|
||||||
|
ldy #S.OBJ.X1
|
||||||
|
jsr WND.PaintPushWY
|
||||||
|
|
||||||
|
ldy #S.OBJ.Y2
|
||||||
|
jsr WND.PaintPushWY
|
||||||
|
|
||||||
|
ldy #S.OBJ.X2
|
||||||
|
jsr WND.PaintPushWY
|
||||||
|
|
||||||
|
ldy #S.OBJ.Y2
|
||||||
|
jsr WND.PaintPushWY
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
WND.PaintBorders.H
|
||||||
|
jsr PutCBBuf
|
||||||
|
lda #S.CB.OP.SET
|
||||||
|
jsr PutCBBuf
|
||||||
|
lda #S.CB.M.MONO
|
||||||
|
jsr PutCBBuf
|
||||||
|
lda PREFS.BORDERCOLOR
|
||||||
|
jmp PutCBBuf
|
||||||
|
|
||||||
|
WND.PaintPushWY lda (ZPPtr1),y
|
||||||
|
jsr PutCBBuf
|
||||||
|
iny
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
jsr PutCBBuf
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
WND.PaintTitle ldx #S.CB-1
|
||||||
|
|
||||||
|
.1 stz CB.Cache,x
|
||||||
|
dex
|
||||||
|
bpl .1
|
||||||
|
|
||||||
|
lda #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD
|
||||||
|
sta CB.Cache+S.CB.CMD
|
||||||
|
lda #S.CB.OP.SET+S.CB.OP.INVERSE
|
||||||
|
sta CB.Cache+S.CB.OP
|
||||||
|
lda #S.CB.M.MONO
|
||||||
|
sta CB.Cache+S.CB.M
|
||||||
|
lda hSYSFONB
|
||||||
|
sta CB.Cache+S.CB.hFont
|
||||||
|
|
||||||
|
ldy #S.WND.TITLE
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
sta CB.Cache+S.CB.TxtPtr
|
||||||
|
iny
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
sta CB.Cache+S.CB.TxtPtr+1
|
||||||
|
jsr GFXWrite.CB
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
|
||||||
|
.8 lda CB.Cache,x
|
||||||
|
jsr PutCBBuf
|
||||||
|
inx
|
||||||
|
cpx #S.CB
|
||||||
|
bne .8
|
||||||
|
|
||||||
|
clc
|
||||||
|
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
WND.Close clc
|
WND.Close clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -119,14 +119,21 @@ WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.
|
|||||||
bcs .9
|
bcs .9
|
||||||
sta hWND
|
sta hWND
|
||||||
|
|
||||||
|
>PUSHA
|
||||||
|
>PUSHBI S.WND.TITLE
|
||||||
|
>PUSHW L.WND.Title
|
||||||
|
>LIBCALL hLIBGUI,LIBGUI.WND.SetProp
|
||||||
|
|
||||||
* >PUSHA
|
* >PUSHA
|
||||||
* >PUSHBI S.WND.TITLE
|
* >PUSHBI S.WND.TITLE
|
||||||
* >PUSHW L.WND.Title
|
* >PUSHW L.WND.Title
|
||||||
* >LIBCALL hLIBGUI,LIBGUI.WND.SetProp
|
* >LIBCALL hLIBGUI,LIBGUI.WND.SetProp
|
||||||
|
|
||||||
|
>LIBCALL hLIBGUI,LIBGUI.HideCursor
|
||||||
lda hWND
|
lda hWND
|
||||||
>LIBCALL hLIBGUI,LIBGUI.WND.Show A = hWND
|
>LIBCALL hLIBGUI,LIBGUI.WND.Show A = hWND
|
||||||
|
|
||||||
|
>LIBCALL hLIBGUI,LIBGUI.ShowCursor
|
||||||
clc
|
clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user