summaryrefslogtreecommitdiff
path: root/dviware/beebe/src/outrow.h
diff options
context:
space:
mode:
Diffstat (limited to 'dviware/beebe/src/outrow.h')
-rw-r--r--dviware/beebe/src/outrow.h27
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++;
+ }
+}