diff options
Diffstat (limited to 'dviware/beebe/src/outrow.h')
-rw-r--r-- | dviware/beebe/src/outrow.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/dviware/beebe/src/outrow.h b/dviware/beebe/src/outrow.h new file mode 100644 index 0000000000..8c12c3914a --- /dev/null +++ b/dviware/beebe/src/outrow.h @@ -0,0 +1,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++; + } +} |