/* File: Pict.r Contains: Rez template for PICT resources. Written by: Dean & Mitch. (We didnŐt really write this, but we got to change this line, so we put our names here.) Copyright: © 1986-1992 by Apple Computer, Inc., all rights reserved. Change History (most recent first): <5> 6/24/92 DCL Changed #ifndef __PICT.R__ to __PICT_R__ at the request of the MPW team (3.2.3 rez broke on the periods) <4> 2/20/92 DTY Don breaks his first build. Change the semi-colons after all the notPatBics back to commas. <3> 2/20/92 DCL Fixing transfer modes. notPatXor had been left out. Radar #1016119 <2> 3/6/91 DTY mda: Defined structures for FontName, LineJustify, DirectBitsRect, & DirectBitsRgn. Fixed the opcode for DHDVText. Added oldPICTCompatible define to keep build working while allowing transition to new template which defines the ExtendedVersion2HeaderOp. Additional aesthetic mungings by Darin. <1> 3/5/90 BBH first checked in 3/20/89 THT added #ifndef __PICT.R__ 12/03/87 THT created To Do: Change the #define for oldPICTCompatible to false and make everyone update their PICT 2 so they donŐt break with the new template. */ #ifndef __PICT_R__ #define __PICT_R__ #ifndef oldPICTCompatible #define oldPICTCompatible true #endif type 'PICT' { startOfPict: unsigned integer = (endOfPict - startOfPict) >> 3; Rect; /* Bounds of picture */ switch { case VersionOne: key integer = $1101; array OpCodes { switch { case NOP: key byte = $00; case ClipRgn: key byte = $01; ClipRgnStart: integer = (ClipRgnEnd[$$ArrayIndex(OpCodes)] - ClipRgnStart[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(ClipRgnStart[$$ArrayIndex(OpCodes)]) - 10]; ClipRgnEnd: case BkPat: key byte = $02; hex string [8]; case TxFont: key byte = $03; integer; /* font */ case TxFace: key byte = $04; unsigned hex byte; /* text face */ case TxMode: key byte = $05; integer srcCopy, srcOr, srcXor, srcBic, /* mode */ notSrcCopy, notSrcOr, notSrcXor, notSrcBic, patCopy, patOr, patXor, patBic, notPatCopy, notPatOr, notPatXor, notPatBic; case SpExtra: key byte = $06; unsigned hex longint; case PnSize: key byte = $07; Point; case PnMode: key byte = $08; unsigned hex integer; case PnPat: key byte = $09; hex string [8]; case ThePat: key byte = $0A; hex string [8]; case OvSize: key byte = $0B; Point; case Origin: key byte = $0C; integer; /* dh */ integer; /* dv */ case TxSize: key byte = $0D; integer; case FgColor: key byte = $0E; longint; case BkColor: key byte = $0F; longint; case TxRatio: key byte = $10; Point; /* numer */ Point; /* denom */ case PicVersion: key byte = $11; byte; case Line: key byte = $20; Point; /* pnLoc */ Point; /* newPt */ case LineFrom: key byte = $21; Point; /* newPt */ case ShortLine: key byte = $22; Point; /* pnLoc */ byte; /* dh */ byte; /* dv */ case ShortLineFrom: key byte = $23; byte; /* dh */ byte; /* dv */ case LongText: key byte = $28; Point; /* txLoc */ pstring; case dhText: key byte = $29; byte; /* dh */ pstring; case dvText: key byte = $2A; byte; /* dvh */ pstring; case dhdvText: key byte = $2B; byte; /* dh */ byte; /* dv */ pstring; case FrameRect: key byte = $30; Rect; case PaintRect: key byte = $31; Rect; case EraseRect: key byte = $32; Rect; case InvertRect: key byte = $33; Rect; case FillRect: key byte = $34; Rect; case FrameSameRect: key byte = $38; case PaintSameRect: key byte = $39; case EraseSameRect: key byte = $3A; case InvertSameRect: key byte = $3B; case FillSameRect: key byte = $3C; case FrameRRect: key byte = $40; Rect; case PaintRRect: key byte = $41; Rect; case EraseRRect: key byte = $42; Rect; case InvertRRect: key byte = $43; Rect; case FillRRect: key byte = $44; Rect; case FrameSameRRect: key byte = $48; case PaintSameRRect: key byte = $49; case EraseSameRRect: key byte = $4A; case InvertSameRRect: key byte = $4B; case FillSameRRect: key byte = $4C; case FrameOval: key byte = $50; Rect; case PaintOval: key byte = $51; Rect; case EraseOval: key byte = $52; Rect; case InvertOval: key byte = $53; Rect; case FillOval: key byte = $54; Rect; case FrameSameOval: key byte = $58; case PaintSameOval: key byte = $59; case EraseSameOval: key byte = $5A; case InvertSameOval: key byte = $5B; case FillSameOval: key byte = $5C; case FrameArc: key byte = $60; Rect; integer; /* startAngle */ integer; /* arcAngle */ case PaintArc: key byte = $61; Rect; integer; /* startAngle */ integer; /* arcAngle */ case EraseArc: key byte = $62; Rect; integer; /* startAngle */ integer; /* arcAngle */ case InvertArc: key byte = $63; Rect; integer; /* startAngle */ integer; /* arcAngle */ case FillArc: key byte = $64; Rect; integer; /* startAngle */ integer; /* arcAngle */ case FrameSameArc: key byte = $68; integer; /* startAngle */ integer; /* arcAngle */ case PaintSameArc: key byte = $69; integer; /* startAngle */ integer; /* arcAngle */ case EraseSameArc: key byte = $6A; integer; /* startAngle */ integer; /* arcAngle */ case InvertSameArc: key byte = $6B; integer; /* startAngle */ integer; /* arcAngle */ case FillSameArc: key byte = $6C; integer; /* startAngle */ integer; /* arcAngle */ case FramePoly: key byte = $70; integer = $$CountOf(PolyPoints) * 4 + 10; Rect; /* enclosing rectangle */ wide array PolyPoints { Point; }; case PaintPoly: key byte = $71; integer = $$CountOf(PolyPoints) * 4 + 10; Rect; /* enclosing rectangle */ wide array PolyPoints { Point; }; case ErasePoly: key byte = $72; integer = $$CountOf(PolyPoints) * 4 + 10; Rect; /* enclosing rectangle */ wide array PolyPoints { Point; }; case InvertPoly: key byte = $73; integer = $$CountOf(PolyPoints) * 4 + 10; Rect; /* enclosing rectangle */ wide array PolyPoints { Point; }; case FillPoly: key byte = $74; integer = $$CountOf(PolyPoints) * 4 + 10; Rect; /* enclosing rectangle */ wide array PolyPoints { Point; }; case FrameSamePoly: key byte = $78; case PaintSamePoly: key byte = $79; case EraseSamePoly: key byte = $7A; case InvertSamePoly: key byte = $7B; case FillSamePoly: key byte = $7C; case FrameRgn: key byte = $80; FrameRgnStart: integer = (FrameRgnEnd[$$ArrayIndex(OpCodes)] - FrameRgnStart[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(FrameRgnStart[$$ArrayIndex(OpCodes)]) - 10]; FrameRgnEnd: case PaintRgn: key byte = $81; PaintRgnStart: integer = (PaintRgnEnd[$$ArrayIndex(OpCodes)] - PaintRgnStart[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(PaintRgnStart[$$ArrayIndex(OpCodes)]) - 10]; PaintRgnEnd: case EraseRgn: key byte = $82; EraseRgnStart: integer = (EraseRgnEnd[$$ArrayIndex(OpCodes)] - EraseRgnStart[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(EraseRgnStart[$$ArrayIndex(OpCodes)]) - 10]; EraseRgnEnd: case InvertRgn: key byte = $83; InvertRgnStart: integer = (InvertRgnEnd[$$ArrayIndex(OpCodes)] - InvertRgnStart[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(InvertRgnStart[$$ArrayIndex(OpCodes)]) - 10]; InvertRgnEnd: case FillRgn: key byte = $84; FillRgnStart: integer = (FillRgnEnd[$$ArrayIndex(OpCodes)] - FillRgnStart[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(FillRgnStart[$$ArrayIndex(OpCodes)]) - 10]; FillRgnEnd: case FrameSameRgn: key byte = $88; case PaintSameRgn: key byte = $89; case EraseSameRgn: key byte = $8A; case InvertSameRgn: key byte = $8B; case FillSameRgn: key byte = $8C; case BitsRect: key byte = $90; BitsRectRowBytes: integer; /* row bytes */ BitsRectBounds: Rect; /* bounds */ Rect; /* srcRect */ Rect; /* destRect */ integer srcCopy, srcOr, srcXor, srcBic, /* mode */ notSrcCopy, notSrcOr, notSrcXor, notSrcBic, patCopy, patOr, patXor, patBic, notPatCopy, notPatOr, notPatXor, notPatBic; hex string [($$BitField(BitsRectBounds[$$ArrayIndex(OpCodes)],32,16) - $$BitField(BitsRectBounds[$$ArrayIndex(OpCodes)],0,16)) * $$Word(BitsRectRowBytes[$$ArrayIndex(OpCodes)])]; case BitsRgn: key byte = $91; BitsRgnRowBytes: integer; /* row bytes */ BitsRgnBounds: Rect; /* bounds */ Rect; /* srcRect */ Rect; /* destRect */ integer srcCopy, srcOr, srcXor, srcBic, /* mode */ notSrcCopy, notSrcOr, notSrcXor, notSrcBic, patCopy, patOr, patXor, patBic, notPatCopy, notPatOr, notPatXor, notPatBic; BitsRgnStart: integer = (BitsRgnEnd[$$ArrayIndex(OpCodes)] - BitsRgnStart[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(BitsRgnStart[$$ArrayIndex(OpCodes)]) - 10]; BitsRgnEnd: hex string [($$BitField(BitsRgnBounds[$$ArrayIndex(OpCodes)],32,16) - $$BitField(BitsRgnBounds[$$ArrayIndex(OpCodes)],0,16)) * $$Word(BitsRgnRowBytes[$$ArrayIndex(OpCodes)])]; case PackBitsRect: key byte = $98; PackBitsRectRowBytes: integer; /* row bytes */ PackBitsRectBounds: Rect; /* bounds */ Rect; /* srcRect */ Rect; /* destRect */ integer srcCopy, srcOr, srcXor, srcBic, /* mode */ notSrcCopy, notSrcOr, notSrcXor, notSrcBic, patCopy, patOr, patXor, patBic, notPatCopy, notPatOr, notPatXor, notPatBic; PackBitsBits: hex string [$$PackedSize(PackBitsBits[$$ArrayIndex(OpCodes)], $$Word(PackBitsRectRowBytes[$$ArrayIndex(OpCodes)]), ($$BitField(PackBitsRectBounds[$$ArrayIndex(OpCodes)],32,16) - $$BitField(PackBitsRectBounds[$$ArrayIndex(OpCodes)],0,16)))]; case PackBitsRgn: key byte = $99; PackBitsRgnRowBytes: integer; /* row bytes */ PackBitsRgnBounds: Rect; /* bounds */ Rect; /* srcRect */ Rect; /* destRect */ integer srcCopy, srcOr, srcXor, srcBic, /* mode */ notSrcCopy, notSrcOr, notSrcXor, notSrcBic, patCopy, patOr, patXor, patBic, notPatCopy, notPatOr, notPatXor, notPatBic; PackBitsRgnStart: integer = (PackBitsRgnEnd[$$ArrayIndex(OpCodes)] - PackBitsRgnStart[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(PackBitsRgnStart[$$ArrayIndex(OpCodes)]) - 10]; PackBitsRgnEnd: hex string [$$PackedSize(PackBitsRgnEnd[$$ArrayIndex(OpCodes)], $$Word(PackBitsRgnRowBytes[$$ArrayIndex(OpCodes)]), ($$BitField(PackBitsRgnBounds[$$ArrayIndex(OpCodes)],32,16) - $$BitField(PackBitsRgnBounds[$$ArrayIndex(OpCodes)],0,16)))]; case ShortComment: key byte = $A0; integer; /* kind */ case LongComment: key byte = $A1; integer; /* kind */ LongCommentStart: integer = (LongCommentEnd[$$ArrayIndex(OpCodes)] - LongCommentStart[$$ArrayIndex(OpCodes)] - 16) >> 3; hex string [$$Word(LongCommentStart[$$ArrayIndex(OpCodes)])]; LongCommentEnd: }; }; byte = $FF; /* End of picture */ case VersionTwo: key longint = $001102ff; /* Version op + version */ array OpCodes { switch { case Clip: key integer = $0001; ClipStart: integer = (ClipEnd[$$ArrayIndex(OpCodes)] - ClipStart[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(ClipStart[$$ArrayIndex(OpCodes)]) - 10]; ClipEnd: case BkPat: key integer = $0002; hex string [8]; case TxFont: key integer = $0003; integer; /* font */ case TxFace: key integer = $0004; unsigned hex byte; /* text face */ case TxMode: key integer = $0005; integer srcCopy, srcOr, srcXor, srcBic, /* mode */ notSrcCopy, notSrcOr, notSrcXor, notSrcBic, patCopy, patOr, patXor, patBic, notPatCopy, notPatOr, notPatXor, notPatBic; case SpExtra: key integer = $0006; unsigned hex longint; case PnSize: key integer = $0007; Point; case PnMode: key integer = $0008; unsigned hex integer; case PnPat: key integer = $0009; hex string [8]; case FillPat: key integer = $000A; hex string [8]; case OvSize: key integer = $000B; Point; case Origin: key integer = $000C; integer; /* dh */ integer; /* dv */ case TxSize: key integer = $000D; integer; case FgColor: key integer = $000E; longint; case BkColor: key integer = $000F; longint; case TxRatio: key integer = $0010; Point; /* numer */ Point; /* denom */ case Version: key integer = $0011; byte; case BkPixPat: key integer = $0012; switch { case newPattern: key integer = 1; hex string [8]; /* old-style pattern */ unsigned bitstring[1] = 1; /* New pixMap flag */ unsigned bitstring[2] = 0; /* Must be 0 */ BkPixPatpMapRowBytes: unsigned bitstring[13]; /* Offset to next row */ BkPixPatBounds: rect; /* Bitmap bounds */ integer; /* pixMap vers number */ integer unpacked; /* Packing format */ unsigned longint; /* Size of pixel data */ unsigned hex longint; /* h. resolution (ppi) (fixed) */ unsigned hex longint; /* v. resolution (ppi) (fixed) */ integer chunky, chunkyPlanar, planar; /* Pixel storage format */ integer; /* # bits in pixel */ integer; /* # components in pixel*/ integer; /* # bits per field */ unsigned longint; /* Offset to next plane */ unsigned longint; /* Offset to color table*/ fill long; /* Reserved */ /* Color Table */ unsigned hex longint; /* ctSeed */ integer; /* ctFlags */ integer = $$Countof(ColorSpec) - 1; /* ctSize */ wide array ColorSpec { integer; /* value */ unsigned integer; /* RGB: red */ unsigned integer; /* green */ unsigned integer; /* blue */ }; /* If rowBytes < 8 then data is unpacked, if >= 8, then data is packed */ BkPixPatBits: hex string [($$BitField(BkPixPatpMapRowBytes[$$ArrayIndex(OpCodes)],0,13) < 8) * $$BitField(BkPixPatpMapRowBytes[$$ArrayIndex(OpCodes)],0,13) + ($$BitField(BkPixPatpMapRowBytes[$$ArrayIndex(OpCodes)],0,13) >= 8) * $$PackedSize(BkPixPatBits[$$ArrayIndex(OpCodes)], $$BitField(BkPixPatpMapRowBytes[$$ArrayIndex(OpCodes)],0,13), ($$BitField(BkPixPatBounds[$$ArrayIndex(OpCodes)],32,16) - $$BitField(BkPixPatBounds[$$ArrayIndex(OpCodes)],0,16)))]; case ditherPattern: key integer = 2; hex string [8]; /* old-style pattern */ unsigned integer; /* RGB: red */ unsigned integer; /* green */ unsigned integer; /* blue */ }; case PnPixPat: key integer = $0013; switch { case newPattern: key integer = 1; hex string [8]; /* old-style pattern */ unsigned bitstring[1] = 1; /* New pixMap flag */ unsigned bitstring[2] = 0; /* Must be 0 */ PnPixPatpMapRowBytes: unsigned bitstring[13]; /* Offset to next row */ PnPixPatBounds: rect; /* Bitmap bounds */ integer; /* pixMap vers number */ integer unpacked; /* Packing format */ unsigned longint; /* Size of pixel data */ unsigned hex longint; /* h. resolution (ppi) (fixed) */ unsigned hex longint; /* v. resolution (ppi) (fixed) */ integer chunky, chunkyPlanar, planar; /* Pixel storage format */ integer; /* # bits in pixel */ integer; /* # components in pixel*/ integer; /* # bits per field */ unsigned longint; /* Offset to next plane */ unsigned longint; /* Offset to color table*/ fill long; /* Reserved */ /* Color Table */ unsigned hex longint; /* ctSeed */ integer; /* ctFlags */ integer = $$Countof(ColorSpec) - 1; /* ctSize */ wide array ColorSpec { integer; /* value */ unsigned integer; /* RGB: red */ unsigned integer; /* green */ unsigned integer; /* blue */ }; /* If rowBytes < 8 then data is unpacked, if >= 8, then data is packed */ PnPixPatBits: hex string [($$BitField(PnPixPatpMapRowBytes[$$ArrayIndex(OpCodes)],0,13) < 8) * $$BitField(PnPixPatpMapRowBytes[$$ArrayIndex(OpCodes)],0,13) + ($$BitField(PnPixPatpMapRowBytes[$$ArrayIndex(OpCodes)],0,13) >= 8) * $$PackedSize(PnPixPatBits[$$ArrayIndex(OpCodes)], $$BitField(PnPixPatpMapRowBytes[$$ArrayIndex(OpCodes)],0,13), ($$BitField(PnPixPatBounds[$$ArrayIndex(OpCodes)],32,16) - $$BitField(PnPixPatBounds[$$ArrayIndex(OpCodes)],0,16)))]; case ditherPattern: key integer = 2; hex string [8]; /* old-style pattern */ unsigned integer; /* RGB: red */ unsigned integer; /* green */ unsigned integer; /* blue */ }; case FillPixPat: key integer = $0014; switch { case newPattern: key integer = 1; hex string [8]; /* old-style pattern */ unsigned bitstring[1] = 1; /* New pixMap flag */ unsigned bitstring[2] = 0; /* Must be 0 */ FillPixPatpMapRowBytes: unsigned bitstring[13]; /* Offset to next row */ FillPixPatBounds: rect; /* Bitmap bounds */ integer; /* pixMap vers number */ integer unpacked; /* Packing format */ unsigned longint; /* Size of pixel data */ unsigned hex longint; /* h. resolution (ppi) (fixed) */ unsigned hex longint; /* v. resolution (ppi) (fixed) */ integer chunky, chunkyPlanar, planar; /* Pixel storage format */ integer; /* # bits in pixel */ integer; /* # components in pixel*/ integer; /* # bits per field */ unsigned longint; /* Offset to next plane */ unsigned longint; /* Offset to color table*/ fill long; /* Reserved */ /* Color Table */ unsigned hex longint; /* ctSeed */ integer; /* ctFlags */ integer = $$Countof(ColorSpec) - 1; /* ctSize */ wide array ColorSpec { integer; /* value */ unsigned integer; /* RGB: red */ unsigned integer; /* green */ unsigned integer; /* blue */ }; /* If rowBytes < 8 then data is unpacked, if >= 8, then data is packed */ FillPixPatBits: hex string [($$BitField(FillPixPatpMapRowBytes[$$ArrayIndex(OpCodes)],0,13) < 8) * $$BitField(FillPixPatpMapRowBytes[$$ArrayIndex(OpCodes)],0,13) + ($$BitField(FillPixPatpMapRowBytes[$$ArrayIndex(OpCodes)],0,13) >= 8) * $$PackedSize(FillPixPatBits[$$ArrayIndex(OpCodes)], $$BitField(FillPixPatpMapRowBytes[$$ArrayIndex(OpCodes)],0,13), ($$BitField(FillPixPatBounds[$$ArrayIndex(OpCodes)],32,16) - $$BitField(FillPixPatBounds[$$ArrayIndex(OpCodes)],0,16)))]; case ditherPattern: key integer = 2; hex string [8]; /* old-style pattern */ unsigned integer; /* RGB: red */ unsigned integer; /* green */ unsigned integer; /* blue */ }; case PnLocHFrac: key integer = $0015; unsigned hex integer; case ChExtra: key integer = $0016; integer; /* extra for each character */ case AppleReserved0017: key integer = $0017; case AppleReserved0018: key integer = $0018; case AppleReserved0019: key integer = $0019; case RGBFgCol: key integer = $001A; unsigned integer; /* RGB: red */ unsigned integer; /* green */ unsigned integer; /* blue */ case RGBBkCol: key integer = $001B; unsigned integer; /* RGB: red */ unsigned integer; /* green */ unsigned integer; /* blue */ case HiliteMode: key integer = $001C; case HiliteColor: key integer = $001D; unsigned integer; /* RGB: red */ unsigned integer; /* green */ unsigned integer; /* blue */ case DefHilite: key integer = $001E; case OpColor: key integer = $001F; unsigned integer; /* RGB: red */ unsigned integer; /* green */ unsigned integer; /* blue */ case Line: key integer = $0020; Point; /* pnLoc */ Point; /* newPt */ case LineFrom: key integer = $0021; Point; /* newPt */ case ShortLine: key integer = $0022; Point; /* pnLoc */ byte; /* dh */ byte; /* dv */ case ShortLineFrom: key integer = $0023; byte; /* dh */ byte; /* dv */ case AppleReserved0024: key integer = $0024; AR24: unsigned integer = (AR24End[$$ArrayIndex(Opcodes)] - AR24[$$ArrayIndex(Opcodes)]) / 8 - 2; hex string [$$Word(AR24[$$ArrayIndex(Opcodes)])]; AR24End: case AppleReserved0025: key integer = $0025; AR25: unsigned integer = (AR25End[$$ArrayIndex(Opcodes)] - AR25[$$ArrayIndex(Opcodes)]) / 8 - 2; hex string [$$Word(AR25[$$ArrayIndex(Opcodes)])]; AR25End: case AppleReserved0026: key integer = $0026; AR26: unsigned integer = (AR26End[$$ArrayIndex(Opcodes)] - AR26[$$ArrayIndex(Opcodes)]) / 8 - 2; hex string [$$Word(AR26[$$ArrayIndex(Opcodes)])]; AR26End: case AppleReserved0027: key integer = $0027; AR27: unsigned integer = (AR27End[$$ArrayIndex(Opcodes)] - AR27[$$ArrayIndex(Opcodes)]) / 8 - 2; hex string [$$Word(AR27[$$ArrayIndex(Opcodes)])]; AR27End: case LongText: key integer = $0028; Point; /* TxLoc */ pstring; /* text */ case DHText: key integer = $0029; byte; /* dh */ pstring; /* text */ case DVText: key integer = $002A; byte; /* dv */ pstring; /* text */ case DHDVText: key integer = $002B; byte; /* dh */ byte; /* dv */ pstring; /* text */ case FontName: key integer = $002C; FontNameBegin: unsigned integer = (FontNameEnd[$$ArrayIndex(Opcodes)] - FontNameBegin[$$ArrayIndex(Opcodes)]) / 8 - 2; integer; /* Old font ID */ pstring; /* Font name */ FontNameEnd: case LineJustify: key integer = $002D; unsigned integer = 8; longint; /* Inter-character spacing */ longint; /* Total extra space for justification */ case AppleReserved002E: key integer = $002E; AR2E: unsigned integer = (AR2EEnd[$$ArrayIndex(Opcodes)] - AR2E[$$ArrayIndex(Opcodes)]) / 8 - 2; hex string [$$Word(AR2E[$$ArrayIndex(Opcodes)])]; AR2EEnd: case AppleReserved002F: key integer = $002F; AR2F: unsigned integer = (AR2FEnd[$$ArrayIndex(Opcodes)] - AR2F[$$ArrayIndex(Opcodes)]) / 8 - 2; hex string [$$Word(AR2F[$$ArrayIndex(Opcodes)])]; AR2FEnd: case FrameRect: key integer = $0030; Rect; case PaintRect: key integer = $0031; Rect; case EraseRect: key integer = $0032; Rect; case InvertRect: key integer = $0033; Rect; case FillRect: key integer = $0034; Rect; case AppleReserved0035: key integer = $0035; Rect; case AppleReserved0036: key integer = $0036; Rect; case AppleReserved0037: key integer = $0037; Rect; case FrameSameRect: key integer = $0038; case PaintSameRect: key integer = $0039; case EraseSameRect: key integer = $003A; case InvertSameRect: key integer = $003B; case FillSameRect: key integer = $003C; case AppleReserved003D: key integer = $003D; case AppleReserved003E: key integer = $003E; case AppleReserved003F: key integer = $003F; case FrameRRect: key integer = $0040; Rect; case PaintRRect: key integer = $0041; Rect; case EraseRRect: key integer = $0042; Rect; case InvertRRect: key integer = $0043; Rect; case FillRRect: key integer = $0044; Rect; case AppleReserved0045: key integer = $0045; Rect; case AppleReserved0046: key integer = $0046; Rect; case AppleReserved0047: key integer = $0047; Rect; case FrameSameRRect: key integer = $0048; case PaintSameRRect: key integer = $0049; case EraseSameRRect: key integer = $004A; case InvertSameRRect: key integer = $004B; case FillSameRRect: key integer = $004C; case AppleReserved004D: key integer = $004D; case AppleReserved004E: key integer = $004E; case AppleReserved004F: key integer = $004F; case FrameOval: key integer = $0050; Rect; case PaintOval: key integer = $0051; Rect; case EraseOval: key integer = $0052; Rect; case InvertOval: key integer = $0053; Rect; case FillOval: key integer = $0054; Rect; case AppleReserved0055: key integer = $0055; Rect; case AppleReserved0056: key integer = $0056; Rect; case AppleReserved0057: key integer = $0057; Rect; case FrameSameOval: key integer = $0058; case PaintSameOval: key integer = $0059; case EraseSameOval: key integer = $005A; case InvertSameOval: key integer = $005B; case FillSameOval: key integer = $005C; case AppleReserved005D: key integer = $005D; case AppleReserved005E: key integer = $005E; case FrameArc: key integer = $0060; Rect; integer; /* startAngle */ integer; /* arcAngle */ case PaintArc: key integer = $0061; Rect; integer; /* startAngle */ integer; /* arcAngle */ case EraseArc: key integer = $0062; Rect; integer; /* startAngle */ integer; /* arcAngle */ case InvertArc: key integer = $0063; Rect; integer; /* startAngle */ integer; /* arcAngle */ case FillArc: key integer = $0064; Rect; integer; /* startAngle */ integer; /* arcAngle */ case AppleReserved0065: key integer = $0065; Rect; integer; /* startAngle */ integer; /* arcAngle */ case AppleReserved0066: key integer = $0066; Rect; integer; /* startAngle */ integer; /* arcAngle */ case AppleReserved0067: key integer = $0067; Rect; integer; /* startAngle */ integer; /* arcAngle */ case FrameSameArc: key integer = $0068; integer; /* startAngle */ integer; /* arcAngle */ case PaintSameArc: key integer = $0069; integer; /* startAngle */ integer; /* arcAngle */ case EraseSameArc: key integer = $006A; integer; /* startAngle */ integer; /* arcAngle */ case InvertSameArc: key integer = $006B; integer; /* startAngle */ integer; /* arcAngle */ case FillSameArc: key integer = $006C; integer; /* startAngle */ integer; /* arcAngle */ case AppleReserved006D: key integer = $006D; integer; /* startAngle */ integer; /* arcAngle */ case AppleReserved006E: key integer = $006E; integer; /* startAngle */ integer; /* arcAngle */ case AppleReserved006F: key integer = $006F; integer; /* startAngle */ integer; /* arcAngle */ case FramePoly: key integer = $0070; integer = $$CountOf(PolyPoints) * 4 + 10; Rect; /* enclosing rectangle */ wide array PolyPoints { Point; }; case PaintPoly: key integer = $0071; integer = $$CountOf(PolyPoints) * 4 + 10; Rect; /* enclosing rectangle */ wide array PolyPoints { Point; }; case ErasePoly: key integer = $0072; integer = $$CountOf(PolyPoints) * 4 + 10; Rect; /* enclosing rectangle */ wide array PolyPoints { Point; }; case InvertPoly: key integer = $0073; integer = $$CountOf(PolyPoints) * 4 + 10; Rect; /* enclosing rectangle */ wide array PolyPoints { Point; }; case FillPoly: key integer = $0074; integer = $$CountOf(PolyPoints) * 4 + 10; Rect; /* enclosing rectangle */ wide array PolyPoints { Point; }; case AppleReserved0075: key integer = $0075; integer = $$CountOf(PolyPoints) * 4 + 10; Rect; /* enclosing rectangle */ wide array PolyPoints { Point; }; case AppleReserved0076: key integer = $0076; integer = $$CountOf(PolyPoints) * 4 + 10; Rect; /* enclosing rectangle */ wide array PolyPoints { Point; }; case AppleReserved0077: key integer = $0077; integer = $$CountOf(PolyPoints) * 4 + 10; Rect; /* enclosing rectangle */ wide array PolyPoints { Point; }; case FrameSamePoly: key integer = $0078; case PaintSamePoly: key integer = $0079; case EraseSamePoly: key integer = $007A; case InvertSamePoly: key integer = $007B; case FillSamePoly: key integer = $007C; case AppleReserved007D: key integer = $007D; case AppleReserved007E: key integer = $007E; case AppleReserved007F: key integer = $007F; case FrameRgn: key integer = $0080; FrameRgnStart2: integer = (FrameRgnEnd2[$$ArrayIndex(OpCodes)] - FrameRgnStart2[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(FrameRgnStart2[$$ArrayIndex(OpCodes)]) - 10]; FrameRgnEnd2: case PaintRgn: key integer = $0081; PaintRgnStart2: integer = (PaintRgnEnd2[$$ArrayIndex(OpCodes)] - PaintRgnStart2[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(PaintRgnStart2[$$ArrayIndex(OpCodes)]) - 10]; PaintRgnEnd2: case EraseRgn: key integer = $0082; EraseRgnStart2: integer = (EraseRgnEnd2[$$ArrayIndex(OpCodes)] - EraseRgnStart2[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(EraseRgnStart2[$$ArrayIndex(OpCodes)]) - 10]; EraseRgnEnd2: case InvertRgn: key integer = $0083; InvertRgnStart2: integer = (InvertRgnEnd2[$$ArrayIndex(OpCodes)] - InvertRgnStart2[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(InvertRgnStart2[$$ArrayIndex(OpCodes)]) - 10]; InvertRgnEnd2: case FillRgn: key integer = $0084; FillRgnStart2: integer = (FillRgnEnd2[$$ArrayIndex(OpCodes)] - FillRgnStart2[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(FillRgnStart2[$$ArrayIndex(OpCodes)]) - 10]; FillRgnEnd2: case AppleReserved0085: key integer = $0085; AppleReserved0085Start:integer = (AppleReserved0085End[$$ArrayIndex(OpCodes)] - AppleReserved0085Start[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(AppleReserved0085Start[$$ArrayIndex(OpCodes)]) - 10]; AppleReserved0085End: case AppleReserved0086: key integer = $0086; AppleReserved0086Start: integer = (AppleReserved0086End[$$ArrayIndex(OpCodes)] - AppleReserved0086Start[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(AppleReserved0086Start[$$ArrayIndex(OpCodes)]) - 10]; AppleReserved0086End: case AppleReserved0087: key integer = $0087; AppleReserved0087Start: integer = (AppleReserved0087End[$$ArrayIndex(OpCodes)] - AppleReserved0087Start[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(AppleReserved0087Start[$$ArrayIndex(OpCodes)]) - 10]; AppleReserved0087End: case FrameSameRgn: key integer = $0088; case PaintSameRgn: key integer = $0089; case EraseSameRgn: key integer = $008A; case InvertSameRgn: key integer = $008B; case FillSameRgn: key integer = $008C; case AppleReserved008D: key integer = $008D; case AppleReserved008E: key integer = $008E; case AppleReserved008F: key integer = $008F; case BitsRect: key integer = $0090; unsigned bitstring[1] = 1; /* New pixMap flag */ unsigned bitstring[2] = 0; /* Must be 0 */ BitsRectpMapRowBytes: unsigned bitstring[13]; /* Offset to next row */ BitsRectBounds2: rect; /* Bitmap bounds */ integer; /* pixMap vers number */ integer unpacked; /* Packing format */ unsigned longint; /* Size of pixel data */ unsigned hex longint; /* h. resolution (ppi) (fixed) */ unsigned hex longint; /* v. resolution (ppi) (fixed) */ integer chunky, chunkyPlanar, planar; /* Pixel storage format */ integer; /* # bits in pixel */ integer; /* # components in pixel*/ integer; /* # bits per field */ unsigned longint; /* Offset to next plane */ unsigned longint; /* Offset to color table*/ fill long; /* Reserved */ /* Color Table */ unsigned hex longint; /* ctSeed */ integer; /* ctFlags */ integer = $$Countof(ColorSpec) - 1; /* ctSize */ wide array ColorSpec { integer; /* value */ unsigned integer; /* RGB: red */ unsigned integer; /* green */ unsigned integer; /* blue */ }; Rect; /* srcRect */ Rect; /* destRect */ integer srcCopy, srcOr, srcXor, srcBic, /* mode */ notSrcCopy, notSrcOr, notSrcXor, notSrcBic, patCopy, patOr, patXor, patBic, notPatCopy, notPatOr, notPatXor, notPatBic, blend = 32, addPin, addOver, subPin, adMax = 37, subOver, adMin; BitsRectBits: hex string [$$BitField(BitsRectpMapRowBytes[$$ArrayIndex(OpCodes)],0,13) * ($$BitField(BitsRectBounds2[$$ArrayIndex(OpCodes)],32,16) - $$BitField(BitsRectBounds2[$$ArrayIndex(OpCodes)],0,16))]; case BitsRgn: key integer = $0091; unsigned bitstring[1] = 1; /* New pixMap flag */ unsigned bitstring[2] = 0; /* Must be 0 */ BitsRgnpMapRowBytes: unsigned bitstring[13]; /* Offset to next row */ BitsRgnBounds2: rect; /* Bitmap bounds */ integer; /* pixMap vers number */ integer unpacked; /* Packing format */ unsigned longint; /* Size of pixel data */ unsigned hex longint; /* h. resolution (ppi) (fixed) */ unsigned hex longint; /* v. resolution (ppi) (fixed) */ integer chunky, chunkyPlanar, planar; /* Pixel storage format */ integer; /* # bits in pixel */ integer; /* # components in pixel*/ integer; /* # bits per field */ unsigned longint; /* Offset to next plane */ unsigned longint; /* Offset to color table*/ fill long; /* Reserved */ /* Color Table */ unsigned hex longint; /* ctSeed */ integer; /* ctFlags */ integer = $$Countof(ColorSpec) - 1; /* ctSize */ wide array ColorSpec { integer; /* value */ unsigned integer; /* RGB: red */ unsigned integer; /* green */ unsigned integer; /* blue */ }; Rect; /* srcRect */ Rect; /* destRect */ integer srcCopy, srcOr, srcXor, srcBic, /* mode */ notSrcCopy, notSrcOr, notSrcXor, notSrcBic, patCopy, patOr, patXor, patBic, notPatCopy, notPatOr, notPatXor, notPatBic, blend = 32, addPin, addOver, subPin, adMax = 37, subOver, adMin; BitsRgnStart2: integer = (BitsRgnEnd2[$$ArrayIndex(OpCodes)] - BitsRgnStart2[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(BitsRgnStart2[$$ArrayIndex(OpCodes)]) - 10]; BitsRgnEnd2: hex string [$$PackedSize(BitsRgnEnd2[$$ArrayIndex(OpCodes)], $$BitField(BitsRgnpMapRowBytes[$$ArrayIndex(OpCodes)],0,13), ($$BitField(BitsRgnBounds2[$$ArrayIndex(OpCodes)],32,16) - $$BitField(BitsRgnBounds2[$$ArrayIndex(OpCodes)],0,16)))]; case AppleReserved0092: key integer = $0092; AppleReserved0092Start: unsigned integer = (AppleReserved0092End[$$ArrayIndex(OpCodes)] - AppleReserved0092Start[$$ArrayIndex(OpCodes)]) >> 3 - 2; hex string [$$Word(AppleReserved0092Start[$$ArrayIndex(OpCodes)])]; AppleReserved0092End: case AppleReserved0093: key integer = $0093; AppleReserved0093Start: unsigned integer = (AppleReserved0093End[$$ArrayIndex(OpCodes)] - AppleReserved0093Start[$$ArrayIndex(OpCodes)]) >> 3 - 2; hex string [$$Word(AppleReserved0093Start[$$ArrayIndex(OpCodes)])]; AppleReserved0093End: case AppleReserved0094: key integer = $0094; AppleReserved0094Start: unsigned integer = (AppleReserved0094End[$$ArrayIndex(OpCodes)] - AppleReserved0094Start[$$ArrayIndex(OpCodes)]) >> 3 - 2; hex string [$$Word(AppleReserved0094Start[$$ArrayIndex(OpCodes)])]; AppleReserved0094End: case AppleReserved0095: key integer = $0095; AppleReserved0095Start: unsigned integer = (AppleReserved0095End[$$ArrayIndex(OpCodes)] - AppleReserved0095Start[$$ArrayIndex(OpCodes)]) >> 3 - 2; hex string [$$Word(AppleReserved0095Start[$$ArrayIndex(OpCodes)])]; AppleReserved0095End: case AppleReserved0096: key integer = $0096; AppleReserved0096Start: unsigned integer = (AppleReserved0096End[$$ArrayIndex(OpCodes)] - AppleReserved0096Start[$$ArrayIndex(OpCodes)]) >> 3 - 2; hex string [$$Word(AppleReserved0096Start[$$ArrayIndex(OpCodes)])]; AppleReserved0096End: case AppleReserved0097: key integer = $0097; AppleReserved0097Start: unsigned integer = (AppleReserved0097End[$$ArrayIndex(OpCodes)] - AppleReserved0097Start[$$ArrayIndex(OpCodes)]) >> 3 - 2; hex string [$$Word(AppleReserved0097Start[$$ArrayIndex(OpCodes)])]; AppleReserved0097End: case PackBitsRect: key integer = $0098; unsigned bitstring[1] = 1; /* New pixMap flag */ unsigned bitstring[2] = 0; /* Must be 0 */ PackBitsRectpMapRowBytes:unsigned bitstring[13]; /* Offset to next row */ PackBitsRectBounds2: rect; /* Bitmap bounds */ integer; /* pixMap vers number */ integer unpacked; /* Packing format */ unsigned longint; /* Size of pixel data */ unsigned hex longint; /* h. resolution (ppi) (fixed) */ unsigned hex longint; /* v. resolution (ppi) (fixed) */ integer chunky, chunkyPlanar, planar; /* Pixel storage format */ integer; /* # bits in pixel */ integer; /* # components in pixel*/ integer; /* # bits per field */ unsigned longint; /* Offset to next plane */ unsigned longint; /* Offset to color table*/ fill long; /* Reserved */ /* Color Table */ unsigned hex longint; /* ctSeed */ integer; /* ctFlags */ integer = $$Countof(ColorSpec) - 1; /* ctSize */ wide array ColorSpec { integer; /* value */ unsigned integer; /* RGB: red */ unsigned integer; /* green */ unsigned integer; /* blue */ }; Rect; /* srcRect */ Rect; /* destRect */ integer srcCopy, srcOr, srcXor, srcBic, /* mode */ notSrcCopy, notSrcOr, notSrcXor, notSrcBic, patCopy, patOr, patXor, patBic, notPatCopy, notPatOr, notPatXor, notPatBic, blend = 32, addPin, addOver, subPin, adMax = 37, subOver, adMin; PackBitsRectBits: hex string [$$PackedSize(PackBitsRectBits[$$ArrayIndex(OpCodes)], $$BitField(PackBitsRectpMapRowBytes[$$ArrayIndex(OpCodes)],0,13), ($$BitField(PackBitsRectBounds2[$$ArrayIndex(OpCodes)],32,16) - $$BitField(PackBitsRectBounds2[$$ArrayIndex(OpCodes)],0,16)))]; case PackBitsRgn: key integer = $0099; unsigned bitstring[1] = 1; /* New pixMap flag */ unsigned bitstring[2] = 0; /* Must be 0 */ PackBitsRgnpMapRowBytes:unsigned bitstring[13]; /* Offset to next row */ PackBitsRgnBounds2: rect; /* Bitmap bounds */ integer; /* pixMap vers number */ integer unpacked; /* Packing format */ unsigned longint; /* Size of pixel data */ unsigned hex longint; /* h. resolution (ppi) (fixed) */ unsigned hex longint; /* v. resolution (ppi) (fixed) */ integer chunky, chunkyPlanar, planar; /* Pixel storage format */ integer; /* # bits in pixel */ integer; /* # components in pixel*/ integer; /* # bits per field */ unsigned longint; /* Offset to next plane */ unsigned longint; /* Offset to color table*/ fill long; /* Reserved */ /* Color Table */ unsigned hex longint; /* ctSeed */ integer; /* ctFlags */ integer = $$Countof(ColorSpec) - 1; /* ctSize */ wide array ColorSpec { integer; /* value */ unsigned integer; /* RGB: red */ unsigned integer; /* green */ unsigned integer; /* blue */ }; Rect; /* srcRect */ Rect; /* destRect */ integer srcCopy, srcOr, srcXor, srcBic, /* mode */ notSrcCopy, notSrcOr, notSrcXor, notSrcBic, patCopy, patOr, patXor, patBic, notPatCopy, notPatOr, notPatXor, notPatBic, blend = 32, addPin, addOver, subPin, adMax = 37, subOver, adMin; PackBitsRgnStart2: integer = (PackBitsRgnEnd2[$$ArrayIndex(OpCodes)] - PackBitsRgnStart2[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(PackBitsRgnStart2[$$ArrayIndex(OpCodes)]) - 10]; PackBitsRgnEnd2: hex string [$$PackedSize(PackBitsRgnEnd2[$$ArrayIndex(OpCodes)], $$BitField(PackBitsRgnpMapRowBytes[$$ArrayIndex(OpCodes)],0,13), ($$BitField(PackBitsRgnBounds2[$$ArrayIndex(OpCodes)],32,16) - $$BitField(PackBitsRgnBounds2[$$ArrayIndex(OpCodes)],0,16)))]; case DirectBitsRect: key integer = $009A; DirectBitsRectStart: unsigned integer = (DirectBitsRectEnd[$$ArrayIndex(OpCodes)] - DirectBitsRectStart[$$ArrayIndex(OpCodes)]) >> 3 - 2; unsigned bitstring[1] = 1; /* New pixMap flag */ unsigned bitstring[2] = 0; /* Must be 0 */ DirectBitsRectpMapRowBytes: unsigned bitstring[13]; /* Offset to next row */ DirectBitsRectBounds2: rect; /* Bitmap bounds */ integer; /* pixMap vers number */ integer unpacked; /* Packing format */ unsigned longint; /* Size of pixel data */ unsigned hex longint; /* h. resolution (ppi) (fixed) */ unsigned hex longint; /* v. resolution (ppi) (fixed) */ integer chunky, chunkyPlanar, planar; /* Pixel storage format */ integer; /* # bits in pixel */ integer; /* # components in pixel*/ integer; /* # bits per field */ unsigned longint; /* Offset to next plane */ unsigned longint; /* Offset to color table*/ fill long; /* Reserved */ /* Color Table */ unsigned hex longint; /* ctSeed */ integer; /* ctFlags */ integer = $$Countof(ColorSpec) - 1; /* ctSize */ wide array ColorSpec { integer; /* value */ unsigned integer; /* RGB: red */ unsigned integer; /* green */ unsigned integer; /* blue */ }; Rect; /* srcRect */ Rect; /* destRect */ integer srcCopy, srcOr, srcXor, srcBic, /* mode */ notSrcCopy, notSrcOr, notSrcXor, notSrcBic, patCopy, patOr, patXor, patBic, notPatCopy, notPatOr, notPatXor, notPatBic, blend = 32, addPin, addOver, subPin, adMax = 37, subOver, adMin; DirectBitsRectBits: hex string [$$BitField(DirectBitsRectpMapRowBytes[$$ArrayIndex(OpCodes)],0,13) * ($$BitField(DirectBitsRectBounds2[$$ArrayIndex(OpCodes)],32,16) - $$BitField(DirectBitsRectBounds2[$$ArrayIndex(OpCodes)],0,16))]; DirectBitsRectEnd: case DirectBitsRgn: key integer = $009B; DirectBitsRgnStart: unsigned integer = (DirectBitsRgnEnd[$$ArrayIndex(OpCodes)] - DirectBitsRgnStart[$$ArrayIndex(OpCodes)]) >> 3 - 2; unsigned bitstring[1] = 1; /* New pixMap flag */ unsigned bitstring[2] = 0; /* Must be 0 */ DirectBitsRgnpMapRowBytes: unsigned bitstring[13]; /* Offset to next row */ DirectBitsRgnBounds2: rect; /* Bitmap bounds */ integer; /* pixMap vers number */ integer unpacked; /* Packing format */ unsigned longint; /* Size of pixel data */ unsigned hex longint; /* h. resolution (ppi) (fixed) */ unsigned hex longint; /* v. resolution (ppi) (fixed) */ integer chunky, chunkyPlanar, planar; /* Pixel storage format */ integer; /* # bits in pixel */ integer; /* # components in pixel*/ integer; /* # bits per field */ unsigned longint; /* Offset to next plane */ unsigned longint; /* Offset to color table*/ fill long; /* Reserved */ /* Color Table */ unsigned hex longint; /* ctSeed */ integer; /* ctFlags */ integer = $$Countof(ColorSpec) - 1; /* ctSize */ wide array ColorSpec { integer; /* value */ unsigned integer; /* RGB: red */ unsigned integer; /* green */ unsigned integer; /* blue */ }; Rect; /* srcRect */ Rect; /* destRect */ integer srcCopy, srcOr, srcXor, srcBic, /* mode */ notSrcCopy, notSrcOr, notSrcXor, notSrcBic, patCopy, patOr, patXor, patBic, notPatCopy, notPatOr, notPatXor, notPatBic, blend = 32, addPin, addOver, subPin, adMax = 37, subOver, adMin; DirectBitsMaskRgnStart: integer = (DirectBitsMaskRgnEnd[$$ArrayIndex(OpCodes)] - DirectBitsMaskRgnStart[$$ArrayIndex(OpCodes)]) >> 3; Rect; /* regionŐs enclosing rect */ hex string [$$Word(DirectBitsMaskRgnStart[$$ArrayIndex(OpCodes)]) - 10]; DirectBitsMaskRgnEnd: DirectBitsRgnBits: hex string [$$BitField(DirectBitsRgnpMapRowBytes[$$ArrayIndex(OpCodes)],0,13) * ($$BitField(DirectBitsRgnBounds2[$$ArrayIndex(OpCodes)],32,16) - $$BitField(DirectBitsRgnBounds2[$$ArrayIndex(OpCodes)],0,16))]; DirectBitsRgnEnd: case AppleReserved009C: key integer = $009C; AppleReserved009CStart: unsigned integer = (AppleReserved009CEnd[$$ArrayIndex(OpCodes)] - AppleReserved009CStart[$$ArrayIndex(OpCodes)]) >> 3 - 2; hex string [$$Word(AppleReserved009CStart[$$ArrayIndex(OpCodes)])]; AppleReserved009CEnd: case AppleReserved009D: key integer = $009D; AppleReserved009DStart: unsigned integer = (AppleReserved009DEnd[$$ArrayIndex(OpCodes)] - AppleReserved009DStart[$$ArrayIndex(OpCodes)]) >> 3 - 2; hex string [$$Word(AppleReserved009DStart[$$ArrayIndex(OpCodes)])]; AppleReserved009DEnd: case AppleReserved009E: key integer = $009E; AppleReserved009EStart: unsigned integer = (AppleReserved009EEnd[$$ArrayIndex(OpCodes)] - AppleReserved009EStart[$$ArrayIndex(OpCodes)]) >> 3 - 2; hex string [$$Word(AppleReserved009EStart[$$ArrayIndex(OpCodes)])]; AppleReserved009EEnd: case AppleReserved009F: key integer = $009F; AppleReserved009FStart: unsigned integer = (AppleReserved009FEnd[$$ArrayIndex(OpCodes)] - AppleReserved009FStart[$$ArrayIndex(OpCodes)]) >> 3 - 2; hex string [$$Word(AppleReserved009FStart[$$ArrayIndex(OpCodes)])]; AppleReserved009FEnd: case ShortComment: key integer = $00A0; integer; /* comment kind */ case LongComment: key integer = $00A1; integer; /* comment kind */ LongCommentStart2: integer = (LongCommentEnd2[$$ArrayIndex(OpCodes)] - LongCommentStart2[$$ArrayIndex(OpCodes)] - 16) >> 3; hex string [$$Word(LongCommentStart2[$$ArrayIndex(OpCodes)])]; LongCommentEnd2: case OpEndPic: key integer = $00FF; case HeaderOp: key integer = $0C00; #if oldPICTCompatible longint Version2 = -1; /* Fixed point bounding box */ unsigned hex longint; unsigned hex longint; unsigned hex longint; unsigned hex longint; longint Version2 = -1; /* Reserved */ #else switch { case StandardVersion2: key integer = -1; integer = -1; unsigned hex longint; unsigned hex longint; unsigned hex longint; unsigned hex longint; fill long; /* Reserved */ case ExtendedVersion2: key integer = -2; fill word; unsigned hex longint; /* hRes */ unsigned hex longint; /* vRes */ Rect; /* SrcRect */ fill long; /* Reserved */ }; #endif }; align word; }; }; endOfPict: }; #endif __PICT_R__