supermario/bin/MPW-3.2.3/Interfaces/RIncludes/Pict.r
2019-06-29 22:17:03 +08:00

1521 lines
48 KiB
R
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
Pict.r -- Type Declaration for Rez and DeRez
Copyright Apple Computer, Inc. 1986-1989
All rights reserved.
This PICT resource definition should probably used
for DeRezing purposes only.
*/
#ifndef __PICT.R__
#define __PICT.R__
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, 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(framePoly) * 4 + 10;
Rect; /* enclosing rectangle */
array framePoly {
Point;
};
case paintPoly:
key byte = $71;
integer = $$CountOf(framePoly) * 4 + 10;
Rect; /* enclosing rectangle */
array framePoly {
Point;
};
case erasePoly:
key byte = $72;
integer = $$CountOf(framePoly) * 4 + 10;
Rect; /* enclosing rectangle */
array framePoly {
Point;
};
case invertPoly:
key byte = $73;
integer = $$CountOf(framePoly) * 4 + 10;
Rect; /* enclosing rectangle */
array framePoly {
Point;
};
case fillPoly:
key byte = $74;
integer = $$CountOf(framePoly) * 4 + 10;
Rect; /* enclosing rectangle */
array framePoly {
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, 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, 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, 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, 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, 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 - AR24) / 8 - 2;
hex string [$$Word(AR24)];
AR24End:
case AppleReserved0025:
key integer = $0025;
AR25: unsigned integer = (AR25End - AR25) / 8 - 2;
hex string [$$Word(AR25)];
AR25End:
case AppleReserved0026:
key integer = $0026;
AR26: unsigned integer = (AR26End - AR26) / 8 - 2;
hex string [$$Word(AR26)];
AR26End:
case AppleReserved0027:
key integer = $0027;
AR27: unsigned integer = (AR27End - AR27) / 8 - 2;
hex string [$$Word(AR27)];
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 = $002A;
byte; /* dh */
byte; /* dv */
pstring; /* text */
case AppleReserved002C:
key integer = $002C;
AR2C: unsigned integer = (AR2CEnd - AR2C) / 8 - 2;
hex string [$$Word(AR2C)];
AR2CEnd:
case AppleReserved002D:
key integer = $002D;
AR2D: unsigned integer = (AR2DEnd - AR2D) / 8 - 2;
hex string [$$Word(AR2D)];
AR2DEnd:
case AppleReserved002E:
key integer = $002E;
AR2E: unsigned integer = (AR2EEnd - AR2E) / 8 - 2;
hex string [$$Word(AR2E)];
AR2EEnd:
case AppleReserved002F:
key integer = $002F;
AR2F: unsigned integer = (AR2FEnd - AR2F) / 8 - 2;
hex string [$$Word(AR2F)];
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(framePoly) * 4 + 10;
Rect; /* enclosing rectangle */
array framePoly {
Point;
};
case paintPoly:
key integer = $0071;
integer = $$CountOf(framePoly) * 4 + 10;
Rect; /* enclosing rectangle */
array framePoly {
Point;
};
case erasePoly:
key integer = $0072;
integer = $$CountOf(framePoly) * 4 + 10;
Rect; /* enclosing rectangle */
array framePoly {
Point;
};
case invertPoly:
key integer = $0073;
integer = $$CountOf(framePoly) * 4 + 10;
Rect; /* enclosing rectangle */
array framePoly {
Point;
};
case fillPoly:
key integer = $0074;
integer = $$CountOf(framePoly) * 4 + 10;
Rect; /* enclosing rectangle */
array framePoly {
Point;
};
case AppleReserved0075:
key integer = $0075;
integer = $$CountOf(framePoly) * 4 + 10;
Rect; /* enclosing rectangle */
array framePoly {
Point;
};
case AppleReserved0076:
key integer = $0076;
integer = $$CountOf(framePoly) * 4 + 10;
Rect; /* enclosing rectangle */
array framePoly {
Point;
};
case AppleReserved0077:
key integer = $0077;
integer = $$CountOf(framePoly) * 4 + 10;
Rect; /* enclosing rectangle */
array framePoly {
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, 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, 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, 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, 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 AppleReserved009A:
key integer = $009A;
AppleReserved009AStart: unsigned integer = (AppleReserved009AEnd[$$ArrayIndex(OpCodes)] - AppleReserved009AStart[$$ArrayIndex(OpCodes)]) >> 3 - 2;
hex string [$$Word(AppleReserved009AStart[$$ArrayIndex(OpCodes)])];
AppleReserved009AEnd:
case AppleReserved009B:
key integer = $009B;
AppleReserved009BStart: unsigned integer = (AppleReserved009BEnd[$$ArrayIndex(OpCodes)] - AppleReserved009BStart[$$ArrayIndex(OpCodes)]) >> 3 - 2;
hex string [$$Word(AppleReserved009BStart[$$ArrayIndex(OpCodes)])];
AppleReserved009BEnd:
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;
longint Version2 = -1;
/* Fixed point bounding box */
unsigned hex longint;
unsigned hex longint;
unsigned hex longint;
unsigned hex longint;
longint Version2 = -1; /* Reserved */
};
align word;
};
};
endOfPict:
};
#endif __PICT.R__