mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-25 20:33:13 +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.S.ACTIVE .EQ %00000100
|
||||
S.WND.S.MAX .EQ %00001000
|
||||
S.WND.S.MIN .EQ %00010000
|
||||
S.WND.S.MAXIMIZED .EQ %00001000
|
||||
S.WND.S.MINIMIZED .EQ %00010000
|
||||
*
|
||||
S.WND.MinW .EQ S.OBJ
|
||||
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.InnerW .EQ S.OBJ+18
|
||||
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.MENUs...
|
||||
|
@ -1,7 +1,6 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
WND.TB.H .BS 1
|
||||
WND.Stack.Top .BS 1
|
||||
WND.Stack .BS WND.MAX
|
||||
*--------------------------------------
|
||||
|
@ -24,19 +24,45 @@ CLIP.Point
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CLIP.HLine
|
||||
CLIP.HLine >LDYA CB.Cache+S.CB.Y1
|
||||
>SCMPYA OBJ.Cache+S.OBJ.Y2
|
||||
bpl .9
|
||||
|
||||
>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
|
||||
rts
|
||||
|
||||
.9 sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CLIP.VLine
|
||||
CLIP.VLine >LDYA CB.Cache+S.CB.X1
|
||||
>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
|
||||
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
* OBJ.Cache = Target Context
|
||||
* CB.Cache = Src Control Block
|
||||
.9 sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CLIP.Rect jsr CB.Cache.Overlap
|
||||
bcs .9
|
||||
|
@ -58,6 +58,8 @@ 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
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
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
|
||||
*--------------------------------------
|
||||
WND.Create >LDYAI S.WND
|
||||
WND.Create ldy WND.Stack.Top
|
||||
cpy #WND.MAX
|
||||
bcs .90
|
||||
|
||||
>LDYAI S.WND
|
||||
>SYSCALL2 getmem
|
||||
bcs .9
|
||||
|
||||
@ -129,9 +135,14 @@ WND.Create >LDYAI S.WND
|
||||
sta (ZPPtr1),y
|
||||
|
||||
txa ID
|
||||
ldy WND.Stack.Top
|
||||
sta WND.Stack
|
||||
inc WND.Stack.Top
|
||||
|
||||
* clc
|
||||
rts
|
||||
|
||||
.90 lda #E.OOH
|
||||
.9 >RET 9
|
||||
*--------------------------------------
|
||||
* hWND8, Prop8, Value16
|
||||
@ -190,40 +201,33 @@ WND.Show >SYSCALL2 GetMemPtr
|
||||
stz Counter+1 Y
|
||||
|
||||
ldy #S.OBJ.F
|
||||
|
||||
lda (ZPPtr1),y
|
||||
and #S.WND.F.RESIZE+S.WND.F.BORDER
|
||||
beq .10
|
||||
beq .1
|
||||
|
||||
inc Counter 1 pixel L
|
||||
inc Counter 1 pixel R
|
||||
inc Counter+1 1 top
|
||||
inc Counter+1 1 bottom
|
||||
|
||||
lda #S.CB.CMD.HLINE
|
||||
jsr PutCBBuf
|
||||
lda #S.CB.OP.SET
|
||||
jsr PutCBBuf
|
||||
lda #S.CB.M.MONO
|
||||
jsr PutCBBuf
|
||||
lda PREFS.BORDERCOLOR
|
||||
jsr PutCBBuf
|
||||
jsr WND.PaintBorders
|
||||
|
||||
ldy #S.OBJ.X1
|
||||
|
||||
.1 lda (ZPPtr1),y
|
||||
jsr PutCBBuf
|
||||
iny
|
||||
cpy #S.OBJ.Y2+2
|
||||
bne .1
|
||||
|
||||
|
||||
.10
|
||||
.1 ldy #S.WND.TITLE+1
|
||||
lda (ZPPtr1),y
|
||||
beq .77
|
||||
|
||||
lda Counter+1
|
||||
clc
|
||||
adc SYSFON.H
|
||||
inc
|
||||
inc
|
||||
sta Counter+1
|
||||
|
||||
jsr WND.PaintTitle
|
||||
bcs .9
|
||||
|
||||
|
||||
|
||||
|
||||
lda #0
|
||||
.77 lda #0
|
||||
jsr PutCBBuf
|
||||
|
||||
>LDYA L.WND.Screen
|
||||
@ -243,6 +247,113 @@ WND.Paint >STYA ZPPtr1
|
||||
clc
|
||||
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
|
||||
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
|
||||
sta hWND
|
||||
|
||||
>PUSHA
|
||||
>PUSHBI S.WND.TITLE
|
||||
>PUSHW L.WND.Title
|
||||
>LIBCALL hLIBGUI,LIBGUI.WND.SetProp
|
||||
|
||||
* >PUSHA
|
||||
* >PUSHBI S.WND.TITLE
|
||||
* >PUSHW L.WND.Title
|
||||
* >LIBCALL hLIBGUI,LIBGUI.WND.SetProp
|
||||
|
||||
>LIBCALL hLIBGUI,LIBGUI.HideCursor
|
||||
lda hWND
|
||||
>LIBCALL hLIBGUI,LIBGUI.WND.Show A = hWND
|
||||
|
||||
>LIBCALL hLIBGUI,LIBGUI.ShowCursor
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user