mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-12-01 18:50:30 +00:00
1619 lines
53 KiB
R
1619 lines
53 KiB
R
|
/*
|
|||
|
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__
|