Final touches to the first full version of the vector font output.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4464 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -4,20 +4,51 @@
|
||||
|
||||
|
||||
.include "tgi-kernel.inc"
|
||||
.include "tgi-vectorfont.inc"
|
||||
.include "zeropage.inc"
|
||||
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
; unsigned __fastcall__ tgi_textheight (const char* s);
|
||||
; /* Calculate the width of the text in pixels according to the current text
|
||||
; /* Calculate the height of the text in pixels according to the current text
|
||||
; * style.
|
||||
; */
|
||||
;
|
||||
|
||||
.proc _tgi_textheight
|
||||
|
||||
ldy _tgi_font
|
||||
bne @L2 ; Jump if vector font
|
||||
|
||||
; Return the height for the bitmap font
|
||||
|
||||
lda _tgi_charheight
|
||||
ldx #0
|
||||
rts
|
||||
@L1: rts
|
||||
|
||||
; Return the height for the vector font
|
||||
|
||||
@L2: lda _tgi_vectorfont
|
||||
tax
|
||||
ora _tgi_vectorfont+1
|
||||
beq @L1 ; Return zero if no font
|
||||
|
||||
stx ptr1
|
||||
lda _tgi_vectorfont+1
|
||||
sta ptr1+1
|
||||
ldy #TGI_VECTORFONT::TOP
|
||||
lda (ptr1),y
|
||||
ldy #TGI_VECTORFONT::BOTTOM
|
||||
clc
|
||||
adc (ptr1),y ; Total font height is top + bottom
|
||||
|
||||
sta ptr1
|
||||
lda #0
|
||||
sta ptr1+1 ; Save base height in ptr1
|
||||
|
||||
lda _tgi_textscaleh
|
||||
ldx _tgi_textscaleh+1 ; Get scale factor ...
|
||||
jmp tgi_imulround ; ... and return scaled result
|
||||
|
||||
.endproc
|
||||
|
||||
|
||||
Reference in New Issue
Block a user