00001
00002
00003
00004 struct OpDef
00005 {
00006 char * name;
00007 int len;
00008 char * description;
00009 };
00010
00011
00012 #define res(length) { "reserved", (length), "reserved for Apple use" }
00013
00014 #define RGB_LEN 6
00015
00016 #define WORD_LEN -1
00017
00018 #define NA 0
00019
00020 static OpDef optable[] =
00021 {
00022 { "NOP", 0, "nop" },
00023 { "Clip", NA, "clip" },
00024 { "BkPat", 8, "background pattern" },
00025 { "TxFont", 2, "text font (word)" },
00026 { "TxFace", 1, "text face (byte)" },
00027 { "TxMode", 2, "text mode (word)" },
00028 { "SpExtra", 4, "space extra (fixed point)" },
00029 { "PnSize", 4, "pen size (point)" },
00030 { "PnMode", 2, "pen mode (word)" },
00031 { "PnPat", 8, "pen pattern" },
00032 { "FillPat", 8, "fill pattern" },
00033 { "OvSize", 4, "oval size (point)" },
00034 { "Origin", 4, "dh, dv (word)" },
00035 { "TxSize", 2, "text size (word)" },
00036 { "FgColor", 4, "foreground color (longword)" },
00037 { "BkColor", 4, "background color (longword)" },
00038 { "TxRatio", 8, "numerator (point), denominator (point)" },
00039 { "Version", 1, "version (byte)" },
00040 { "BkPixPat", NA, "color background pattern" },
00041 { "PnPixPat", NA, "color pen pattern" },
00042 { "FillPixPat", NA, "color fill pattern" },
00043 { "PnLocHFrac", 2, "fractional pen position" },
00044 { "ChExtra", 2, "extra for each character" },
00045 res(0),
00046 res(0),
00047 res(0),
00048 { "RGBFgCol", RGB_LEN, "RGB foreColor" },
00049 { "RGBBkCol", RGB_LEN, "RGB backColor" },
00050 { "HiliteMode", 0, "hilite mode flag" },
00051 { "HiliteColor", RGB_LEN, "RGB hilite color" },
00052 { "DefHilite", 0, "Use default hilite color" },
00053 { "OpColor", 6, "RGB OpColor for arithmetic modes" },
00054 { "Line", 8, "pnLoc (point), newPt (point)" },
00055 { "LineFrom", 4, "newPt (point)" },
00056 { "ShortLine", 6, "pnLoc (point, dh, dv (-128 .. 127))" },
00057 { "ShortLineFrom", 2, "dh, dv (-128 .. 127)" },
00058 res(WORD_LEN),
00059 res(WORD_LEN),
00060 res(WORD_LEN),
00061 res(WORD_LEN),
00062 { "LongText", NA, "txLoc (point), count (0..255), text" },
00063 { "DHText", NA, "dh (0..255), count (0..255), text" },
00064 { "DVText", NA, "dv (0..255), count (0..255), text" },
00065 { "DHDVText", NA, "dh, dv (0..255), count (0..255), text" },
00066 res(WORD_LEN),
00067 res(WORD_LEN),
00068 res(WORD_LEN),
00069 res(WORD_LEN),
00070 { "frameRect", 8, "rect" },
00071 { "paintRect", 8, "rect" },
00072 { "eraseRect", 8, "rect" },
00073 { "invertRect", 8, "rect" },
00074 { "fillRect", 8, "rect" },
00075 res(8),
00076 res(8),
00077 res(8),
00078 { "frameSameRect", 0, "rect" },
00079 { "paintSameRect", 0, "rect" },
00080 { "eraseSameRect", 0, "rect" },
00081 { "invertSameRect", 0, "rect" },
00082 { "fillSameRect", 0, "rect" },
00083 res(0),
00084 res(0),
00085 res(0),
00086 { "frameRRect", 8, "rect" },
00087 { "paintRRect", 8, "rect" },
00088 { "eraseRRect", 8, "rect" },
00089 { "invertRRect", 8, "rect" },
00090 { "fillRRrect", 8, "rect" },
00091 res(8),
00092 res(8),
00093 res(8),
00094 { "frameSameRRect", 0, "rect" },
00095 { "paintSameRRect", 0, "rect" },
00096 { "eraseSameRRect", 0, "rect" },
00097 { "invertSameRRect", 0, "rect" },
00098 { "fillSameRRect", 0, "rect" },
00099 res(0),
00100 res(0),
00101 res(0),
00102 { "frameOval", 8, "rect" },
00103 { "paintOval", 8, "rect" },
00104 { "eraseOval", 8, "rect" },
00105 { "invertOval", 8, "rect" },
00106 { "fillOval", 8, "rect" },
00107 res(8),
00108 res(8),
00109 res(8),
00110 { "frameSameOval", 0, "rect" },
00111 { "paintSameOval", 0, "rect" },
00112 { "eraseSameOval", 0, "rect" },
00113 { "invertSameOval", 0, "rect" },
00114 { "fillSameOval", 0, "rect" },
00115 res(0),
00116 res(0),
00117 res(0),
00118 { "frameArc", 12, "rect, startAngle, arcAngle" },
00119 { "paintArc", 12, "rect, startAngle, arcAngle" },
00120 { "eraseArc", 12, "rect, startAngle, arcAngle" },
00121 { "invertArc", 12, "rect, startAngle, arcAngle" },
00122 { "fillArc", 12, "rect, startAngle, arcAngle" },
00123 res(12),
00124 res(12),
00125 res(12),
00126 { "frameSameArc", 4, "rect, startAngle, arcAngle" },
00127 { "paintSameArc", 4, "rect, startAngle, arcAngle" },
00128 { "eraseSameArc", 4, "rect, startAngle, arcAngle" },
00129 { "invertSameArc", 4, "rect, startAngle, arcAngle" },
00130 { "fillSameArc", 4, "rect, startAngle, arcAngle" },
00131 res(4),
00132 res(4),
00133 res(4),
00134 { "framePoly", NA, "poly" },
00135 { "paintPoly", NA, "poly" },
00136 { "erasePoly", NA, "poly" },
00137 { "invertPoly", NA, "poly" },
00138 { "fillPoly", NA, "poly" },
00139 res(NA),
00140 res(NA),
00141 res(NA),
00142 { "frameSamePoly", 0, "poly (NYI)" },
00143 { "paintSamePoly", 0, "poly (NYI)" },
00144 { "eraseSamePoly", 0, "poly (NYI)" },
00145 { "invertSamePoly", 0, "poly (NYI)" },
00146 { "fillSamePoly", 0, "poly (NYI)" },
00147 res(0),
00148 res(0),
00149 res(0),
00150 { "frameRgn", NA, "region" },
00151 { "paintRgn", NA, "region" },
00152 { "eraseRgn", NA, "region" },
00153 { "invertRgn", NA, "region" },
00154 { "fillRgn", NA, "region" },
00155 res(NA),
00156 res(NA),
00157 res(NA),
00158 { "frameSameRgn", 0, "region (NYI)" },
00159 { "paintSameRgn", 0, "region (NYI)" },
00160 { "eraseSameRgn", 0, "region (NYI)" },
00161 { "invertSameRgn", 0, "region (NYI)" },
00162 { "fillSameRgn", 0, "region (NYI)" },
00163 res(0),
00164 res(0),
00165 res(0),
00166 { "BitsRect", NA, "copybits, rect clipped" },
00167 { "BitsRgn", NA, "copybits, rgn clipped" },
00168 res(WORD_LEN),
00169 res(WORD_LEN),
00170 res(WORD_LEN),
00171 res(WORD_LEN),
00172 res(WORD_LEN),
00173 res(WORD_LEN),
00174 { "PackBitsRect", NA, "packed copybits, rect clipped" },
00175 { "PackBitsRgn", NA, "packed copybits, rgn clipped" },
00176 { "Opcode_9A", NA, "the mysterious opcode 9A" },
00177 res(WORD_LEN),
00178 res(WORD_LEN),
00179 res(WORD_LEN),
00180 res(WORD_LEN),
00181 res(WORD_LEN),
00182 { "ShortComment", 2, "kind (word)" },
00183 { "LongComment", NA, "kind (word), size (word), data" }
00184 };
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197