From ed201af3aee95d6e3b75439960d61f9fa1fa3474 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 8 Sep 2020 17:31:41 +0200 Subject: [PATCH] Kernel 0.94 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes INC/GFX.I.txt | 4 +- INC/LIBGUI.I.txt | 25 +++--- LIB/LIBGUI.S.DRAW.txt | 3 +- LIB/LIBGUI.S.WND.txt | 163 +++++++++++++++++++++++++++++++++++++-- LIB/LIBGUI.S.txt | 42 ++++++++-- SBIN/GUI.S.txt | 68 +++++++--------- 7 files changed, 238 insertions(+), 67 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index e7ef44bf4437893e16a10dbc1d65610518ddd2d6..1ca7c67d48e6f7cd24230cc6fa4f61f0ce9ad775 100644 GIT binary patch delta 17874 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 N0j^6&@Xykx{|}VTBtZZG delta 15900 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 diff --git a/INC/GFX.I.txt b/INC/GFX.I.txt index d89bfcf8..38c7a007 100644 --- a/INC/GFX.I.txt +++ b/INC/GFX.I.txt @@ -77,8 +77,8 @@ S.CB.hFont .EQ 3 DRAWTEXT,GETTEXTSIZE S.CB.X1 .EQ 4 xPIXEL,xLINE,FILLRECT,BITBLT,GETRECTBUFSIZE,DRAWLINE S.CB.Y1 .EQ 6 xPIXEL,xLINE,FILLRECT,BITBLT,GETRECTBUFSIZE,DRAWLINE -S.CB.X2 .EQ 8 VLINE,FILLRECT,GETRECTBUFSIZE,DRAWLINE -S.CB.Y2 .EQ 10 HLINE,FILLRECT,GETRECTBUFSIZE,DRAWLINE +S.CB.X2 .EQ 8 HLINE,FILLRECT,GETRECTBUFSIZE,DRAWLINE +S.CB.Y2 .EQ 10 VLINE,FILLRECT,GETRECTBUFSIZE,DRAWLINE S.CB.SrcX .EQ 12 BITBLT,DRAWTEXT,GETTEXTSIZE S.CB.SrcY .EQ 14 BITBLT,DRAWTEXT,GETTEXTSIZE diff --git a/INC/LIBGUI.I.txt b/INC/LIBGUI.I.txt index 84fa92b5..eb44a130 100644 --- a/INC/LIBGUI.I.txt +++ b/INC/LIBGUI.I.txt @@ -9,6 +9,10 @@ LIBGUI.ShowCursor .EQ 12 LIBGUI.UpdateCursor .EQ 14 LIBGUI.ReadMouse .EQ 16 LIBGUI.GetScreenGC .EQ 18 +LIBGUI.WND.Create .EQ 20 +LIBGUI.WND.SetProp .EQ 22 +LIBGUI.WND.GetProp .EQ 24 +LIBGUI.WND.Show .EQ 26 *-------------------------------------- CUR.T.ARROW .EQ 0 CUR.T.RESIZEX .EQ 2 @@ -51,7 +55,7 @@ S.RECT .EQ 8 *-------------------------------------- S.OBJ.T .EQ 0 S.OBJ.T.WND .EQ 0 -S.OBJ.T.MENUBAR .EQ 2 +S.OBJ.T.MBAR .EQ 2 S.OBJ.T.MENU .EQ 4 S.OBJ.T.MITEM .EQ 6 S.OBJ.T.BUT .EQ 8 @@ -59,6 +63,7 @@ S.OBJ.T.TEXT .EQ 10 S.OBJ.F .EQ 1 S.OBJ.S .EQ 2 +S.OBJ.S.VISIBLE .EQ %10000000 S.OBJ.ID .EQ 3 S.OBJ.hOWNER .EQ 4 S.OBJ.hPARENT .EQ 6 @@ -82,18 +87,19 @@ S.WND.F.BORDER .EQ %00100000 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.MinW .EQ S.OBJ S.WND.MinH .EQ S.OBJ+2 -S.WND.hTITLE .EQ S.OBJ+4 -S.WND.hMENUBAR .EQ S.OBJ+6 -S.WND.hBKCOLOR .EQ S.OBJ+8 -S.WND.hBKBM .EQ S.OBJ+10 +S.WND.TITLE .EQ S.OBJ+4 +S.WND.MBAR .EQ S.OBJ+6 +S.WND.BGCOLOR .EQ S.OBJ+8 +S.WND.BGBM .EQ S.OBJ+10 S.WND.hCUR .EQ S.OBJ+12 -S.WND.hSTATUS .EQ S.OBJ+14 -S.WND.hICON .EQ S.OBJ+16 +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 * @@ -133,10 +139,7 @@ S.BUT.F.DISABLED .EQ %10000000 S.BUT.S.PUSHED .EQ %10000000 * S.BUT.hBM .EQ S.OBJ -S.BUT.TEXTX .EQ S.OBJ+2 -S.BUT.TEXTY .EQ S.OBJ+4 -S.BUT.TEXTLEN .EQ S.OBJ+6 -S.BUT.TEXT .EQ S.OBJ+8 +S.BUT.TEXT .EQ S.OBJ+2 * ... *-------------------------------------- S.TEXT.F.DISABLED .EQ %10000000 diff --git a/LIB/LIBGUI.S.DRAW.txt b/LIB/LIBGUI.S.DRAW.txt index da8015ac..30415849 100644 --- a/LIB/LIBGUI.S.DRAW.txt +++ b/LIB/LIBGUI.S.DRAW.txt @@ -3,7 +3,8 @@ NEW *-------------------------------------- Draw >PULLW ZPCBPtr Get CB >PULLYA Get GC - jsr OBJ.Get + +DrawToYA jsr OBJ.Get .1 lda (ZPCBPtr) beq .8 diff --git a/LIB/LIBGUI.S.WND.txt b/LIB/LIBGUI.S.WND.txt index 4bb2e287..31159eb6 100644 --- a/LIB/LIBGUI.S.WND.txt +++ b/LIB/LIBGUI.S.WND.txt @@ -72,23 +72,172 @@ WND.Quit lda WND.Screen+S.OBJ.hPARENT .8 clc rts *-------------------------------------- -WND.New >STYA ZPPtr1 - - >LDYAI S.WND +* F8, X116, Y116, W16, H16 +*-------------------------------------- +WND.Create >LDYAI S.WND >SYSCALL2 getmem bcs .9 - >STYA ZPWNDPtr + >STYA ZPPtr1 + + lda #S.OBJ.T.WND + sta (ZPPtr1) S.OBJ.T ldy #S.WND-1 + lda #0 -.1 lda (ZPPtr1),y - sta (ZPWNDPtr),y +.1 sta (ZPPtr1),y dey - bpl .1 + bne .1 + + >PULLA + ldy #S.OBJ.H + sta (ZPPtr1),y + >PULLA + iny + sta (ZPPtr1),y + + >PULLA + ldy #S.OBJ.W + sta (ZPPtr1),y + >PULLA + iny + sta (ZPPtr1),y + + >PULLA + ldy #S.OBJ.Y1 + sta (ZPPtr1),y + >PULLA + iny + sta (ZPPtr1),y + >PULLA + ldy #S.OBJ.X1 + sta (ZPPtr1),y + >PULLA + iny + sta (ZPPtr1),y + + >PULLA + ldy #S.OBJ.F + sta (ZPPtr1),y + + ldy #S.PS.PID + lda (pPs),y + + ldy #S.OBJ.hOWNER + sta (ZPPtr1),y + + txa ID +* clc + rts + +.9 >RET 9 +*-------------------------------------- +* hWND8, Prop8, Value16 +*-------------------------------------- +WND.SetProp ldy #3 + + lda (pStack),y hWND + + >SYSCALL2 GetMemPtr + >STYA ZPPtr1 + + ldy #2 + lda (pStack),y + + tay + + >PULLA + sta (ZPPtr1),y + + iny + >PULLA + sta (ZPPtr1),y + + >RET 2 +*-------------------------------------- +* hWND8, Prop8 +*-------------------------------------- +WND.GetProp >PULLA + pha + + >PULLA + >SYSCALL2 GetMemPtr + >STYA ZPPtr1 + + ply + + lda (ZPPtr1),y + pha + iny + lda (ZPPtr1),y + ply + + rts +*-------------------------------------- +* A = hWND +*-------------------------------------- +WND.Show >SYSCALL2 GetMemPtr + >STYA ZPPtr1 + + jsr OBJ.SetX2Y2 + + jsr GetCBBuf + bcs .9 + + stz Counter X + stz Counter+1 Y + + ldy #S.OBJ.F + + lda (ZPPtr1),y + and #S.WND.F.RESIZE+S.WND.F.BORDER + beq .10 + + 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 + + ldy #S.OBJ.X1 + +.1 lda (ZPPtr1),y + jsr PutCBBuf + iny + cpy #S.OBJ.Y2+2 + bne .1 + + +.10 + + + + + lda #0 + jsr PutCBBuf + + >LDYA L.WND.Screen + jsr DrawToYA + + lda hCBBuf + >SYSCALL FreeMem + + clc .9 rts *-------------------------------------- +WND.New clc + rts +*-------------------------------------- WND.Paint >STYA ZPPtr1 clc diff --git a/LIB/LIBGUI.S.txt b/LIB/LIBGUI.S.txt index cc4d7495..1f17aef4 100644 --- a/LIB/LIBGUI.S.txt +++ b/LIB/LIBGUI.S.txt @@ -79,6 +79,8 @@ ZPObjPtr .BS 2 ZPCBPtr .BS 2 ZPWNDPtr .BS 2 +CLIP.Line.P1 .BS 1 +CLIP.Line.P2 .BS 1 DX .BS 2 DY .BS 2 IY .BS 1 @@ -88,8 +90,9 @@ D .BS 2 INE .BS 2 Counter .BS 2 -CLIP.Line.P1 .BS 1 -CLIP.Line.P2 .BS 1 +hCBBuf .BS 1 +ZPCBBufPtr .BS 2 + .ED *-------------------------------------- * File Header (16 Bytes) @@ -116,6 +119,10 @@ CS.START cld .DA UpdateCursor .DA MOU.ReadMouse .DA GetScreenGC + .DA WND.Create + .DA WND.SetProp + .DA WND.GetProp + .DA WND.Show *-------------------------------------- J.Cmds .DA DrawLine .DA DrawText2 @@ -298,6 +305,21 @@ CB.Get >STYA .1+1 rts *-------------------------------------- +GetCBBuf >LDYAI 256 + >SYSCALL GetMem + bcs .9 + + stx hCBBuf + >STYA ZPCBPtr + >STYA ZPCBBufPtr +.9 rts +*-------------------------------------- +PutCBBuf sta (ZPCBBufPtr) + inc ZPCBBufPtr + bne .8 + inc ZPCBBufPtr+1 +.8 rts +*-------------------------------------- GFXWrite.CB >LDYA L.CB.Cache GFXWrite.YA pha @@ -341,7 +363,7 @@ hDevMouse .BS 1 *-------------------------------------- CB.CmdLen .DA #S.CB.Y1+1 SETPIXEL .DA #S.CB.Y1+1 GETPIXEL - .DA #S.CB.X2+1 HLINE + .DA #S.CB.Y2+1 HLINE .DA #S.CB.Y2+1 VLINE .DA #S.CB.Y2+1 FILLRECT .DA #S.CB.DstPtr+1 BITBLT @@ -387,11 +409,21 @@ WND.SysBar.Childs BUT.Sys .DA #S.OBJ.T.BUT .DA #0 F .DA #0 S - .DA #0 ID + .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 +MENU.Sys .DA #2 ID + .DA #0 KEYMOD + .DA #0 KEY + .AZ "About..." + .DA #0 +*-------------------------------------- +PREFS.BORDERCOLOR .DA #0 BLACK *-------------------------------------- MAN SAVE usr/src/lib/libgui.s diff --git a/SBIN/GUI.S.txt b/SBIN/GUI.S.txt index f7b34d5f..83be388f 100644 --- a/SBIN/GUI.S.txt +++ b/SBIN/GUI.S.txt @@ -43,7 +43,7 @@ CS.START cld .DA CS.QUIT L.LIBGUI .DA LIBGUI L.MouseData .DA MouseData -L.CB.Paint .DA CB.Paint +L.WND.Title .DA L.WND.Title .DA 0 *-------------------------------------- CS.INIT >LDYA L.LIBGUI @@ -58,6 +58,10 @@ CS.RUN CS.RUN.LOOP >SLEEP +* lda A2osX.ASCREEN +* cmp #8 +* bne CS.RUN.LOOP + >PUSHW L.MouseData >LIBCALL hLIBGUI,LIBGUI.ReadMouse bcs .8 @@ -69,28 +73,6 @@ CS.RUN.LOOP >SLEEP >PUSHW L.MouseData >LIBCALL hLIBGUI,LIBGUI.SetCursorPos - lda MouseData+S.MOUSE.X1 - sta CB.Paint+S.CB.X1 - clc - adc #39 - sta CB.Paint+S.CB.X2 - - lda MouseData+S.MOUSE.X1+1 - sta CB.Paint+S.CB.X1+1 - adc #0 - sta CB.Paint+S.CB.X2+1 - - lda MouseData+S.MOUSE.Y1 - sta CB.Paint+S.CB.Y1 - clc - adc #29 - sta CB.Paint+S.CB.Y2 - - lda MouseData+S.MOUSE.Y1+1 - sta CB.Paint+S.CB.Y1+1 - adc #0 - sta CB.Paint+S.CB.Y2+1 - lda MouseData+S.MOUSE.S .1 bit #S.MOUSE.S.CLK @@ -107,7 +89,7 @@ CS.RUN.LOOP >SLEEP .2 >STA.G CUR.T >LIBCALL hLIBGUI,LIBGUI.SetCursor - jsr Destop.Paint + jsr WND.Test .4 @@ -127,15 +109,26 @@ CS.DOEVENT lda (pEvent) CS.QUIT clc rts *-------------------------------------- -Destop.Paint >LIBCALL hLIBGUI,LIBGUI.HideCursor +WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.MIN + + >PUSHW MouseData+S.MOUSE.X1 + >PUSHW MouseData+S.MOUSE.Y1 + >PUSHWI 200 + >PUSHWI 100 + >LIBCALL hLIBGUI,LIBGUI.WND.Create + bcs .9 + sta hWND + +* >PUSHA +* >PUSHBI S.WND.TITLE +* >PUSHW L.WND.Title +* >LIBCALL hLIBGUI,LIBGUI.WND.SetProp - >LIBCALL hLIBGUI,LIBGUI.GetScreenGC - >PUSHYA - >PUSHW L.CB.Paint - >LIBCALL hLIBGUI,LIBGUI.Draw - - >LIBCALL hLIBGUI,LIBGUI.ShowCursor - rts + lda hWND + >LIBCALL hLIBGUI,LIBGUI.WND.Show A = hWND + + clc +.9 rts *-------------------------------------- CS.END LIBGUI .AZ "libgui" @@ -143,15 +136,8 @@ hLIBGUI .BS 1 *-------------------------------------- MouseData .BS S.MOUSE *-------------------------------------- -CB.Paint .DA #S.CB.CMD.FILLRECT - .DA #S.CB.OP.SET - .DA #S.CB.M.C16 - .DA #11 Color - .DA 540 X1 - .DA 160 Y1 - .DA 579 X2 - .DA 199 Y2 - .DA #0 +hWND .BS 1 +WND.Title .AZ "Window Title" *-------------------------------------- .DUMMY .OR 0