diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index daf25714..7dfee22b 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/INC/LIBGUI.I.txt b/INC/LIBGUI.I.txt index 14ddb0e8..a8d60b8d 100644 --- a/INC/LIBGUI.I.txt +++ b/INC/LIBGUI.I.txt @@ -14,6 +14,7 @@ LIBGUI.WND.SetProp .EQ 22 LIBGUI.WND.GetProp .EQ 24 LIBGUI.WND.Show .EQ 26 *-------------------------------------- +C.BLACK .EQ 0 C16.D.BLUE .EQ 1 C16.D.GREEN .EQ 2 C16.M.BLUE .EQ 3 @@ -28,6 +29,7 @@ C16.L.BLUE .EQ 11 C16.ORANGE .EQ 12 C16.PINK .EQ 13 C16.YELLOW .EQ 14 +C.WHITE .EQ 255 *-------------------------------------- CUR.T.ARROW .EQ 0 CUR.T.RESIZEX .EQ 2 @@ -103,7 +105,7 @@ S.WND.F.MODAL .EQ %01000000 S.WND.F.SYSMODAL .EQ %10000000 * S.WND.S.HASTOPBAR .EQ %00000001 -S.WND.S.HASMENU .EQ %00000010 +S.WND.S.HASMENUBAR .EQ %00000010 S.WND.S.HASSTATUSBAR .EQ %00000100 S.WND.S.MAXIMIZED .EQ %00001000 S.WND.S.MINIMIZED .EQ %00010000 @@ -112,7 +114,7 @@ S.WND.S.ACTIVE .EQ %01000000 S.WND.MinW .EQ S.OBJ S.WND.MinH .EQ S.OBJ+2 S.WND.TITLE .EQ S.OBJ+4 -S.WND.MBAR .EQ S.OBJ+6 +S.WND.MENUBAR .EQ S.OBJ+6 S.WND.STATUS .EQ S.OBJ+8 S.WND.ICON .EQ S.OBJ+10 S.WND.BGCOLOR .EQ S.OBJ+12 diff --git a/LIB/LIBGUI.G.BM.txt b/LIB/LIBGUI.G.BM.txt index abc9adc0..109b4a09 100644 --- a/LIB/LIBGUI.G.BM.txt +++ b/LIB/LIBGUI.G.BM.txt @@ -53,18 +53,18 @@ BM.Max .DA #S.BM.F.BBP4 .HS 0000 .HS 0000 - .HS FF0F - .HS 0F0F - .HS FF0F - .HS F50F + .HS E000 + .HS EE0E + .HS 0E0E + .HS 0000 .HS 0000 BM.Max.AND .HS FF0F + .HS FF0F + .HS 0F0F .HS 0000 - .HS 0000 - .HS 0000 - .HS 0000 - .HS 0000 + .HS F000 + .HS FF0F .HS FF0F *-------------------------------------- BM.Min .DA #S.BM.F.BBP4 @@ -74,19 +74,19 @@ BM.Min .DA #S.BM.F.BBP4 .DA BM.Min.AND-BM.Min .HS 0000 - .HS 5505 - .HS AA0A - .HS 5505 - .HS AA0A - .HS F50F + .HS 0000 + .HS 0E0E + .HS EE0E + .HS E000 + .HS 0000 .HS 0000 BM.Min.AND .HS FF0F + .HS 0F0F + .HS F000 .HS 0000 - .HS 0000 - .HS 0000 - .HS 0000 - .HS 0000 + .HS 0F0F + .HS 0F0F .HS FF0F *-------------------------------------- MAN diff --git a/LIB/LIBGUI.G.FON.txt b/LIB/LIBGUI.G.FON.txt index 2d76a535..61ed4db7 100644 --- a/LIB/LIBGUI.G.FON.txt +++ b/LIB/LIBGUI.G.FON.txt @@ -4,7 +4,8 @@ NEW hSYSFON .BS 1 hSYSFONB .BS 1 SYSFON.H .BS 1 -SYSFON.H2 .BS 1 +SYSFON.Hp2 .BS 1 +SYSFON.Hm1 .BS 1 *-------------------------------------- MAN SAVE usr/src/lib/libgui.g.fon diff --git a/LIB/LIBGUI.S.FON.txt b/LIB/LIBGUI.S.FON.txt index ad8bc2ab..33218639 100644 --- a/LIB/LIBGUI.S.FON.txt +++ b/LIB/LIBGUI.S.FON.txt @@ -16,10 +16,13 @@ FON.Init >LDYA L.SYSX7 * ldy #S.FON.PixH * >SYSCALL2 GetStkObjProp lda #7 + dec + sta SYSFON.Hm1 + inc sta SYSFON.H inc inc - sta SYSFON.H2 + sta SYSFON.Hp2 .9 rts *-------------------------------------- diff --git a/LIB/LIBGUI.S.MENU.txt b/LIB/LIBGUI.S.MENU.txt index 04cf2bc6..64aad8ad 100644 --- a/LIB/LIBGUI.S.MENU.txt +++ b/LIB/LIBGUI.S.MENU.txt @@ -16,6 +16,15 @@ MENU.New >STYA ZPPtr1 MENU.Paint MENU.Close *-------------------------------------- +MENU.MenubarInit + >STYA ZPPtr1 + + + + + clc + rts +*-------------------------------------- MENUBAR.New MENUBAR.Paint MENUBAR.Close diff --git a/LIB/LIBGUI.S.WND.txt b/LIB/LIBGUI.S.WND.txt index 243d5935..d4ee1141 100644 --- a/LIB/LIBGUI.S.WND.txt +++ b/LIB/LIBGUI.S.WND.txt @@ -84,56 +84,56 @@ WND.Create ldy WND.Stack.Top >SYSCALL2 getmem bcs .9 - >STYA ZPPtr1 + >STYA ZPWNDPtr lda #S.OBJ.T.WND - sta (ZPPtr1) S.OBJ.T + sta (ZPWNDPtr) S.OBJ.T ldy #S.WND-1 lda #0 -.1 sta (ZPPtr1),y +.1 sta (ZPWNDPtr),y dey bne .1 >PULLA ldy #S.OBJ.H - sta (ZPPtr1),y + sta (ZPWNDPtr),y >PULLA iny - sta (ZPPtr1),y + sta (ZPWNDPtr),y >PULLA ldy #S.OBJ.W - sta (ZPPtr1),y + sta (ZPWNDPtr),y >PULLA iny - sta (ZPPtr1),y + sta (ZPWNDPtr),y >PULLA ldy #S.OBJ.Y1 - sta (ZPPtr1),y + sta (ZPWNDPtr),y >PULLA iny - sta (ZPPtr1),y + sta (ZPWNDPtr),y >PULLA ldy #S.OBJ.X1 and PREFS.BESTVIEWEDX - sta (ZPPtr1),y + sta (ZPWNDPtr),y >PULLA iny - sta (ZPPtr1),y + sta (ZPWNDPtr),y >PULLA ldy #S.OBJ.F - sta (ZPPtr1),y + sta (ZPWNDPtr),y ldy #S.PS.PID lda (pPs),y ldy #S.OBJ.hOWNER - sta (ZPPtr1),y + sta (ZPWNDPtr),y txa ID ldy WND.Stack.Top @@ -153,7 +153,7 @@ WND.SetProp ldy #3 lda (pStack),y hWND >SYSCALL2 GetMemPtr - >STYA ZPPtr1 + >STYA ZPWNDPtr ldy #2 lda (pStack),y @@ -161,11 +161,11 @@ WND.SetProp ldy #3 tay >PULLA - sta (ZPPtr1),y + sta (ZPWNDPtr),y iny >PULLA - sta (ZPPtr1),y + sta (ZPWNDPtr),y >RET 2 *-------------------------------------- @@ -176,14 +176,14 @@ WND.GetProp >PULLA >PULLA >SYSCALL2 GetMemPtr - >STYA ZPPtr1 + >STYA ZPWNDPtr ply - lda (ZPPtr1),y + lda (ZPWNDPtr),y pha iny - lda (ZPPtr1),y + lda (ZPWNDPtr),y ply rts @@ -191,7 +191,7 @@ WND.GetProp >PULLA * A = hWND *-------------------------------------- WND.Show >SYSCALL2 GetMemPtr - >STYA ZPPtr1 + >STYA ZPWNDPtr jsr OBJ.SetX2Y2 @@ -202,24 +202,24 @@ WND.Show >SYSCALL2 GetMemPtr stz Counter+1 Y ldy #S.OBJ.F - lda (ZPPtr1),y + lda (ZPWNDPtr),y and #S.WND.F.RESIZE+S.WND.F.BORDER beq .1 jsr WND.PaintBorders .1 ldy #S.WND.TITLE+1 - lda (ZPPtr1),y + lda (ZPWNDPtr),y bne .2 ldy #S.OBJ.S - lda (ZPPtr1),y + lda (ZPWNDPtr),y and #S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MIN+S.WND.F.MAX beq .3 .2 lda Counter+1 clc - adc SYSFON.H2 + adc SYSFON.Hp2 sta Counter+1 lda #S.WND.S.HASTOPBAR @@ -228,22 +228,36 @@ WND.Show >SYSCALL2 GetMemPtr jsr WND.PaintTopBar bcs .9 -.3 - +.3 ldy #S.WND.MENUBAR+1 + lda (ZPWNDPtr),y + beq .7 + + lda Counter+1 + clc + adc SYSFON.Hp2 + sta Counter+1 + + lda #S.WND.S.HASMENUBAR + jsr WND.SetStatus + + jsr WND.PaintMenuBar .7 ldy #S.WND.STATUS+1 - lda (ZPPtr1),y + lda (ZPWNDPtr),y beq .8 lda Counter+1 clc - adc SYSFON.H2 + adc SYSFON.Hp2 sta Counter+1 + lda #S.WND.S.HASSTATUSBAR + jsr WND.SetStatus + jsr WND.PaintStatusBar .8 lda #0 - jsr PutCBBuf + jsr PutA2CBBuf >LDYA L.WND.Screen jsr DrawToYA @@ -257,7 +271,7 @@ WND.Show >SYSCALL2 GetMemPtr WND.New clc rts *-------------------------------------- -WND.Paint >STYA ZPPtr1 +WND.Paint >STYA ZPWNDPtr clc rts @@ -326,88 +340,98 @@ WND.PaintBorders rts WND.PaintBorders.H - jsr PutCBBuf + jsr PutA2CBBuf lda #S.CB.OP.SET - jsr PutCBBuf + jsr PutA2CBBuf lda #S.CB.M.MONO - jsr PutCBBuf + jsr PutA2CBBuf lda PREFS.BORDERCOLOR - jmp PutCBBuf + jmp PutA2CBBuf WND.PaintPushWYm1 - lda (ZPPtr1),y + lda (ZPWNDPtr),y sec sbc #1 - jsr PutCBBuf + jsr PutA2CBBuf iny - lda (ZPPtr1),y + lda (ZPWNDPtr),y sbc #0 - jsr PutCBBuf + jsr PutA2CBBuf rts WND.PaintPushWYp1 - lda (ZPPtr1),y + lda (ZPWNDPtr),y clc adc #1 - jsr PutCBBuf + jsr PutA2CBBuf iny adc #0 - lda (ZPPtr1),y - jsr PutCBBuf + lda (ZPWNDPtr),y + jsr PutA2CBBuf rts *-------------------------------------- WND.PaintTopBar lda #S.CB.CMD.FILLRECT - jsr PutCBBuf + jsr PutA2CBBuf lda #S.CB.OP.SET - jsr PutCBBuf + jsr PutA2CBBuf lda #S.CB.M.C16 - jsr PutCBBuf - lda PREFS.TOPBARCOLOR - jsr PutCBBuf + jsr PutA2CBBuf + + ldx PREFS.TOPBARCOLORI + + ldy #S.OBJ.S + lda (ZPWNDPtr),y + and #S.WND.S.ACTIVE + beq .10 + + ldx PREFS.TOPBARCOLORA + +.10 txa + jsr PutA2CBBuf ldy #S.OBJ.X1 - lda (ZPPtr1),y - jsr PutCBBuf + lda (ZPWNDPtr),y + jsr PutA2CBBuf iny - lda (ZPPtr1),y - jsr PutCBBuf + lda (ZPWNDPtr),y + jsr PutA2CBBuf iny ldy #S.OBJ.Y1 - lda (ZPPtr1),y - jsr PutCBBuf + lda (ZPWNDPtr),y + jsr PutA2CBBuf iny - lda (ZPPtr1),y - jsr PutCBBuf + lda (ZPWNDPtr),y + jsr PutA2CBBuf iny ldy #S.OBJ.X2 - lda (ZPPtr1),y - jsr PutCBBuf + lda (ZPWNDPtr),y + jsr PutA2CBBuf iny - lda (ZPPtr1),y - jsr PutCBBuf + lda (ZPWNDPtr),y + jsr PutA2CBBuf ldy #S.OBJ.Y1 - lda (ZPPtr1),y + lda (ZPWNDPtr),y sec adc SYSFON.H - jsr PutCBBuf + jsr PutA2CBBuf iny - lda (ZPPtr1),y + lda (ZPWNDPtr),y adc #0 - jsr PutCBBuf + jsr PutA2CBBuf * TOP LEFT ICON ldy #S.WND.ICON+1 - lda (ZPPtr1),y + lda (ZPWNDPtr),y tax dey - ora (ZPPtr1),y + ora (ZPWNDPtr),y bne .1 lda L.BM.Apple ldx L.BM.Apple+1 bra .2 -.1 lda (ZPPtr1),y +.1 lda (ZPWNDPtr),y .2 sta ZPObjPtr stx ZPObjPtr+1 @@ -421,7 +445,7 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT bcs .9 * TOP RIGHT ICONS ldy #S.OBJ.F - lda (ZPPtr1),y + lda (ZPWNDPtr),y bit #S.WND.F.CLOSE beq .3 @@ -433,12 +457,12 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT stx ZPObjPtr+1 ldy #S.OBJ.W - lda (ZPPtr1),y + lda (ZPWNDPtr),y sec sbc #16 pha iny - lda (ZPPtr1),y + lda (ZPWNDPtr),y sbc #0 tax @@ -459,12 +483,12 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT stx ZPObjPtr+1 ldy #S.OBJ.W - lda (ZPPtr1),y + lda (ZPWNDPtr),y sec sbc #32 pha iny - lda (ZPPtr1),y + lda (ZPWNDPtr),y sbc #0 tax @@ -483,12 +507,12 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT stx ZPObjPtr+1 ldy #S.OBJ.W - lda (ZPPtr1),y + lda (ZPWNDPtr),y sec sbc #48 pha iny - lda (ZPPtr1),y + lda (ZPWNDPtr),y sbc #0 tax @@ -504,71 +528,71 @@ WND.PaintTopBar lda #S.CB.CMD.FILLRECT WND.PaintTopBarBMAtAX clc ldy #S.OBJ.X1 - adc (ZPPtr1),y + adc (ZPWNDPtr),y pha iny txa - adc (ZPPtr1),y + adc (ZPWNDPtr),y tax lda #S.CB.CMD.BITBLT - jsr PutCBBuf + jsr PutA2CBBuf lda #S.CB.OP.MASK+S.CB.OP.ORA+S.CB.OP.COLOR - jsr PutCBBuf + jsr PutA2CBBuf lda #S.CB.M.C16 - jsr PutCBBuf + jsr PutA2CBBuf lda #0 - jsr PutCBBuf + jsr PutA2CBBuf pla S.CB.X1 - jsr PutCBBufAX + jsr PutAX2CBBuf ldy #S.OBJ.Y1 S.CB.Y1 - lda (ZPPtr1),y + lda (ZPWNDPtr),y clc adc #1 - jsr PutCBBuf + jsr PutA2CBBuf iny - lda (ZPPtr1),y + lda (ZPWNDPtr),y adc #0 - jsr PutCBBuf + jsr PutA2CBBuf lda #0 S.CB.X2 - jsr PutCBBuf - jsr PutCBBuf + jsr PutA2CBBuf + jsr PutA2CBBuf - jsr PutCBBuf S.CB.Y2 - jsr PutCBBuf + jsr PutA2CBBuf S.CB.Y2 + jsr PutA2CBBuf - jsr PutCBBuf S.CB.SrcX - jsr PutCBBuf + jsr PutA2CBBuf S.CB.SrcX + jsr PutA2CBBuf - jsr PutCBBuf S.CB.SrcY - jsr PutCBBuf + jsr PutA2CBBuf S.CB.SrcY + jsr PutA2CBBuf ldx #4 ldy #S.BM.W .1 lda (ZPObjPtr),y S.CB.SrcW,S.CB.SrcH - jsr PutCBBuf + jsr PutA2CBBuf iny dex bne .1 lda ZPObjPtr S.CB.SrcPtr - jsr PutCBBuf + jsr PutA2CBBuf lda ZPObjPtr+1 - jsr PutCBBuf + jsr PutA2CBBuf lda #0 S.CB.DstPtr - jsr PutCBBuf - jsr PutCBBuf + jsr PutA2CBBuf + jsr PutA2CBBuf rts *-------------------------------------- @@ -581,28 +605,28 @@ WND.PaintTopBarTitle sta CB.Cache+S.CB.OP lda #S.CB.M.MONO sta CB.Cache+S.CB.M - lda hSYSFON + lda hSYSFONB sta CB.Cache+S.CB.hFont ldy #S.WND.TITLE - lda (ZPPtr1),y + lda (ZPWNDPtr),y sta CB.Cache+S.CB.TxtPtr iny - lda (ZPPtr1),y + lda (ZPWNDPtr),y sta CB.Cache+S.CB.TxtPtr+1 jsr GFXWrite.CB bcs .9 ldy #S.OBJ.W - lda (ZPPtr1),y + lda (ZPWNDPtr),y sec sbc CB.Cache+S.CB.SrcW sta DX iny - lda (ZPPtr1),y + lda (ZPWNDPtr),y sbc CB.Cache+S.CB.SrcW+1 lsr @@ -610,41 +634,86 @@ WND.PaintTopBarTitle sta DX+1 ldy #S.OBJ.X1 - lda (ZPPtr1),y + lda (ZPWNDPtr),y clc adc DX and PREFS.BESTVIEWEDX sta CB.Cache+S.CB.X1 iny - lda (ZPPtr1),y + lda (ZPWNDPtr),y adc DX+1 sta CB.Cache+S.CB.X1+1 ldy #S.OBJ.Y1 - lda (ZPPtr1),y + lda (ZPWNDPtr),y clc adc #1 sta CB.Cache+S.CB.Y1 iny - lda (ZPPtr1),y + lda (ZPWNDPtr),y adc #0 sta CB.Cache+S.CB.Y1+1 - ldx #0 - -.8 lda CB.Cache,x - jsr PutCBBuf - inx - cpx #S.CB.DstPtr+2 - bne .8 + jsr PutCBCache2CBBuf clc .9 rts *-------------------------------------- +WND.PaintMenuBar + ldy #S.WND.MENUBAR + lda (ZPWNDPtr),y + sta ZPMENUPtr + iny + lda (ZPWNDPtr),y + sta ZPMENUPtr+1 + + lda (ZPMENUPtr) + bne .1 + + >LDYA ZPMENUPtr + jsr MENU.MenubarInit + + +.1 + clc + +.9 rts +*-------------------------------------- WND.PaintStatusBar - jsr CB.Clear + lda #S.CB.CMD.HLINE + jsr WND.PaintBorders.H + + ldy #S.OBJ.X1 + lda (ZPWNDPtr),y + jsr PutA2CBBuf + iny + lda (ZPWNDPtr),y + jsr PutA2CBBuf + + ldy #S.OBJ.Y2 + lda (ZPWNDPtr),y + sec + sbc SYSFON.H + jsr PutA2CBBuf + iny + lda (ZPWNDPtr),y + sbc #0 + jsr PutA2CBBuf + + ldy #S.OBJ.X2 + lda (ZPWNDPtr),y + jsr PutA2CBBuf + iny + lda (ZPWNDPtr),y + jsr PutA2CBBuf + + lda #0 + jsr PutA2CBBuf + jsr PutA2CBBuf + + jsr CB.Clear S.CB.Y2 lda #S.CB.CMD.DRAWTEXT+S.CB.CMD.OSD sta CB.Cache+S.CB.CMD @@ -656,40 +725,68 @@ WND.PaintStatusBar sta CB.Cache+S.CB.hFont ldy #S.WND.STATUS - lda (ZPPtr1),y + lda (ZPWNDPtr),y sta CB.Cache+S.CB.TxtPtr iny - lda (ZPPtr1),y + lda (ZPWNDPtr),y sta CB.Cache+S.CB.TxtPtr+1 jsr GFXWrite.CB bcs .9 ldy #S.OBJ.X1 - lda (ZPPtr1),y + lda (ZPWNDPtr),y sta CB.Cache+S.CB.X1 iny - lda (ZPPtr1),y + lda (ZPWNDPtr),y sta CB.Cache+S.CB.X1+1 ldy #S.OBJ.Y2 - lda (ZPPtr1),y + lda (ZPWNDPtr),y sec - sbc SYSFON.H + sbc SYSFON.Hm1 sta CB.Cache+S.CB.Y1 iny - lda (ZPPtr1),y + lda (ZPWNDPtr),y sbc #0 sta CB.Cache+S.CB.Y1+1 - ldx #0 + jsr PutCBCache2CBBuf -.8 lda CB.Cache,x - jsr PutCBBuf - inx - cpx #S.CB.DstPtr+2 - bne .8 + lda #S.CB.CMD.FILLRECT + sta CB.Cache+S.CB.CMD + lda #S.CB.OP.SET + sta CB.Cache+S.CB.OP + lda #S.CB.M.MONO + sta CB.Cache+S.CB.M + lda #C.WHITE + sta CB.Cache+S.CB.OP.COLOR + + lda CB.Cache+S.CB.X1 + clc + adc CB.Cache+S.CB.SrcW + sta CB.Cache+S.CB.X1 + + lda CB.Cache+S.CB.X1+1 + adc CB.Cache+S.CB.SrcW+1 + sta CB.Cache+S.CB.X1+1 + + ldy #S.OBJ.X2 + lda (ZPWNDPtr),y + sta CB.Cache+S.CB.X2 + iny + lda (ZPWNDPtr),y + sta CB.Cache+S.CB.X2+1 + + ldy #S.OBJ.Y2 + lda (ZPWNDPtr),y + sta CB.Cache+S.CB.Y2 + iny + lda (ZPWNDPtr),y + sta CB.Cache+S.CB.Y2+1 + + jsr PutCBCache2CBBuf clc @@ -697,13 +794,13 @@ WND.PaintStatusBar *-------------------------------------- WND.ClrStatus ldy #S.OBJ.S eor #$ff - and (ZPPtr1),y - sta (ZPPtr1),y + and (ZPWNDPtr),y + sta (ZPWNDPtr),y rts *-------------------------------------- WND.SetStatus ldy #S.OBJ.S - ora (ZPPtr1),y - sta (ZPPtr1),y + ora (ZPWNDPtr),y + sta (ZPWNDPtr),y rts *-------------------------------------- WND.Close clc diff --git a/LIB/LIBGUI.S.txt b/LIB/LIBGUI.S.txt index a5653e2d..7d7adaa9 100644 --- a/LIB/LIBGUI.S.txt +++ b/LIB/LIBGUI.S.txt @@ -74,10 +74,10 @@ WND.MAX .EQ 64 *-------------------------------------- .DUMMY .OR ZPLIB -ZPPtr1 .BS 2 -ZPObjPtr .BS 2 ZPCBPtr .BS 2 +ZPObjPtr .BS 2 ZPWNDPtr .BS 2 +ZPMENUPtr .BS 2 CLIP.Line.P1 .BS 1 CLIP.Line.P2 .BS 1 @@ -93,6 +93,8 @@ Counter .BS 2 hCBBuf .BS 1 ZPCBBufPtr .BS 2 +ZPPtr1 .BS 2 + .ED *-------------------------------------- * File Header (16 Bytes) @@ -325,11 +327,27 @@ GetCBBuf >LDYAI 256 >STYA ZPCBBufPtr .9 rts *-------------------------------------- -PutCBBufAX jsr PutCBBuf +PutCBCache2CBBuf + lda CB.Cache + lsr + tax + ldy CB.CmdLen-1,x + + ldx #0 + +.1 lda CB.Cache,x + jsr PutA2CBBuf + inx + dey + bpl .1 + + rts +*-------------------------------------- +PutAX2CBBuf jsr PutA2CBBuf txa -PutCBBuf sta (ZPCBBufPtr) +PutA2CBBuf sta (ZPCBBufPtr) inc ZPCBBufPtr bne .8 inc ZPCBBufPtr+1 @@ -439,8 +457,9 @@ MENU.Sys .DA #2 ID .DA #0 *-------------------------------------- PREFS.BESTVIEWEDX .DA #$FC -PREFS.BORDERCOLOR .DA #0 BLACK -PREFS.TOPBARCOLOR .DA #C16.D.BLUE +PREFS.BORDERCOLOR .DA #C.BLACK +PREFS.TOPBARCOLORA .DA #C16.D.BLUE +PREFS.TOPBARCOLORI .DA #C16.L.BLUE *-------------------------------------- MAN SAVE usr/src/lib/libgui.s diff --git a/SBIN/GUI.S.txt b/SBIN/GUI.S.txt index e172e69e..d7b3d806 100644 --- a/SBIN/GUI.S.txt +++ b/SBIN/GUI.S.txt @@ -44,7 +44,7 @@ CS.START cld L.LIBGUI .DA LIBGUI L.MouseData .DA MouseData L.WND.TITLE .DA WND.TITLE -L.WND.MBAR .DA WND.MBAR +L.WND.MENUBAR .DA WND.MENUBAR L.WND.STATUS .DA WND.STATUS .DA 0 *-------------------------------------- @@ -128,8 +128,8 @@ WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F. lda hWND >PUSHA - >PUSHBI S.WND.MBAR - >PUSHW L.WND.MBAR + >PUSHBI S.WND.MENUBAR + >PUSHW L.WND.MENUBAR >LIBCALL hLIBGUI,LIBGUI.WND.SetProp lda hWND @@ -155,7 +155,10 @@ MouseData .BS S.MOUSE hWND .BS 1 WND.TITLE .AZ "Window Title" *-------------------------------------- -WND.MBAR .AZ "File" +WND.MENUBAR .DA #0 + .DA #0 + .DA #.1-* + .AZ "File" .DA #02 ID .DA #S.MITEM.KEYMOD.CTRL .DA #'N' @@ -177,6 +180,7 @@ WND.MBAR .AZ "File" .DA #'Q' .AZ "Quit" .DA #0 +.1 .DA #.2-* .AZ "Edit" .DA #12 ID .DA #S.MITEM.KEYMOD.OA @@ -191,19 +195,21 @@ WND.MBAR .AZ "File" .DA #'V' .AZ "Paste" .DA #0 +.2 .DA #.3-* .AZ "Options" .DA #18 ID .DA #0 .DA #0 .AZ "Check Me" .DA #0 +.3 .DA #.4-* .AZ "?" .DA #20 ID .DA #0 .DA #0 .AZ "About..." .DA #0 - .DA #0 +.4 .DA #0 *-------------------------------------- WND.STATUS .AZ "Window status bar message" *--------------------------------------