mirror of
https://github.com/A2osX/A2osX.git
synced 2025-01-08 19:33:55 +00:00
Kernel 0.94
This commit is contained in:
parent
196cdcb1a5
commit
2545da06f0
Binary file not shown.
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
*--------------------------------------
|
||||
|
@ -16,6 +16,15 @@ MENU.New >STYA ZPPtr1
|
||||
MENU.Paint
|
||||
MENU.Close
|
||||
*--------------------------------------
|
||||
MENU.MenubarInit
|
||||
>STYA ZPPtr1
|
||||
|
||||
|
||||
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENUBAR.New
|
||||
MENUBAR.Paint
|
||||
MENUBAR.Close
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
*--------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user