Kernel 0.9.1 : OSD, bugfix in FONT redering...

This commit is contained in:
Rémy GIBERT 2018-05-09 16:57:05 +02:00
parent 0f520c6024
commit d72a6c714d
7 changed files with 116 additions and 38 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

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

View File

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

View File

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

View File

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