home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-09-06 | 21.1 KB | 465 lines | [TEXT/MPS ] |
-
- {
- Created: Tuesday, August 13, 1991 at 4:31 PM
- ImageCompression.p
- Pascal Interface to the Macintosh Libraries
-
- Copyright Apple Computer, Inc. 1991
- All rights reserved
- }
-
-
- {$IFC UNDEFINED UsingIncludes}
- {$SETC UsingIncludes := 0}
- {$ENDC}
-
- {$IFC NOT UsingIncludes}
- UNIT ImageCompression;
- INTERFACE
- {$ENDC}
-
- {$IFC UNDEFINED UsingImageCompression}
- {$SETC UsingImageCompression := 1}
-
- {$I+}
- {$SETC ImageCompressionIncludes := UsingIncludes}
- {$SETC UsingIncludes := 1}
- {$IFC UNDEFINED UsingQuickDraw}
- {$I $$Shell(PInterfaces)QuickDraw.p}
- {$ENDC}
- {$IFC UNDEFINED UsingQDOffscreen}
- {$I $$Shell(PInterfaces)QDOffscreen.p}
- {$ENDC}
- {$IFC UNDEFINED UsingTypes}
- {$I $$Shell(PInterfaces)Types.p}
- {$ENDC}
- {$IFC UNDEFINED UsingComponents}
- {$I $$Shell(PInterfaces)Components.p}
- {$ENDC}
- {$SETC UsingIncludes := ImageCompressionIncludes}
-
- CONST
- gestaltCompressionMgr = 'icmp';
-
- { These are the bits that are set in the Component flags, and also in the codecInfo struct. }
-
- codecInfoDoes1 = $1; { codec can work with 1-bit pixels }
- codecInfoDoes2 = $2; { codec can work with 2-bit pixels }
- codecInfoDoes4 = $4; { codec can work with 4-bit pixels }
- codecInfoDoes8 = $8; { codec can work with 8-bit pixels }
- codecInfoDoes16 = $10; { codec can work with 16-bit pixels }
- codecInfoDoes32 = $20; { codec can work with 32-bit pixels }
- codecInfoDoesDither = $40; { codec can do ditherMode }
- codecInfoDoesStretch = $80; { codec can stretch to arbitrary sizes }
- codecInfoDoesShrink = $100; { codec can shrink to arbitrary sizes }
- codecInfoDoesMask = $200; { codec can mask to clipping regions }
-
- codecInfoDoesTemporal = $400; { codec can handle temporal redundancy }
-
- codecInfoDoesDouble = $800; { codec can stretch to double size exactly }
- codecInfoDoesQuad = $1000; { codec can stretch to quadruple size exactly }
- codecInfoDoesHalf = $2000; { codec can shrink to half size }
- codecInfoDoesQuarter = $4000; { codec can shrink to quarter size }
-
- codecInfoDoesRotate = $8000; { codec can rotate on decompress }
- codecInfoDoesHorizFlip = $10000; { codec can flip horizontally on decompress }
- codecInfoDoesVertFlip = $20000; { codec can flip vertically on decompress }
- codecInfoDoesSkew = $40000; { codec can skew on decompress }
- codecInfoDoesBlend = $80000; { codec can blend on decompress }
- codecInfoDoesWarp = $100000; { codec can warp arbitrarily on decompress }
- codecInfoDoesRecompress = $200000; { codec can recompress image without accumulating errors }
-
- codecInfoDepth1 = $1; { compressed data at 1 bpp depth available }
- codecInfoDepth2 = $2; { compressed data at 2 bpp depth available }
- codecInfoDepth4 = $4; { compressed data at 4 bpp depth available }
- codecInfoDepth8 = $8; { compressed data at 8 bpp depth available }
- codecInfoDepth16 = $10; { compressed data at 16 bpp depth available }
- codecInfoDepth32 = $20; { compressed data at 32 bpp depth available }
- codecInfoDepth24 = $40; { compressed data at 24 bpp depth available }
- codecInfoDepth33 = $80; { compressed data at 1 bpp monochrome depth available }
- codecInfoDepth34 = $100; { compressed data at 2 bpp grayscale depth available }
- codecInfoDepth36 = $200; { compressed data at 4 bpp grayscale depth available }
- codecInfoDepth40 = $400; { compressed data at 8 bpp grayscale depth available }
- codecInfoStoresClut = $800; { compressed data can have custom cluts }
-
- codecFlagUseImageBuffer = $1; { (input) allocate buffer for whole image on decompress sequence }
- codecFlagUseScreenBuffer = $2; { (input) allocate buffer for screen on decompress sequence for faster updates }
- codecFlagUpdatePrevious = $4; { (input) udate previous buffer on compress sequence }
- codecFlagNoScreenUpdate = $8; { (input) dont update screen, but do update image buffer if allocated }
- codecFlagWasCompressed = $10; { (input) hint to compressor that image was previously compressed }
- codecFlagDontOffscreen = $20; { return error instead of automatically going offscreen }
- codecFlagUpdatePreviousComp = $40; { (input) udate previous buffer on compress sequence }
- codecFlagForceKeyFrame = $80; { when sent to CompressSequenceFrame, forces that frame to be a key frame }
-
- codecFlagUsedImageBuffer = $8000; { (output) indicates that image buffer was used on this decompress sequence }
-
- codecErr = -8960; { the codec returned an error }
- noCodecErr = -8961; { the specified codec could not be found }
- codecUnimpErr = -8962; { this feature is not implemented by the specified codec }
- codecSizeErr = -8963;
- codecScreenBufErr = -8964; { the screen buffer could not be allocated }
- codecImageBufErr = -8965; { the image buffer could not be allocated }
- codecSpoolErr = -8966; { the compressed data must be in memory (spooling did not work) }
- codecAbortErr = -8967; { the operation was aborted by the progress proc }
- codecWouldOffscreenErr = -8968; { an offscreen access would have been used, but wasn't allowed because codecFlagDontOffscreen was set }
- codecBadDataErr = -8969; { compressed data was found to have inconsistencies }
- codecDataVersErr = -8970; { compressed data was of a format version that codec couldn't handle }
-
- codecMinimumDataSize = 16384; { The minimum data size for spooling in or out data }
-
- compressorComponentType = 'imco'; { the type for "Components" which compress images }
- decompressorComponentType = 'imdc'; { the type for "Components" which decompress images }
-
- TYPE
- CompressorComponent = Component; { a Component which compresses images }
- DecompressorComponent = Component; { a Component which decompresses images }
- CodecComponent = Component; { a Component which decompresses or compresses images }
-
- sBoolean = INTEGER; { to make sure stack frames are right }
-
- CodecType = LONGINT; { type descriptor for codecs i.e: 'appl','jpeg','rle ' }
-
- CodecFlags = INTEGER; { flags for codec manager calls }
-
- CodecQ = LONGINT;
- DataProcPtr = OSErr;
- FlushProcPtr = OSErr;
-
- CONST
- codecCompletionSource = 1;
- codecCompletionDest = 2;
-
- TYPE
- CompletionProcPtr = ProcPtr;
-
- CONST
- codecProgressOpen = 0;
- codecProgressUpdatePercent = 1;
- codecProgressClose = 2;
-
- TYPE
- ProgressProcPtr = ProcPtr;
-
- ImageSequence = LONGINT;
-
- ProgressProcRecordPtr = ^ProgressProcRecord;
- ProgressProcRecord = RECORD
- progressProc: ProgressProcPtr;
- progressRefCon: LONGINT;
- END;
-
- CompletionProcRecordPtr = ^CompletionProcRecord;
- CompletionProcRecord = RECORD
- completionProc: CompletionProcPtr;
- completionRefCon: LONGINT;
- END;
-
- DataProcRecordPtr = ^DataProcRecord;
- DataProcRecord = RECORD
- dataProc: DataProcPtr;
- dataRefCon: LONGINT;
- END;
-
- FlushProcRecordPtr = ^FlushProcRecord;
- FlushProcRecord = RECORD
- flushProc: FlushProcPtr;
- flushRefCon: LONGINT;
- END;
-
- {
- The ImageDescription is private data which is produced when an image or sequence
- is compressed. It fully describes the format of the compressed data.}
-
- ImageDescriptionPtr = ^ImageDescription;
- ImageDescriptionHandle = ^ImageDescriptionPtr;
- ImageDescription = RECORD
- idSize: LONGINT; { total size of ImageDescription including extra data ( CLUTs and other per sequence data }
- cType: CodecType; { what kind of codec compressed this data }
- resvd1: LONGINT; { reserved for apple use }
- resvd2: INTEGER; { reserved for apple use }
- dataRefIndex: INTEGER; { set to zero }
- version: INTEGER; { which version is this data }
- revisionLevel: INTEGER; { what version of that codec did this }
- vendor: LONGINT; { whose codec compressed this data }
- temporalQuality: CodecQ; { what was the temporal quality factor }
- spatialQuality: CodecQ; { what was the spatial quality factor }
- width: INTEGER; { how many pixels wide is this data }
- height: INTEGER; { how many pixels high is this data }
- hRes: Fixed; { horizontal resolution }
- vRes: Fixed; { vertical resolution }
- dataSize: LONGINT; { if known, the size of data for this image descriptor }
- frameCount: INTEGER; { number of frames this description applies to }
- name: ARRAY [0..31] OF CHAR; { name of codec ( in case not installed ) }
- depth: INTEGER; { what depth is this data (1-32) or ( 33-40 grayscale ) }
- clutID: INTEGER; { clut id or if 0 clut follows or -1 if no clut }
- END;
-
- {
- The CodecInfo is the information returned as the codecInfo struct by a codec Component
- to the codec manager or to the caller. It is specific to the particular codec
- implementation and not to the codec type.}
-
- CodecInfo = RECORD
- typeName: ARRAY [0..31] OF CHAR; { name of the codec type i.e.: 'Apple Image Compression' }
- version: INTEGER; { version of the codec data that this codec knows about }
- revisionLevel: INTEGER; { revision level of this codec i.e: 0x00010001 (1.0.1) }
- vendor: LONGINT; { Maker of this codec i.e: 'appl' }
- decompressFlags: LONGINT; { codecInfo flags for decompression capabilities }
- compressFlags: LONGINT; { codecInfo flags for compression capabilities }
- formatFlags: LONGINT; { codecInfo flags for compression format details }
- compressionAccuracy: CHAR; { measure (1-255) of accuracy of this codec for compress (0 if unknown) }
- decompressionAccuracy: CHAR; { measure (1-255) of accuracy of this codec for decompress (0 if unknown) }
- compressionSpeed: INTEGER; { ( millisecs for compressing 320x240 on base mac II) (0 if unknown) }
- decompressionSpeed: INTEGER; { ( millisecs for decompressing 320x240 on mac II)(0 if unknown) }
- compressionLevel: CHAR; { measure (1-255) of compression level of this codec (0 if unknown) }
- resvd: CHAR; { pad }
- minimumHeight: INTEGER; { minimum height of image (block size) }
- minimumWidth: INTEGER; { minimum width of image (block size) }
- decompressPipelineLatency: INTEGER; { in milliseconds ( for asynchronous codecs ) }
- compressPipelineLatency: INTEGER; { in milliseconds ( for asynchronous codecs ) }
- privateData: LONGINT;
- END;
-
- { Table used for fast dithering. }
- DTabPtr = ^DitherTable;
- DTabHandle = ^DTabPtr;
- DitherTable = RECORD
- tag: LONGINT;
- seed: LONGINT;
- reserved: LONGINT;
- data: ARRAY [0..0] OF CHAR;
- END;
-
- { Name list returned by GetCodecNameList. }
- CodecNameSpec = RECORD
- codec: CodecComponent;
- cType: CodecType;
- typeName: ARRAY [0..31] OF CHAR;
- name: Handle;
- END;
-
- CodecNameSpecListPtr = ^CodecNameSpecList;
- CodecNameSpecList = RECORD
- count: INTEGER;
- list: ARRAY [0..0] OF CodecNameSpec;
- END;
-
- { Matrix stuff }
- MatrixRecordPtr = ^MatrixRecord;
- MatrixRecord = RECORD
- matrix: ARRAY [0..2,0..2] OF Fixed;
- END;
-
- FixedPoint = RECORD
- x: Fixed;
- y: Fixed;
- END;
-
- FixedRect = RECORD
- left: Fixed;
- top: Fixed;
- right: Fixed;
- bottom: Fixed;
- END;
-
-
- FUNCTION CodecManagerVersion(VAR version: LONGINT): OSErr;
- INLINE $7000+$0000,$AAA3;
- FUNCTION GetCodecNameList(VAR list: CodecNameSpecListPtr;showAll: sBoolean): OSErr;
- INLINE $7000+$0001,$AAA3;
- FUNCTION GetCodecInfo(VAR info: CodecInfo;cType: CodecType;codec: CodecComponent): OSErr;
- INLINE $7000+$0003,$AAA3;
- FUNCTION GetMaxCompressionSize(src: PixMapHandle;VAR srcRect: Rect;colorDepth: INTEGER;
- quality: CodecQ;cType: CodecType;codec: CompressorComponent;VAR size: LONGINT): OSErr;
- INLINE $7000+$0004,$AAA3;
- FUNCTION GetCompressionTime(src: PixMapHandle;VAR srcRect: Rect;colorDepth: INTEGER;
- cType: CodecType;codec: CompressorComponent;VAR spatialQuality: CodecQ;
- VAR temporalQuality: CodecQ;VAR compressTime: LONGINT): OSErr;
- INLINE $7000+$0005,$AAA3;
- FUNCTION CompressImage(src: PixMapHandle;VAR srcRect: Rect;quality: CodecQ;
- cType: CodecType;desc: ImageDescriptionHandle;data: Ptr): OSErr;
- INLINE $7000+$0006,$AAA3;
- FUNCTION FCompressImage(src: PixMapHandle;VAR srcRect: Rect;colorDepth: INTEGER;
- quality: CodecQ;cType: CodecType;codec: CompressorComponent;clut: CTabHandle;
- flags: CodecFlags;bufferSize: LONGINT;flushProc: FlushProcRecordPtr;progressProc: ProgressProcRecordPtr;
- desc: ImageDescriptionHandle;data: Ptr): OSErr;
- INLINE $7000+$0007,$AAA3;
- FUNCTION DecompressImage(data: Ptr;desc: ImageDescriptionHandle;dst: PixMapHandle;
- VAR srcRect: Rect;VAR dstRect: Rect;mode: INTEGER;mask: RgnHandle): OSErr;
- INLINE $7000+$0008,$AAA3;
- FUNCTION FDecompressImage(data: Ptr;desc: ImageDescriptionHandle;dst: PixMapHandle;
- VAR srcRect: Rect;matrix: MatrixRecordPtr;mode: INTEGER;mask: RgnHandle;
- matte: PixMapHandle;VAR matteRect: Rect;accuracy: CodecQ;codec: DecompressorComponent;
- bufferSize: LONGINT;dataProc: DataProcRecordPtr;progressProc: ProgressProcRecordPtr): OSErr;
- INLINE $7000+$0009,$AAA3;
- FUNCTION CompressSequenceBegin(VAR seqID: ImageSequence;src: PixMapHandle;
- prev: PixMapHandle;VAR srcRect: Rect;VAR prevRect: Rect;colorDepth: INTEGER;
- cType: CodecType;codec: CompressorComponent;spatialQuality: CodecQ;temporalQuality: CodecQ;
- keyFrameRate: LONGINT;clut: CTabHandle;flags: CodecFlags;desc: ImageDescriptionHandle): OSErr;
- INLINE $7000+$000A,$AAA3;
- FUNCTION CompressSequenceFrame(seqID: ImageSequence;src: PixMapHandle;VAR srcRect: Rect;
- flags: CodecFlags;data: Ptr;VAR dataSize: LONGINT;VAR similarity: CHAR;
- asyncCompletionProc: CompletionProcRecordPtr): OSErr;
- INLINE $7000+$000B,$AAA3;
- FUNCTION DecompressSequenceBegin(VAR seqID: ImageSequence;desc: ImageDescriptionHandle;
- port: CGrafPtr;gdh: GDHandle;VAR srcRect: Rect;matrix: MatrixRecordPtr;
- mode: INTEGER;mask: RgnHandle;flags: CodecFlags;accuracy: CodecQ;codec: DecompressorComponent): OSErr;
- INLINE $7000+$000D,$AAA3;
- FUNCTION DecompressSequenceFrame(seqID: ImageSequence;data: Ptr;inFlags: CodecFlags;
- VAR outFlags: CodecFlags;asyncCompletionProc: CompletionProcRecordPtr): OSErr;
- INLINE $7000+$000E,$AAA3;
- FUNCTION SetDSequenceMatrix(seqID: ImageSequence;matrix: MatrixRecordPtr): OSErr;
- INLINE $7000+$0010,$AAA3;
- FUNCTION SetDSequenceMatte(seqID: ImageSequence;matte: PixMapHandle;VAR matteRect: Rect): OSErr;
- INLINE $7000+$0011,$AAA3;
- FUNCTION SetDSequenceMask(seqID: ImageSequence;mask: RgnHandle): OSErr;
- INLINE $7000+$0012,$AAA3;
- FUNCTION SetDSequenceTransferMode(seqID: ImageSequence;mode: INTEGER;VAR opColor: RGBColor): OSErr;
- INLINE $7000+$0013,$AAA3;
- FUNCTION SetDSequenceDataProc(seqID: ImageSequence;dataProc: DataProcRecordPtr;
- bufferSize: LONGINT): OSErr;
- INLINE $7000+$0014,$AAA3;
- FUNCTION SetDSequenceAccuracy(seqID: ImageSequence;accuracy: CodecQ): OSErr;
- INLINE $7000+$0034,$AAA3;
- FUNCTION SetDSequenceSrcRect(seqID: ImageSequence;VAR srcRect: Rect): OSErr;
- INLINE $7000+$0035,$AAA3;
- FUNCTION GetDSequenceImageBuffer(seqID: ImageSequence;VAR gworld: GWorldPtr): OSErr;
- INLINE $7000+$0015,$AAA3;
- FUNCTION GetDSequenceScreenBuffer(seqID: ImageSequence;VAR gworld: GWorldPtr): OSErr;
- INLINE $7000+$0016,$AAA3;
- FUNCTION SetCSequenceQuality(seqID: ImageSequence;spatialQuality: CodecQ;
- temporalQuality: CodecQ): OSErr;
- INLINE $7000+$0017,$AAA3;
- FUNCTION SetCSequencePrev(seqID: ImageSequence;prev: PixMapHandle;VAR prevRect: Rect): OSErr;
- INLINE $7000+$0018,$AAA3;
- FUNCTION SetCSequenceFlushProc(seqID: ImageSequence;flushProc: FlushProcRecordPtr;
- bufferSize: LONGINT): OSErr;
- INLINE $7000+$0033,$AAA3;
- FUNCTION SetCSequenceKeyFrameRate(seqID: ImageSequence;keyframerate: LONGINT): OSErr;
- INLINE $7000+$0036,$AAA3;
- FUNCTION GetCSequencePrevBuffer(seqID: ImageSequence;VAR gworld: GWorldPtr): OSErr;
- INLINE $7000+$0019,$AAA3;
- FUNCTION CDSequenceBusy(seqID: ImageSequence): OSErr;
- INLINE $7000+$001A,$AAA3;
- FUNCTION CDSequenceEnd(seqID: ImageSequence): OSErr;
- INLINE $7000+$001B,$AAA3;
- FUNCTION GetCompressedImageSize(desc: ImageDescriptionHandle;data: Ptr;
- bufferSize: LONGINT;dataProc: DataProcRecordPtr;VAR dataSize: LONGINT): OSErr;
- INLINE $7000+$001C,$AAA3;
- FUNCTION GetSimilarity(src: PixMapHandle;VAR srcRect: Rect;desc: ImageDescriptionHandle;
- data: Ptr;VAR similarity: Fixed): OSErr;
- INLINE $7000+$001D,$AAA3;
- FUNCTION GetImageDescriptionCTable(desc: ImageDescriptionHandle;VAR ctable: CTabHandle): OSErr;
- INLINE $7000+$001E,$AAA3;
- FUNCTION SetImageDescriptionCTable(desc: ImageDescriptionHandle;ctable: CTabHandle): OSErr;
- INLINE $7000+$001F,$AAA3;
- FUNCTION GetImageDescriptionExtension(desc: ImageDescriptionHandle;VAR extension: Handle;
- idType: LONGINT;index: LONGINT): OSErr;
- INLINE $7000+$0020,$AAA3;
- FUNCTION SetImageDescriptionExtension(desc: ImageDescriptionHandle;extension: Handle;
- idType: LONGINT): OSErr;
- INLINE $7000+$0021,$AAA3;
- FUNCTION FindCodec(cType: CodecType;specCodec: CodecComponent;VAR compressor: CompressorComponent;
- VAR decompressor: DecompressorComponent): OSErr;
- INLINE $7000+$0023,$AAA3;
- FUNCTION CompressPicture(srcPicture: PicHandle;dstPicture: PicHandle;quality: CodecQ;
- cType: CodecType): OSErr;
- INLINE $7000+$0024,$AAA3;
- FUNCTION FCompressPicture(srcPicture: PicHandle;dstPicture: PicHandle;colorDepth: INTEGER;
- clut: CTabHandle;quality: CodecQ;doDither: sBoolean;compressAgain: sBoolean;
- progressProc: ProgressProcRecordPtr;cType: CodecType;codec: CompressorComponent): OSErr;
- INLINE $7000+$0025,$AAA3;
- FUNCTION CompressPictureFile(srcRefNum: INTEGER;dstRefNum: INTEGER;quality: CodecQ;
- cType: CodecType): OSErr;
- INLINE $7000+$0026,$AAA3;
- FUNCTION FCompressPictureFile(srcRefNum: INTEGER;dstRefNum: INTEGER;colorDepth: INTEGER;
- clut: CTabHandle;quality: CodecQ;doDither: sBoolean;compressAgain: sBoolean;
- progressProc: ProgressProcRecordPtr;cType: CodecType;codec: CompressorComponent): OSErr;
- INLINE $7000+$0027,$AAA3;
- FUNCTION GetPictureFileHeader(refNum: INTEGER;VAR frame: Rect;VAR header: OpenCPicParams): OSErr;
- INLINE $7000+$0028,$AAA3;
- FUNCTION DrawPictureFile(refNum: INTEGER;VAR frame: Rect;progressProc: ProgressProcRecordPtr): OSErr;
- INLINE $7000+$0029,$AAA3;
- FUNCTION DrawTrimmedPicture(srcPicture: PicHandle;VAR frame: Rect;trimMask: RgnHandle;
- doDither: sBoolean;progressProc: ProgressProcRecordPtr): OSErr;
- INLINE $7000+$002E,$AAA3;
- FUNCTION DrawTrimmedPictureFile(srcRefnum: INTEGER;VAR frame: Rect;trimMask: RgnHandle;
- doDither: sBoolean;progressProc: ProgressProcRecordPtr): OSErr;
- INLINE $7000+$002F,$AAA3;
- FUNCTION MakeThumbnailFromPicture(picture: PicHandle;colorDepth: INTEGER;
- thumbnail: PicHandle;progressProc: ProgressProcRecordPtr): OSErr;
- INLINE $7000+$002A,$AAA3;
- FUNCTION MakeThumbnailFromPictureFile(refNum: INTEGER;colorDepth: INTEGER;
- thumbnail: PicHandle;progressProc: ProgressProcRecordPtr): OSErr;
- INLINE $7000+$002B,$AAA3;
- FUNCTION MakeThumbnailFromPixMap(src: PixMapHandle;VAR srcRect: Rect;colorDepth: INTEGER;
- thumbnail: PicHandle;progressProc: ProgressProcRecordPtr): OSErr;
- INLINE $7000+$002C,$AAA3;
- FUNCTION TrimImage(desc: ImageDescriptionHandle;inData: Ptr;inBufferSize: LONGINT;
- dataProc: DataProcRecordPtr;outData: Ptr;outBufferSize: LONGINT;flushProc: FlushProcRecordPtr;
- VAR trimRect: Rect;progressProc: ProgressProcRecordPtr): OSErr;
- INLINE $7000+$002D,$AAA3;
- FUNCTION ConvertImage(srcDD: ImageDescriptionHandle;srcData: Ptr;colorDepth: INTEGER;
- clut: CTabHandle;accuracy: CodecQ;quality: CodecQ;cType: CodecType;codec: CodecComponent;
- dstDD: ImageDescriptionHandle;dstData: Ptr): OSErr;
- INLINE $7000+$0030,$AAA3;
- FUNCTION MakeDitherTable(gdev: GDHandle;VAR ditherTable: DTabHandle): OSErr;
- INLINE $7000+$0031,$AAA3;
- FUNCTION DisposeDitherTable(ditherTable: DTabHandle): OSErr;
- INLINE $7000+$0032,$AAA3;
- FUNCTION GetCompressedPixMapInfo(pix: PixMapPtr;VAR desc: ImageDescriptionHandle;
- VAR data: Ptr;VAR bufferSize: LONGINT;VAR dataProc: DataProcRecord;VAR progressProc: ProgressProcRecord): OSErr;
- INLINE $7000+$0037,$AAA3;
- FUNCTION SetCompressedPixMapInfo(pix: PixMapPtr;desc: ImageDescriptionHandle;
- data: Ptr;bufferSize: LONGINT;dataProc: DataProcRecordPtr;progressProc: ProgressProcRecordPtr): OSErr;
- INLINE $7000+$0038,$AAA3;
- FUNCTION GetMatrixType(VAR m: MatrixRecord): INTEGER;
- INLINE $7014,$ABC2;
- PROCEDURE CopyMatrix(VAR m1: MatrixRecord;VAR m2: MatrixRecord);
- INLINE $7020,$ABC2;
- FUNCTION EqualMatrix(VAR m1: MatrixRecord;VAR m2: MatrixRecord): BOOLEAN;
- INLINE $7021,$ABC2;
- PROCEDURE SetIdentityMatrix(VAR matrix: MatrixRecord);
- INLINE $7015,$ABC2;
- PROCEDURE TranslateMatrix(VAR m: MatrixRecord;deltaH: Fixed;deltaV: Fixed);
- INLINE $7019,$ABC2;
- PROCEDURE TranslateMatrixTo(VAR m: MatrixRecord;deltaH: Fixed;deltaV: Fixed);
- INLINE $701A,$ABC2;
- PROCEDURE RotateMatrix(VAR m: MatrixRecord;degrees: Fixed;aboutX: Fixed;
- aboutY: Fixed);
- INLINE $7016,$ABC2;
- PROCEDURE ScaleMatrix(VAR m: MatrixRecord;scaleX: Fixed;scaleY: Fixed;aboutX: Fixed;
- aboutY: Fixed);
- INLINE $7017,$ABC2;
- PROCEDURE SkewMatrix(VAR m: MatrixRecord;skewX: Fixed;skewY: Fixed;aboutX: Fixed;
- aboutY: Fixed);
- INLINE $7018,$ABC2;
- FUNCTION TransformFixedPoints(VAR m: MatrixRecord;VAR fpt: FixedPoint;count: LONGINT): OSErr;
- INLINE $7022,$ABC2;
- FUNCTION TransformPoints(VAR mp: MatrixRecord;VAR pt1: Point;count: LONGINT): OSErr;
- INLINE $7023,$ABC2;
- FUNCTION TransformFixedRect(VAR m: MatrixRecord;VAR fr: FixedRect;VAR fpp: FixedPoint): BOOLEAN;
- INLINE $7024,$ABC2;
- FUNCTION TransformRect(VAR m: MatrixRecord;VAR r: Rect;VAR fpp: FixedPoint): BOOLEAN;
- INLINE $7025,$ABC2;
- FUNCTION TransformRgn(VAR mp: MatrixRecord;r: RgnHandle): OSErr;
- INLINE $7000+$0039,$AAA3;
- FUNCTION InverseMatrix(VAR m: MatrixRecord;VAR im: MatrixRecord): BOOLEAN;
- INLINE $701C,$ABC2;
- PROCEDURE ConcatMatrix(VAR a: MatrixRecord;VAR b: MatrixRecord);
- INLINE $701B,$ABC2;
- PROCEDURE RectMatrix(VAR matrix: MatrixRecord;VAR srcRect: Rect;VAR dstRect: Rect);
- INLINE $701E,$ABC2;
- PROCEDURE MapMatrix(VAR matrix: MatrixRecord;VAR fromRect: Rect;VAR toRect: Rect);
- INLINE $701D,$ABC2;
- PROCEDURE AlignMatrix(VAR mrp: MatrixRecord;VAR srcRect: Rect);
- INLINE $701F,$ABC2;
-
-
- {$ENDC} { UsingImageCompression }
-
- {$IFC NOT UsingIncludes}
- END.
- {$ENDC}
-
-