diff --git a/INC/GUI.I.txt b/INC/GUI.I.txt index 2126162f..1f156936 100644 --- a/INC/GUI.I.txt +++ b/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 diff --git a/INC/LIBGUI.I.txt b/INC/LIBGUI.I.txt index 6ea34ff4..4b3721c1 100644 --- a/INC/LIBGUI.I.txt +++ b/INC/LIBGUI.I.txt @@ -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 diff --git a/LIB/LIBGUI.G.BM.txt b/LIB/LIBGUI.G.BM.txt new file mode 100644 index 00000000..6cafdb30 --- /dev/null +++ b/LIB/LIBGUI.G.BM.txt @@ -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 diff --git a/LIB/LIBGUI.G.FON.txt b/LIB/LIBGUI.G.FON.txt new file mode 100644 index 00000000..bc81c3de --- /dev/null +++ b/LIB/LIBGUI.G.FON.txt @@ -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 diff --git a/LIB/LIBGUI.G.WND.txt b/LIB/LIBGUI.G.WND.txt new file mode 100644 index 00000000..3030c8c6 --- /dev/null +++ b/LIB/LIBGUI.G.WND.txt @@ -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 diff --git a/LIB/LIBGUI.S.CLIP.txt b/LIB/LIBGUI.S.CLIP.txt index 00dcbd2a..acd4dc8d 100644 --- a/LIB/LIBGUI.S.CLIP.txt +++ b/LIB/LIBGUI.S.CLIP.txt @@ -1,7 +1,6 @@ NEW PREFIX /A2OSX.BUILD AUTO 4,1 - .LIST OFF *-------------------------------------- * CLIPPING Functions: * In: diff --git a/LIB/LIBGUI.S.FON.txt b/LIB/LIBGUI.S.FON.txt new file mode 100644 index 00000000..e7730c80 --- /dev/null +++ b/LIB/LIBGUI.S.FON.txt @@ -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 diff --git a/LIB/LIBGUI.S.MOU.txt b/LIB/LIBGUI.S.MOU.txt new file mode 100644 index 00000000..b5d5204d --- /dev/null +++ b/LIB/LIBGUI.S.MOU.txt @@ -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 diff --git a/LIB/LIBGUI.S.WND.txt b/LIB/LIBGUI.S.WND.txt index d0dffc5c..60ef356e 100644 --- a/LIB/LIBGUI.S.WND.txt +++ b/LIB/LIBGUI.S.WND.txt @@ -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 diff --git a/LIB/LIBGUI.S.txt b/LIB/LIBGUI.S.txt index 2313ec80..fa423ec3 100644 --- a/LIB/LIBGUI.S.txt +++ b/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 diff --git a/SBIN/GUI.S.txt b/SBIN/GUI.S.txt index a0e9f03b..4a7ce635 100644 --- a/SBIN/GUI.S.txt +++ b/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