Atari ST series Technical Reference Manual page 176

Hide thumbs Also See for ST series:
Table of Contents

Advertisement

WEIGHT from the font header variable thick__width. For
lightening, set LITEMASK to the value found in the font
header at lite__mask. Text can also be rotated in increments
of 90 degrees. If CHUP is set to 0, the text will be printed
normally, but if set to a multiple of 900, the text will be ro­
tated 90, 180, or 270 degrees.
The normal appearance of text may also be altered
through font scaling. This allows you to print characters either
larger or smaller than normal. To use font scaling, place a
nonzero value in the SCALE variable. The scaling accumula­
tor, XDDA, should be initialized to a value of $8000 before
each call to TextBlt when scaling.
The SCALDIR variable should be set to indicate whether
you are scaling the character up (1) or down (0). Finally, the
fractional amount to scale the character should be stored in
the DDAINC variable. When scaling down, DDAINC should
be set to a value equal to 256 times the scaled size divided by
the actual size of the character. When scaling up, set
DDAINC to 256 times the scaled size minus the actual size,
divided by the actual character size.
Program 7-6 shows how to print a text string with
TextBlt, using the skewing special effect.
Program 7-6. TEXTBLT.S
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
*
TEXTBLT.S —
Demonstrates use of the line A
*
text blit routine to print text.
*
*
************************************************************
*** line A variable table offsets
*
= $24
WMODE
*
= $36
CLIP
*
= $38
XMINCL
= $3A
XMAXCL
= $3C
YMINCL
= $3E
YMAXCL
= $40
*
XDDA
*
= $42
DDAINC
— $44
*
SCALDIR
*
= $46
MONO
*
= $48
SOURCEX
*
= $4A
SOURCEY
*
= $4C
DESTX
*
= $4E
DESTY
*
= $50
DELX
*
= $52
DELY
*
= $54
FBASE
= $58
*
FWIDTH
*
STYLE
$5A
*
LITEMASK
= $5C
168
CHAPTER 7
Clipping flag (0=off, l=on)
Accumulator for text scaling
Fractional scaling amount
Text scaling direction (0=down)
Monospaced font? (0=no, l=yes)
X coordinate of character within font data table
Y coordinate of character within font data table
X coordinate of text character on screen
Y coordinate of text character on screen
Width of character
Height of character
Pointer to font data table
Font form width (width of all characters, in bytes)
Special effects flag (0=bold, 2=light, 4=italics)
Mask used to lighten text (usually $5555)
i t
*
*
*
*

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents