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.Y .EQ 14
S.WND.W .EQ 16 S.WND.W .EQ 16
S.WND.H .EQ 18 S.WND.H .EQ 18
S.WND.MinW .EQ 20
S.WND.MinH .EQ 22
* *
S.WND .EQ 32 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.T .EQ 0
S.MENU.F .EQ 1 S.MENU.F .EQ 1
S.MENU.hSAVEBUF .EQ 2 S.MENU.hSAVEBUF .EQ 2
@ -158,21 +175,6 @@ S.MITEM.TEXTLEN .EQ 5
S.MITEM.TEXT .EQ 6 CSTR 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.T .EQ 0
S.BUT.F .EQ 1 S.BUT.F .EQ 1
S.BUT.F.DISABLED .EQ %10000000 S.BUT.F.DISABLED .EQ %10000000

View File

@ -2,7 +2,7 @@ NEW
PREFIX /A2OSX.BUILD PREFIX /A2OSX.BUILD
AUTO 4,1 AUTO 4,1
*-------------------------------------- *--------------------------------------
PopupMenu >STYA ZPPtr1 MENU.New >STYA ZPPtr1
lda #2 1px Border lda #2 1px Border
@ -22,6 +22,54 @@ PopupMenu >STYA ZPPtr1
.1 lda (ZPPtr2) .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 MAN
SAVE /A2OSX.SRC/LIB/LIBGUI.S.MENU SAVE /A2OSX.SRC/LIB/LIBGUI.S.MENU
LOAD /A2OSX.SRC/LIB/LIBGUI.S 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 CB.DrawTextB .DA #S.CB.CMD.DRAWTEXT
.DA #S.CB.OP.SET OP .DA #S.CB.OP.SET OP
.DA #0 M .DA #255 M
.BS 1 hFont .BS 1 hFont
.DA 0 X1 .DA 0 X1
.DA 0 Y1 .DA 0 Y1
@ -285,9 +285,9 @@ BM.Apple .DA #S.BM.F.BBP4
.HS 9999 violet (11) .HS 9999 violet (11)
.HS 1FF1 Dark blue (4) .HS 1FF1 Dark blue (4)
*-------------------------------------- *--------------------------------------
TXT.SampleB .AZ "A2osX: A Sample Text with SYSX7B.FON Height=7px, Variable Width {}[] #0123456789$ " TXT.SampleB .AZ "Sample Text with SYSX7B.FON Height=7px, Variable Width {}[] #0123456789"
TXT.Sample .AZ "XXXXXXXX: SYSX7.FON Height=7px, Variable Width @@ /\ () {}[] #0123456789$ " TXT.Sample .AZ "White/Black: SYSX7.FON Height=7px, #.;:!?+-_=%*$@ /\ () {|}[] #0123456789"
TXT.A2osX .AZ "XXXXXXXXXXXXXXXXX" TXT.A2osX .AZ "A2osX"
*-------------------------------------- *--------------------------------------
CB.Marylin .DA #S.CB.CMD.BITBLT CB.Marylin .DA #S.CB.CMD.BITBLT
.DA #S.CB.OP.SET .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 ldy GWORD get col index in BM
.7 jsr CHAR.GetNext .7 jsr CHAR.GetNext
eor CB.Cache+S.CB.M
eor (ZPTmpPtr),y
sta (ZPTmpPtr),y sta (ZPTmpPtr),y
iny iny
@ -350,30 +350,31 @@ DRAWTEXT.SHIFT1 lda FON.Cache+S.FON.PixH
ldy GWORD get col index in BM ldy GWORD get col index in BM
.2 jsr CHAR.GetNext .2 jsr CHAR.GetNext
eor CB.Cache+S.CB.M
asl 8th bit in ->carry asl 8th bit in ->carry
eor (ZPTmpPtr),y eor (ZPTmpPtr),y
sta (ZPTmpPtr),y sta (ZPTmpPtr),y
iny iny
bcc .3
lda #0 lda #1
rol eor (ZPTmpPtr),y
sta (ZPTmpPtr),y sta (ZPTmpPtr),y
dex .3 dex
bne .2 bne .2
lda ZPTmpPtr Next line... lda ZPTmpPtr Next line...
clc clc
adc DstBM.Cache+S.BM.RowBytes adc DstBM.Cache+S.BM.RowBytes
sta ZPTmpPtr sta ZPTmpPtr
bcc .3 bcc .4
inc ZPTmpPtr+1 inc ZPTmpPtr+1
.3 pla get back Height counter .4 pla get back Height counter
dec dec
bne .1 bne .1
rts rts
@ -401,7 +402,6 @@ DRAWTEXT.SHIFT26
.2 pha save Width counter .2 pha save Width counter
jsr CHAR.GetNext jsr CHAR.GetNext
eor CB.Cache+S.CB.M
pha pha
and First.Masks,x x = 2->6, for X=3 : A=000xxxxx and First.Masks,x x = 2->6, for X=3 : A=000xxxxx
@ -423,6 +423,7 @@ DRAWTEXT.SHIFT26
.4 lda $FFFF,y SELF MODIFIED .4 lda $FFFF,y SELF MODIFIED
ldy ColIndex get col index in BM ldy ColIndex get col index in BM
eor (ZPTmpPtr),y
sta (ZPTmpPtr),y sta (ZPTmpPtr),y
pla get back Witdh counter pla get back Witdh counter
@ -450,19 +451,22 @@ DRAWTEXT.SHIFT7 lda FON.Cache+S.FON.PixH
ldy GWORD get col index in BM ldy GWORD get col index in BM
.2 jsr CHAR.GetNext .2 jsr CHAR.GetNext
eor CB.Cache+S.CB.M
lsr 1st bit in carry, for COL 1 lsr 1st bit in carry, for COL 1
bcc .3
pha Other 7 bits for COL 2 pha Other 7 bits for COL 2
lda #0 lda #$80
ror get back 1st bit, -> for bit 8
eor (ZPTmpPtr),y eor (ZPTmpPtr),y
sta (ZPTmpPtr),y sta (ZPTmpPtr),y
iny
pla get back bit 1->8 already shifted Left 7 (= Shift right 1) pla get back bit 1->8 already shifted Left 7 (= Shift right 1)
.3 iny
eor (ZPTmpPtr),y
sta (ZPTmpPtr),y sta (ZPTmpPtr),y
dex dex
@ -472,11 +476,11 @@ DRAWTEXT.SHIFT7 lda FON.Cache+S.FON.PixH
clc clc
adc DstBM.Cache+S.BM.RowBytes adc DstBM.Cache+S.BM.RowBytes
sta ZPTmpPtr sta ZPTmpPtr
bcc .3 bcc .4
inc ZPTmpPtr+1 inc ZPTmpPtr+1
.3 pla get back Height counter .4 pla get back Height counter
dec dec
bne .1 bne .1
rts rts
@ -546,9 +550,16 @@ BM.Create lda DstBM.Cache+S.BM.W
>LDYA DstBM.Cache+S.BM.H >LDYA DstBM.Cache+S.BM.H
ldx DstBM.Cache+S.BM.RowBytes ldx DstBM.Cache+S.BM.RowBytes
jsr YAMultX jsr YAMultX Compute BM total bytes
pha pha
eor #$ff
sta ZPTmpPtr+1
tya
eor #$ff
sta ZPTmpPtr
tya tya
clc clc
adc #S.BM adc #S.BM
@ -571,9 +582,26 @@ BM.Create lda DstBM.Cache+S.BM.W
* clc * clc
adc #S.BM adc #S.BM
sta ZPDstBMPtr 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 .8 txa hBM