Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-09-15 16:48:35 +02:00
parent 196cdcb1a5
commit 2545da06f0
9 changed files with 300 additions and 163 deletions

Binary file not shown.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
*--------------------------------------

View File

@ -16,6 +16,15 @@ MENU.New >STYA ZPPtr1
MENU.Paint
MENU.Close
*--------------------------------------
MENU.MenubarInit
>STYA ZPPtr1
clc
rts
*--------------------------------------
MENUBAR.New
MENUBAR.Paint
MENUBAR.Close

View File

@ -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

View File

@ -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

View File

@ -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"
*--------------------------------------