diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 0f0d64cd..134096aa 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/LIB/LIBGUI.G.BM.txt b/LIB/LIBGUI.G.BM.txt index 0616bbd1..abc9adc0 100644 --- a/LIB/LIBGUI.G.BM.txt +++ b/LIB/LIBGUI.G.BM.txt @@ -6,6 +6,7 @@ BM.Apple .DA #S.BM.F.BBP4 .DA 16 W .DA 7 H .DA BM.Apple.AND-BM.Apple + .HS 0006 green (8) .HS 6006 green (8) .HS EEEE yellow (15) @@ -13,6 +14,7 @@ BM.Apple .DA #S.BM.F.BBP4 .HS 8808 magenta (10) .HS 9999 violet (11) .HS 1001 Dark blue (4) + BM.Apple.AND .HS FFF0 .HS 0FF0 .HS 0000 @@ -21,44 +23,71 @@ BM.Apple.AND .HS FFF0 .HS 0000 .HS 0FF0 *-------------------------------------- -BM.Close .DA #S.BM.F.BBP1 - .DA #1 RowBytes - .DA 7 W +BM.Close .DA #S.BM.F.BBP4 + .DA #2 RowBytes + .DA 12 W .DA 7 Y - .DA 0 no MASK.OFS - .DA #%01000000 - .DA #%01000000 - .DA #%01010100 - .DA #%01001000 - .DA #%01010100 - .DA #%01000000 - .DA #%01000000 + .DA BM.Close.AND-BM.Close + + .HS 0000 + .HS 0000 + .HS E000 + .HS EE0E + .HS E000 + .HS 0000 + .HS 0000 + +BM.Close.AND .HS FF0F + .HS 0F0F + .HS 0000 + .HS 0000 + .HS 0000 + .HS 0F0F + .HS FF0F *-------------------------------------- -BM.Max .DA #S.BM.F.BBP1 - .DA #1 RowBytes - .DA 7 W +BM.Max .DA #S.BM.F.BBP4 + .DA #2 RowBytes + .DA 12 W .DA 7 Y - .DA 0 no MASK.OFS - .DA #%01000000 - .DA #%01011110 - .DA #%01011110 - .DA #%01010010 - .DA #%01010010 - .DA #%01011110 - .DA #%01000000 + .DA BM.Max.AND-BM.Max + + .HS 0000 + .HS 0000 + .HS FF0F + .HS 0F0F + .HS FF0F + .HS F50F + .HS 0000 + +BM.Max.AND .HS FF0F + .HS 0000 + .HS 0000 + .HS 0000 + .HS 0000 + .HS 0000 + .HS FF0F *-------------------------------------- -BM.Min .DA #S.BM.F.BBP1 - .DA #1 RowBytes - .DA 7 W +BM.Min .DA #S.BM.F.BBP4 + .DA #2 RowBytes + .DA 12 W .DA 7 Y - .DA 0 no MASK.OFS - .DA #%01000000 - .DA #%01000000 - .DA #%01000000 - .DA #%01000000 - .DA #%01000000 - .DA #%01011110 - .DA #%01000000 + .DA BM.Min.AND-BM.Min + + .HS 0000 + .HS 5505 + .HS AA0A + .HS 5505 + .HS AA0A + .HS F50F + .HS 0000 + +BM.Min.AND .HS FF0F + .HS 0000 + .HS 0000 + .HS 0000 + .HS 0000 + .HS 0000 + .HS FF0F *-------------------------------------- MAN SAVE usr/src/lib/libgui.g.bm diff --git a/LIB/LIBGUI.S.DRAW.txt b/LIB/LIBGUI.S.DRAW.txt index 54274296..30415849 100644 --- a/LIB/LIBGUI.S.DRAW.txt +++ b/LIB/LIBGUI.S.DRAW.txt @@ -12,8 +12,8 @@ DrawToYA jsr OBJ.Get >LDYA ZPCBPtr jsr CB.Get -* jsr CLIP.CB.Cache -* bcs .7 + jsr CLIP.CB.Cache + bcs .7 ldx CB.Cache+S.CB.CMD cpx #S.CB.CMD.DRAWLINE diff --git a/LIB/LIBGUI.S.WND.txt b/LIB/LIBGUI.S.WND.txt index 249638f3..f5809c7b 100644 --- a/LIB/LIBGUI.S.WND.txt +++ b/LIB/LIBGUI.S.WND.txt @@ -119,6 +119,7 @@ WND.Create ldy WND.Stack.Top >PULLA ldy #S.OBJ.X1 + and PREFS.BESTVIEWEDX sta (ZPPtr1),y >PULLA iny @@ -205,11 +206,6 @@ WND.Show >SYSCALL2 GetMemPtr and #S.WND.F.RESIZE+S.WND.F.BORDER beq .1 - inc Counter 1 pixel L - inc Counter 1 pixel R - inc Counter+1 1 top - inc Counter+1 1 bottom - jsr WND.PaintBorders .1 ldy #S.WND.TITLE+1 @@ -260,53 +256,61 @@ WND.PaintBorders jsr WND.PaintBorders.H ldy #S.OBJ.X1 + jsr WND.PaintPushWYm1 -.1 lda (ZPPtr1),y - jsr PutCBBuf - iny - cpy #S.OBJ.Y2+2 - bne .1 + ldy #S.OBJ.Y1 + jsr WND.PaintPushWYm1 + + ldy #S.OBJ.X2 + jsr WND.PaintPushWYp1 + + ldy #S.OBJ.Y1 + jsr WND.PaintPushWYm1 lda #S.CB.CMD.VLINE LEFT jsr WND.PaintBorders.H ldy #S.OBJ.X1 + jsr WND.PaintPushWYm1 -.2 lda (ZPPtr1),y - jsr PutCBBuf - iny - cpy #S.OBJ.Y2+2 - bne .2 + ldy #S.OBJ.Y1 + jsr WND.PaintPushWYm1 + + ldy #S.OBJ.X1 + jsr WND.PaintPushWYm1 + + ldy #S.OBJ.Y2 + jsr WND.PaintPushWYp1 lda #S.CB.CMD.VLINE RIGHT jsr WND.PaintBorders.H ldy #S.OBJ.X2 - jsr WND.PaintPushWY + jsr WND.PaintPushWYp1 ldy #S.OBJ.Y1 - jsr WND.PaintPushWY + jsr WND.PaintPushWYm1 ldy #S.OBJ.X2 - jsr WND.PaintPushWY + jsr WND.PaintPushWYp1 ldy #S.OBJ.Y2 - jsr WND.PaintPushWY + jsr WND.PaintPushWYp1 lda #S.CB.CMD.HLINE BOTTOM jsr WND.PaintBorders.H ldy #S.OBJ.X1 - jsr WND.PaintPushWY + jsr WND.PaintPushWYm1 ldy #S.OBJ.Y2 - jsr WND.PaintPushWY + jsr WND.PaintPushWYp1 ldy #S.OBJ.X2 - jsr WND.PaintPushWY + jsr WND.PaintPushWYp1 ldy #S.OBJ.Y2 - jsr WND.PaintPushWY + jsr WND.PaintPushWYp1 rts @@ -319,10 +323,25 @@ WND.PaintBorders.H lda PREFS.BORDERCOLOR jmp PutCBBuf -WND.PaintPushWY lda (ZPPtr1),y +WND.PaintPushWYm1 + lda (ZPPtr1),y + sec + sbc #1 jsr PutCBBuf iny lda (ZPPtr1),y + sbc #0 + jsr PutCBBuf + rts + +WND.PaintPushWYp1 + lda (ZPPtr1),y + clc + adc #1 + jsr PutCBBuf + iny + adc #0 + lda (ZPPtr1),y jsr PutCBBuf rts *-------------------------------------- @@ -335,6 +354,37 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT lda PREFS.TOBARCOLOR jsr PutCBBuf + ldy #S.OBJ.X1 + lda (ZPPtr1),y + jsr PutCBBuf + iny + lda (ZPPtr1),y + jsr PutCBBuf + + iny ldy #S.OBJ.Y1 + lda (ZPPtr1),y + jsr PutCBBuf + iny + lda (ZPPtr1),y + jsr PutCBBuf + + iny ldy #S.OBJ.X2 + lda (ZPPtr1),y + jsr PutCBBuf + iny + lda (ZPPtr1),y + jsr PutCBBuf + + ldy #S.OBJ.Y1 + lda (ZPPtr1),y + sec + adc SYSFON.H + jsr PutCBBuf + iny + lda (ZPPtr1),y + adc #0 + jsr PutCBBuf +* TOP LEFT ICON ldy #S.WND.ICON+1 lda (ZPPtr1),y tax @@ -351,16 +401,92 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT .2 sta ZPObjPtr stx ZPObjPtr+1 - lda #1 + lda #0 ldx #0 jsr WND.PaintTopBarBMAtAX -* jsr WND.PaintTopBarTitle -* bcs .9 + jsr WND.PaintTopBarTitle + bcs .9 +* TOP RIGHT ICONS + ldy #S.OBJ.F + lda (ZPPtr1),y + bit #S.WND.F.CLOSE + beq .3 + + pha + + lda L.BM.Close + ldx L.BM.Close+1 + sta ZPObjPtr + stx ZPObjPtr+1 + + ldy #S.OBJ.W + lda (ZPPtr1),y + sec + sbc #16 + pha + iny + lda (ZPPtr1),y + sbc #0 + + tax + pla + + jsr WND.PaintTopBarBMAtAX + + pla + +.3 bit #S.WND.F.MIN + beq .4 + + pha + + lda L.BM.Min + ldx L.BM.Min+1 + sta ZPObjPtr + stx ZPObjPtr+1 + + ldy #S.OBJ.W + lda (ZPPtr1),y + sec + sbc #32 + pha + iny + lda (ZPPtr1),y + sbc #0 + + tax + pla + + jsr WND.PaintTopBarBMAtAX + + pla + +.4 bit #S.WND.F.MAX + beq .8 + + lda L.BM.Max + ldx L.BM.Max+1 + sta ZPObjPtr + stx ZPObjPtr+1 + + ldy #S.OBJ.W + lda (ZPPtr1),y + sec + sbc #48 + pha + iny + lda (ZPPtr1),y + sbc #0 + + tax + pla + + jsr WND.PaintTopBarBMAtAX - clc +.8 clc .9 rts *-------------------------------------- @@ -387,10 +513,10 @@ WND.PaintTopBarBMAtAX lda #0 jsr PutCBBuf - pla X1 + pla S.CB.X1 jsr PutCBBufAX - ldy #S.OBJ.Y1 + ldy #S.OBJ.Y1 S.CB.Y1 lda (ZPPtr1),y clc adc #1 @@ -417,7 +543,7 @@ WND.PaintTopBarBMAtAX ldy #S.BM.W -.1 lda (ZPObjPtr),y +.1 lda (ZPObjPtr),y S.CB.SrcW,S.CB.SrcH jsr PutCBBuf iny dex @@ -436,46 +562,6 @@ WND.PaintTopBarBMAtAX rts *-------------------------------------- WND.PaintTopBarTitle - ldy #S.OBJ.X1 - lda (ZPPtr1),y - clc - adc #1 - jsr PutCBBuf - iny - lda (ZPPtr1),y - adc #0 - jsr PutCBBuf - - iny ldy #S.OBJ.Y1 - lda (ZPPtr1),y - clc - adc #1 - jsr PutCBBuf - iny - lda (ZPPtr1),y - adc #0 - jsr PutCBBuf - - iny ldy #S.OBJ.X2 - lda (ZPPtr1),y - sec - sbc #1 - jsr PutCBBuf - iny - lda (ZPPtr1),y - sbc #0 - jsr PutCBBuf - - ldy #S.OBJ.Y1 - lda (ZPPtr1),y - clc - adc SYSFON.H2 - jsr PutCBBuf - iny - lda (ZPPtr1),y - adc #0 - jsr PutCBBuf - jsr CB.Clear lda #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD @@ -497,21 +583,36 @@ WND.PaintTopBarTitle jsr GFXWrite.CB bcs .9 - ldy #S.OBJ.X1 + ldy #S.OBJ.W lda (ZPPtr1),y - clc - adc #17 - sta CB.Cache+S.CB.X1 + sec + sbc CB.Cache+S.CB.SrcW + + sta DX + iny lda (ZPPtr1),y - adc #0 - sta CB.Cache+S.CB.X1+1 - - ldy #S.OBJ.Y1 + sbc CB.Cache+S.CB.SrcW+1 + lsr + ror DX + sta DX+1 + + ldy #S.OBJ.X1 lda (ZPPtr1),y clc - adc #2 + adc DX + sta CB.Cache+S.CB.X1 + + iny + lda (ZPPtr1),y + adc DX+1 + sta CB.Cache+S.CB.X1+1 + + ldy #S.OBJ.Y1 + lda (ZPPtr1),y + clc + adc #1 sta CB.Cache+S.CB.Y1 iny lda (ZPPtr1),y diff --git a/LIB/LIBGUI.S.txt b/LIB/LIBGUI.S.txt index c082cdc1..23b2428b 100644 --- a/LIB/LIBGUI.S.txt +++ b/LIB/LIBGUI.S.txt @@ -171,9 +171,9 @@ L.WND.Desktop .DA WND.Desktop L.WND.SysBar .DA WND.SysBar *-------------------------------------- L.BM.Apple .DA BM.Apple - .DA BM.Close - .DA BM.Max - .DA BM.Min +L.BM.Close .DA BM.Close +L.BM.Max .DA BM.Max +L.BM.Min .DA BM.Min *-------------------------------------- L.CUR.CB .DA CUR.CB L.CUR.SaveBuf .DA CUR.SaveBuf @@ -438,6 +438,7 @@ MENU.Sys .DA #2 ID .AZ "About..." .DA #0 *-------------------------------------- +PREFS.BESTVIEWEDX .DA #$FC PREFS.BORDERCOLOR .DA #0 BLACK PREFS.TOBARCOLOR .DA #C16.D.BLUE *-------------------------------------- diff --git a/SBIN/GUI.S.txt b/SBIN/GUI.S.txt index 3cdeac1c..e172e69e 100644 --- a/SBIN/GUI.S.txt +++ b/SBIN/GUI.S.txt @@ -115,7 +115,7 @@ WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F. >PUSHW MouseData+S.MOUSE.X1 >PUSHW MouseData+S.MOUSE.Y1 - >PUSHWI 240 + >PUSHWI 280 >PUSHWI 90 >LIBCALL hLIBGUI,LIBGUI.WND.Create bcs CS.QUIT.RTS