diff --git a/.Floppies/A2OSX.BOOT.po b/.Floppies/A2OSX.BOOT.po index afb25661..3955e38e 100644 Binary files a/.Floppies/A2OSX.BOOT.po and b/.Floppies/A2OSX.BOOT.po differ diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index ca88d1af..f53e70f8 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index 1ec9369d..47d5df2f 100644 Binary files a/.Floppies/A2OSX.SRC.po and b/.Floppies/A2OSX.SRC.po differ diff --git a/INC/GUI.I.txt b/INC/GUI.I.txt index d861e20a..2126162f 100644 --- a/INC/GUI.I.txt +++ b/INC/GUI.I.txt @@ -128,9 +128,26 @@ 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.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.MENU.T .EQ 0 S.MENU.F .EQ 1 S.MENU.hSAVEBUF .EQ 2 @@ -158,21 +175,6 @@ S.MITEM.TEXTLEN .EQ 5 S.MITEM.TEXT .EQ 6 CSTR * ... *-------------------------------------- -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.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.BUT.T .EQ 0 S.BUT.F .EQ 1 S.BUT.F.DISABLED .EQ %10000000 diff --git a/LIB/LIBGUI.S.MENU.txt b/LIB/LIBGUI.S.MENU.txt index b17e2b4e..296b6d00 100644 --- a/LIB/LIBGUI.S.MENU.txt +++ b/LIB/LIBGUI.S.MENU.txt @@ -2,7 +2,7 @@ NEW PREFIX /A2OSX.BUILD AUTO 4,1 *-------------------------------------- -PopupMenu >STYA ZPPtr1 +MENU.New >STYA ZPPtr1 lda #2 1px Border @@ -22,6 +22,54 @@ PopupMenu >STYA ZPPtr1 .1 lda (ZPPtr2) *-------------------------------------- +MENU.SysMenu +*-------------------------------------- +MENU.MenuEditor .AZ "File" + .DA #02 ID + .DA #S.MITEM.HOTKEY.CTRL + .DA #'N' + .AZ "New" + .DA #04 ID + .DA #S.MITEM.HOTKEY.CTRL + .DA #'O' + .AZ "Open..." + .DA #06 ID + .DA #S.MITEM.HOTKEY.CTRL + .DA #'S' + .AZ "Save" + .DA #08 ID + .DA #S.MITEM.HOTKEY.OA+S.MITEM.HOTKEY.CTRL + .DA #'S' + .AZ "Save As..." + .DA #10 ID + .DA #S.MITEM.HOTKEY.CTRL + .DA #'Q' + .AZ "Quit" + .DA #0 + .AZ "Edit" + .DA #12 ID + .DA #S.MITEM.HOTKEY.OA + .DA #'X' + .AZ "Cut" + .DA #14 ID + .DA #S.MITEM.HOTKEY.OA + .DA #'C' + .AZ "Copy" + .DA #16 ID + .DA #S.MITEM.HOTKEY.OA + .DA #'V' + .AZ "Paste" + .DA #0 + .AZ "Options" + .DA #18 ID + .DA #0 + .DA #0 + .AZ "Check Me" + + + .DA #0 + .DA #0 +*-------------------------------------- MAN SAVE /A2OSX.SRC/LIB/LIBGUI.S.MENU LOAD /A2OSX.SRC/LIB/LIBGUI.S diff --git a/SBIN/GUI.S.txt b/SBIN/GUI.S.txt index 364cd30e..a0e9f03b 100644 --- a/SBIN/GUI.S.txt +++ b/SBIN/GUI.S.txt @@ -222,7 +222,7 @@ CB.Paint .DA #S.CB.CMD.FILLRECT *-------------------------------------- CB.DrawTextB .DA #S.CB.CMD.DRAWTEXT .DA #S.CB.OP.SET OP - .DA #0 M + .DA #255 M .BS 1 hFont .DA 0 X1 .DA 0 Y1 @@ -285,9 +285,9 @@ BM.Apple .DA #S.BM.F.BBP4 .HS 9999 violet (11) .HS 1FF1 Dark blue (4) *-------------------------------------- -TXT.SampleB .AZ "A2osX: A Sample Text with SYSX7B.FON Height=7px, Variable Width {}[] #0123456789$ " -TXT.Sample .AZ "XXXXXXXX: SYSX7.FON Height=7px, Variable Width @@ /\ () {}[] #0123456789$ " -TXT.A2osX .AZ "XXXXXXXXXXXXXXXXX" +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 diff --git a/SYS/KERNEL.S.OSD.txt b/SYS/KERNEL.S.OSD.txt index aa0564d0..fab61c30 100644 --- a/SYS/KERNEL.S.OSD.txt +++ b/SYS/KERNEL.S.OSD.txt @@ -321,8 +321,8 @@ DRAWTEXT.SHIFT0 lda FON.Cache+S.FON.PixH ldy GWORD get col index in BM .7 jsr CHAR.GetNext - eor CB.Cache+S.CB.M - + + eor (ZPTmpPtr),y sta (ZPTmpPtr),y iny @@ -350,30 +350,31 @@ DRAWTEXT.SHIFT1 lda FON.Cache+S.FON.PixH ldy GWORD get col index in BM .2 jsr CHAR.GetNext - eor CB.Cache+S.CB.M asl 8th bit in ->carry eor (ZPTmpPtr),y sta (ZPTmpPtr),y iny + + bcc .3 - lda #0 - rol + lda #1 + eor (ZPTmpPtr),y sta (ZPTmpPtr),y - dex +.3 dex bne .2 lda ZPTmpPtr Next line... clc adc DstBM.Cache+S.BM.RowBytes sta ZPTmpPtr - bcc .3 + bcc .4 inc ZPTmpPtr+1 -.3 pla get back Height counter +.4 pla get back Height counter dec bne .1 rts @@ -401,7 +402,6 @@ DRAWTEXT.SHIFT26 .2 pha save Width counter jsr CHAR.GetNext - eor CB.Cache+S.CB.M pha and First.Masks,x x = 2->6, for X=3 : A=000xxxxx @@ -423,6 +423,7 @@ DRAWTEXT.SHIFT26 .4 lda $FFFF,y SELF MODIFIED ldy ColIndex get col index in BM + eor (ZPTmpPtr),y sta (ZPTmpPtr),y pla get back Witdh counter @@ -450,19 +451,22 @@ DRAWTEXT.SHIFT7 lda FON.Cache+S.FON.PixH ldy GWORD get col index in BM .2 jsr CHAR.GetNext - eor CB.Cache+S.CB.M lsr 1st bit in carry, for COL 1 + bcc .3 + pha Other 7 bits for COL 2 - lda #0 - ror get back 1st bit, -> for bit 8 + lda #$80 eor (ZPTmpPtr),y sta (ZPTmpPtr),y - iny pla get back bit 1->8 already shifted Left 7 (= Shift right 1) + +.3 iny + + eor (ZPTmpPtr),y sta (ZPTmpPtr),y dex @@ -472,11 +476,11 @@ DRAWTEXT.SHIFT7 lda FON.Cache+S.FON.PixH clc adc DstBM.Cache+S.BM.RowBytes sta ZPTmpPtr - bcc .3 + bcc .4 inc ZPTmpPtr+1 -.3 pla get back Height counter +.4 pla get back Height counter dec bne .1 rts @@ -546,9 +550,16 @@ BM.Create lda DstBM.Cache+S.BM.W >LDYA DstBM.Cache+S.BM.H ldx DstBM.Cache+S.BM.RowBytes - jsr YAMultX + jsr YAMultX Compute BM total bytes pha + + eor #$ff + sta ZPTmpPtr+1 + tya + eor #$ff + sta ZPTmpPtr + tya clc adc #S.BM @@ -571,9 +582,26 @@ BM.Create lda DstBM.Cache+S.BM.W * clc adc #S.BM sta ZPDstBMPtr - bcc .8 + sta .4+1 - inc ZPDstBMPtr+1 + lda ZPDstBMPtr+1 + adc /S.BM + sta ZPDstBMPtr+1 + sta .4+2 + + lda CB.Cache+S.CB.M Get Background color + ldy #0 + +.3 inc ZPTmpPtr + bne .4 + inc ZPTmpPtr+1 + beq .8 + +.4 sta $ffff,y + iny + bne .3 + inc .4+2 + bra .3 .8 txa hBM