Topic : TOS - das Betriebssystem
Author :
Version : tos.hyp (5. März 2013)
Subject : Programmieren/Atari
Nodes : 3001
Index Size : 93602
HCP-Version : 5
Compiled on : Atari
@charset : atarist
@lang :
@default : Titel
@help :
@options : +g -i -s +x +zz -t4
@width : 70
View Ref-File7.6.54 Bindings für vqt_justified TOS
C: void vqt_justified ( int16_t handle, int16_t x, int16_t y,
int8_t *string, int16_t length, int16_t word_space,
int16_t char_space, int16_t *offsets );
Umsetzung:
void vqt_justified (int16_t handle, int16_t x, int16_t y,
int8_t *string, int16_t length,
int16_t word_space, int16_t char_space,
int16_t *offsets)
{
int16_t i;
intin[0] = word_space;
intin[1] = char_space;
ptsin[0] = x;
ptsin[1] = y;
ptsin[2] = length;
ptsin[3] = 0;
i = 0;
while (string[i++])
;
contrl[0] = 132;
contrl[1] = 2;
contrl[3] = i;
contrl[6] = handle;
pooff = offsets;
vdi ();
pooff = ptsout;
}
GEM-Arrays:
Adresse Feldelement Belegung
contrl contrl[0] 132 # Opcode der Funktion
contrl+2 contrl[1] 2 # Einträge in ptsin
contrl+4 contrl[2] n # Einträge in ptsout
contrl+6 contrl[3] 2+n # Einträge in intin
contrl+8 contrl[4] 0 # Einträge in intout
contrl+12 contrl[6] handle
intin intin[0] word_space
intin+2 intin[1] char_space
intin+4 intin[2] string[0..n+1]
ptsin ptsin[0] x
ptsin+2 ptsin[1] y
ptsin+4 ptsin[2] length
ptsin+6 ptsin[3] 0
ptsout ptsout[...] offsets[...]