Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members

ploptable.h

00001 //! Table of the first 200 or so PICT opcodes with size & description.
00002 //! Mostly stolen from pict2pbm.
00003 
00004 struct OpDef
00005 {
00006   char * name;
00007   int    len;
00008   char * description;
00009 };
00010 
00011 // for reserved opcodes
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     /* 0x00 */  { "NOP",               0, "nop" },
00023     /* 0x01 */  { "Clip",             NA, "clip" },
00024     /* 0x02 */  { "BkPat",             8, "background pattern" },
00025     /* 0x03 */  { "TxFont",            2, "text font (word)" },
00026     /* 0x04 */  { "TxFace",            1, "text face (byte)" },
00027     /* 0x05 */  { "TxMode",            2, "text mode (word)" },
00028     /* 0x06 */  { "SpExtra",           4, "space extra (fixed point)" },
00029     /* 0x07 */  { "PnSize",            4, "pen size (point)" },
00030     /* 0x08 */  { "PnMode",            2, "pen mode (word)" },
00031     /* 0x09 */  { "PnPat",             8, "pen pattern" },
00032     /* 0x0a */  { "FillPat",           8, "fill pattern" },
00033     /* 0x0b */  { "OvSize",            4, "oval size (point)" },
00034     /* 0x0c */  { "Origin",            4, "dh, dv (word)" },
00035     /* 0x0d */  { "TxSize",            2, "text size (word)" },
00036     /* 0x0e */  { "FgColor",           4, "foreground color (longword)" },
00037     /* 0x0f */  { "BkColor",           4, "background color (longword)" },
00038     /* 0x10 */  { "TxRatio",           8, "numerator (point), denominator (point)" },
00039     /* 0x11 */  { "Version",           1, "version (byte)" },
00040     /* 0x12 */  { "BkPixPat",         NA, "color background pattern" },
00041     /* 0x13 */  { "PnPixPat",         NA, "color pen pattern" },
00042     /* 0x14 */  { "FillPixPat",       NA, "color fill pattern" },
00043     /* 0x15 */  { "PnLocHFrac",        2, "fractional pen position" },
00044     /* 0x16 */  { "ChExtra",           2, "extra for each character" },
00045     /* 0x17 */  res(0),
00046     /* 0x18 */  res(0),
00047     /* 0x19 */  res(0),
00048     /* 0x1a */  { "RGBFgCol",    RGB_LEN, "RGB foreColor" },
00049     /* 0x1b */  { "RGBBkCol",    RGB_LEN, "RGB backColor" },
00050     /* 0x1c */  { "HiliteMode",        0, "hilite mode flag" },
00051     /* 0x1d */  { "HiliteColor", RGB_LEN, "RGB hilite color" },
00052     /* 0x1e */  { "DefHilite",         0, "Use default hilite color" },
00053     /* 0x1f */  { "OpColor",           6, "RGB OpColor for arithmetic modes" },
00054     /* 0x20 */  { "Line",              8, "pnLoc (point), newPt (point)" },
00055     /* 0x21 */  { "LineFrom",          4, "newPt (point)" },
00056     /* 0x22 */  { "ShortLine",         6, "pnLoc (point, dh, dv (-128 .. 127))" },
00057     /* 0x23 */  { "ShortLineFrom",     2, "dh, dv (-128 .. 127)" },
00058     /* 0x24 */  res(WORD_LEN),
00059     /* 0x25 */  res(WORD_LEN),
00060     /* 0x26 */  res(WORD_LEN),
00061     /* 0x27 */  res(WORD_LEN),
00062     /* 0x28 */  { "LongText",         NA, "txLoc (point), count (0..255), text" },
00063     /* 0x29 */  { "DHText",           NA, "dh (0..255), count (0..255), text" },
00064     /* 0x2a */  { "DVText",           NA, "dv (0..255), count (0..255), text" },
00065     /* 0x2b */  { "DHDVText",         NA, "dh, dv (0..255), count (0..255), text" },
00066     /* 0x2c */  res(WORD_LEN),
00067     /* 0x2d */  res(WORD_LEN),
00068     /* 0x2e */  res(WORD_LEN),
00069     /* 0x2f */  res(WORD_LEN),
00070     /* 0x30 */  { "frameRect",         8, "rect" },
00071     /* 0x31 */  { "paintRect",         8, "rect" },
00072     /* 0x32 */  { "eraseRect",         8, "rect" },
00073     /* 0x33 */  { "invertRect",        8, "rect" },
00074     /* 0x34 */  { "fillRect",          8, "rect" },
00075     /* 0x35 */  res(8),
00076     /* 0x36 */  res(8),
00077     /* 0x37 */  res(8),
00078     /* 0x38 */  { "frameSameRect",     0, "rect" },
00079     /* 0x39 */  { "paintSameRect",     0, "rect" },
00080     /* 0x3a */  { "eraseSameRect",     0, "rect" },
00081     /* 0x3b */  { "invertSameRect",    0, "rect" },
00082     /* 0x3c */  { "fillSameRect",      0, "rect" },
00083     /* 0x3d */  res(0),
00084     /* 0x3e */  res(0),
00085     /* 0x3f */  res(0),
00086     /* 0x40 */  { "frameRRect",        8, "rect" },
00087     /* 0x41 */  { "paintRRect",        8, "rect" },
00088     /* 0x42 */  { "eraseRRect",        8, "rect" },
00089     /* 0x43 */  { "invertRRect",       8, "rect" },
00090     /* 0x44 */  { "fillRRrect",        8, "rect" },
00091     /* 0x45 */  res(8),
00092     /* 0x46 */  res(8),
00093     /* 0x47 */  res(8),
00094     /* 0x48 */  { "frameSameRRect",    0, "rect" },
00095     /* 0x49 */  { "paintSameRRect",    0, "rect" },
00096     /* 0x4a */  { "eraseSameRRect",    0, "rect" },
00097     /* 0x4b */  { "invertSameRRect",   0, "rect" },
00098     /* 0x4c */  { "fillSameRRect",     0, "rect" },
00099     /* 0x4d */  res(0),
00100     /* 0x4e */  res(0),
00101     /* 0x4f */  res(0),
00102     /* 0x50 */  { "frameOval",         8, "rect" },
00103     /* 0x51 */  { "paintOval",         8, "rect" },
00104     /* 0x52 */  { "eraseOval",         8, "rect" },
00105     /* 0x53 */  { "invertOval",        8, "rect" },
00106     /* 0x54 */  { "fillOval",          8, "rect" },
00107     /* 0x55 */  res(8),
00108     /* 0x56 */  res(8),
00109     /* 0x57 */  res(8),
00110     /* 0x58 */  { "frameSameOval",     0, "rect" },
00111     /* 0x59 */  { "paintSameOval",     0, "rect" },
00112     /* 0x5a */  { "eraseSameOval",     0, "rect" },
00113     /* 0x5b */  { "invertSameOval",    0, "rect" },
00114     /* 0x5c */  { "fillSameOval",      0, "rect" },
00115     /* 0x5d */  res(0),
00116     /* 0x5e */  res(0),
00117     /* 0x5f */  res(0),
00118     /* 0x60 */  { "frameArc",         12, "rect, startAngle, arcAngle" },
00119     /* 0x61 */  { "paintArc",         12, "rect, startAngle, arcAngle" },
00120     /* 0x62 */  { "eraseArc",         12, "rect, startAngle, arcAngle" },
00121     /* 0x63 */  { "invertArc",        12, "rect, startAngle, arcAngle" },
00122     /* 0x64 */  { "fillArc",          12, "rect, startAngle, arcAngle" },
00123     /* 0x65 */  res(12),
00124     /* 0x66 */  res(12),
00125     /* 0x67 */  res(12),
00126     /* 0x68 */  { "frameSameArc",      4, "rect, startAngle, arcAngle" },
00127     /* 0x69 */  { "paintSameArc",      4, "rect, startAngle, arcAngle" },
00128     /* 0x6a */  { "eraseSameArc",      4, "rect, startAngle, arcAngle" },
00129     /* 0x6b */  { "invertSameArc",     4, "rect, startAngle, arcAngle" },
00130     /* 0x6c */  { "fillSameArc",       4, "rect, startAngle, arcAngle" },
00131     /* 0x6d */  res(4),
00132     /* 0x6e */  res(4),
00133     /* 0x6f */  res(4),
00134     /* 0x70 */  { "framePoly",        NA, "poly" },
00135     /* 0x71 */  { "paintPoly",        NA, "poly" },
00136     /* 0x72 */  { "erasePoly",        NA, "poly" },
00137     /* 0x73 */  { "invertPoly",       NA, "poly" },
00138     /* 0x74 */  { "fillPoly",         NA, "poly" },
00139     /* 0x75 */  res(NA),
00140     /* 0x76 */  res(NA),
00141     /* 0x77 */  res(NA),
00142     /* 0x78 */  { "frameSamePoly",     0, "poly (NYI)" },
00143     /* 0x79 */  { "paintSamePoly",     0, "poly (NYI)" },
00144     /* 0x7a */  { "eraseSamePoly",     0, "poly (NYI)" },
00145     /* 0x7b */  { "invertSamePoly",    0, "poly (NYI)" },
00146     /* 0x7c */  { "fillSamePoly",      0, "poly (NYI)" },
00147     /* 0x7d */  res(0),
00148     /* 0x7e */  res(0),
00149     /* 0x7f */  res(0),
00150     /* 0x80 */  { "frameRgn",         NA, "region" },
00151     /* 0x81 */  { "paintRgn",         NA, "region" },
00152     /* 0x82 */  { "eraseRgn",         NA, "region" },
00153     /* 0x83 */  { "invertRgn",        NA, "region" },
00154     /* 0x84 */  { "fillRgn",          NA, "region" },
00155     /* 0x85 */  res(NA),
00156     /* 0x86 */  res(NA),
00157     /* 0x87 */  res(NA),
00158     /* 0x88 */  { "frameSameRgn",      0, "region (NYI)" },
00159     /* 0x89 */  { "paintSameRgn",      0, "region (NYI)" },
00160     /* 0x8a */  { "eraseSameRgn",      0, "region (NYI)" },
00161     /* 0x8b */  { "invertSameRgn",     0, "region (NYI)" },
00162     /* 0x8c */  { "fillSameRgn",       0, "region (NYI)" },
00163     /* 0x8d */  res(0),
00164     /* 0x8e */  res(0),
00165     /* 0x8f */  res(0),
00166     /* 0x90 */  { "BitsRect",         NA, "copybits, rect clipped" },
00167     /* 0x91 */  { "BitsRgn",          NA, "copybits, rgn clipped" },
00168     /* 0x92 */  res(WORD_LEN),
00169     /* 0x93 */  res(WORD_LEN),
00170     /* 0x94 */  res(WORD_LEN),
00171     /* 0x95 */  res(WORD_LEN),
00172     /* 0x96 */  res(WORD_LEN),
00173     /* 0x97 */  res(WORD_LEN),
00174     /* 0x98 */  { "PackBitsRect",     NA, "packed copybits, rect clipped" },
00175     /* 0x99 */  { "PackBitsRgn",      NA, "packed copybits, rgn clipped" },
00176     /* 0x9a */  { "Opcode_9A",        NA, "the mysterious opcode 9A" },
00177     /* 0x9b */  res(WORD_LEN),
00178     /* 0x9c */  res(WORD_LEN),
00179     /* 0x9d */  res(WORD_LEN),
00180     /* 0x9e */  res(WORD_LEN),
00181     /* 0x9f */  res(WORD_LEN),
00182     /* 0xa0 */  { "ShortComment",      2, "kind (word)" },
00183     /* 0xa1 */  { "LongComment",      NA, "kind (word), size (word), data" }
00184   };
00185 /*
00186 /--------------------------------------------------------------------
00187 |
00188 |      $Log: ploptable.h,v $
00189 |      Revision 1.1  2001/09/16 19:03:22  uzadow
00190 |      Added global name prefix PL, changed most filenames.
00191 |
00192 |      Revision 1.3  2000/01/10 23:52:59  Ulrich von Zadow
00193 |      Changed formatting & removed tabs.
00194 |
00195 |
00196 --------------------------------------------------------------------
00197 */

Generated on Sun Jun 6 13:42:22 2004 for paintlib by doxygen 1.3.2