Topic : TOS - The Operating System
Author :
Version : tos.hyp (December 19, 2008)
Subject : Programmieren/Atari
Nodes : 3010
Index Size : 93790
HCP-Version : 5
Compiled on : Atari
@charset : atarist
@lang :
@default : Title
@help :
@options : +g -i -s +x +zz -t4
@width : 70
View Ref-File7.6.40 Bindings for vqt_ext_nameTOS C: int16_t vqt_ext_name ( int16_t handle, int16_t index,
int8_t *name, uint16_t *font_format, uint16_t *flags );
Binding:
int16_t vqt_ext_name (int16_t handle, int16_t index,
int8_t *name, uint16_t *font_format,
uint16_t *flags)
{
intin[0] = index;
intin[1] = 0; /* Reserved */
contrl[0] = 130;
contrl[1] = 0;
contrl[3] = 2;
contrl[5] = 1;
contrl[6] = handle;
vdi ();
name[0..31] = intout[1..32];
name[32] = intout[33];
*flags = (intout[34] >> 8) & 0xff;
*font_format = intout[34] & 0xff;
return ( intout[0] );
}
GEM-Arrays:
Address Element Contentscontrl contrl[0] 130 # Function Opcode
contrl+2 contrl[1] 0 # Entry in ptsincontrl+4 contrl[2] 0 # Entry in ptsoutcontrl+6 contrl[3] 2 # Entry in intincontrl+8 contrl[4] 35 # Entry in intoutcontrl+10 contrl[5] 1 # Sub-opcode
contrl+12 contrl[6] handle
intin intin[0] index
intin+2 intin[1] 0
intout intout[0] Return Value
intout+2 intout[1..16] name[0..31]
intout+64 intout[33] name[32]
intout+66 intout[34] flags/font_format
Notes: The high byte of intout[34] returns flags; the low
byte of intout[34] returns font_format.
To ascertain what type of font one is dealing with, one
has to note the number of entries in intout (contrl[4]).
If contrl[4] is 33, then no additional information is
present, and hence we are dealing with a bitmap font. If
contrl[4] == 34, then additionally intout[33] (name[32])
just communicates whether we are dealing with a vector
font. Only if contrl[4] == 35, one can ascertain from
intout[34] (flags) the font type more exactly, and
recognize immediately whether the font is monospaced.
intout[34] is only returned when contrl[3] > 1 and
contrl[5] = 1!