summaryrefslogtreecommitdiff
path: root/dviware/umddvi/h/gfclass.h
diff options
context:
space:
mode:
Diffstat (limited to 'dviware/umddvi/h/gfclass.h')
-rw-r--r--dviware/umddvi/h/gfclass.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/dviware/umddvi/h/gfclass.h b/dviware/umddvi/h/gfclass.h
new file mode 100644
index 0000000000..cd392ac2bb
--- /dev/null
+++ b/dviware/umddvi/h/gfclass.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 1987 University of Maryland Department of Computer Science.
+ * All rights reserved. Permission to copy for any purpose is hereby granted
+ * so long as this copyright notice remains intact.
+ */
+
+/*
+ * GF classification codes
+ */
+
+/*
+ * Predicate for simple paint commands. This is presumably the most
+ * common GF operation; it may be profitable to check for this before
+ * switching out on the command type.
+ */
+#define GF_IsPaint(c) ((c) < 64)
+
+/*
+ * Symbolic names for command `types', as returned by the macro
+ * GT_TYPE(int c).
+ */
+#define GT_PAINT0 0 /* paint without parameter */
+#define GT_PAINT 1 /* paint with parameter */
+#define GT_BOC 2 /* long BOC */
+#define GT_BOC1 3 /* short BOC */
+#define GT_EOC 4 /* EOC */
+#define GT_SKIP0 5 /* parameterless SKIP */
+#define GT_SKIP 6 /* parmeterised SKIP */
+#define GT_NEW_ROW 7 /* NEW_ROW_n */
+#define GT_XXX 8 /* XXXn */
+#define GT_YYY 9 /* YYY */
+#define GT_NOP 10 /* no op */
+#define GT_CHAR_LOC 11 /* CHAR_LOC */
+#define GT_CHAR_LOC0 12 /* abbreviated CHAR_LOC */
+#define GT_PRE 13
+#define GT_POST 14
+#define GT_POSTPOST 15
+#define GT_UNDEF 16
+
+/*
+ * Symbolic names for parameter lengths, obtained via the macro
+ * GT_OpLen(int c).
+ */
+#define GPL_NONE 0 /* no parameter, or too complex */
+#define GPL_UNS1 1 /* one one-byte parameter in 0..255 */
+#define GPL_UNS2 2 /* one two-byte parameter in 0..65535 */
+#define GPL_UNS3 3 /* one three-byte parameter in 0..16777215 */
+#define GPL_SGN4 4 /* one four-byte signed parameter */
+/*
+ * there are no unsigned four byte parameters, and no shorter signed
+ * parameters
+ */
+
+#define GF_OpLen(code) (gf_oplen[code])
+#define GF_TYPE(code) (gf_gt[code])
+extern char gf_oplen[];
+extern char gf_gt[];