blob: 8c12c3914a240b8a915a59a324b3bb41deba5579 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
/* -*-C-*- outrow.h */
/*-->outrow*/
/**********************************************************************/
/******************************* outrow *******************************/
/**********************************************************************/
void
outrow(c,yoff) /* copy img_row[] into rasters[] if allocated, else no-op */
BYTE c; /* current character value */
UNSIGN16 yoff; /* offset from top row (0,1,...,hp-1) */
{
register UNSIGN16 k; /* loop index */
register UNSIGN32 *p; /* pointer into img_row[] */
register UNSIGN32 *q; /* pointer into rasters[] */
register struct char_entry *tcharptr; /* temporary char_entry pointer */
UNSIGN16 words_per_row; /* number of raster words to copy */
tcharptr = &(fontptr->ch[c]);
if (tcharptr->rasters != (UNSIGN32*)NULL)
{
words_per_row = (UNSIGN16)(tcharptr->wp + 31) >> 5;
p = tcharptr->rasters + yoff*words_per_row;
q = img_row;
for (k = words_per_row; k; --k) /* copy img_row[] into rasters[] */
*p++ = *q++;
}
}
|