mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-12-29 07:29:15 +00:00
142 lines
4.8 KiB
OpenEdge ABL
142 lines
4.8 KiB
OpenEdge ABL
|
|
||
|
{
|
||
|
Created: Saturday, July 27, 1991 at 10:41 PM
|
||
|
QDOffscreen.p
|
||
|
Pascal Interface to the Macintosh Libraries
|
||
|
|
||
|
Copyright Apple Computer, Inc. 1985-1991
|
||
|
All rights reserved
|
||
|
This file is used in these builds: BigBang Sys606
|
||
|
|
||
|
Change History (most recent first):
|
||
|
|
||
|
<11> 7/31/91 JL Updated Copyright. Restored Comments.
|
||
|
<10> 2/4/91 JL Added pixPurgeBit, noNewDeviceBit, useTempMemBit, keepLocalBit,
|
||
|
pixelsPurgeableBit, pixelsLockedBit, mapPixBit, newDepthBi,
|
||
|
alignPixBit, newRowBytesBit, reallocPixBit, clipPixBit,
|
||
|
stretchPixBit, ditherPixBit, gwFlagErrBit.
|
||
|
<9> 1/30/91 JL changed parameter name of PixMap32Bit to pmHandle.
|
||
|
<8> 1/28/91 LN Checked in Database Generated File from DSG.
|
||
|
<7> 1/15/91 KON Change useMFTempBit to UseTempMemBit. [csd]
|
||
|
<6> 11/4/90 dba use shorter inline for OffscreenVersion
|
||
|
<5> 4/3/90 ngk Fixed definition of OffscreenVersion
|
||
|
<4> 3/30/90 KON High word of D0 contains number of parameters, low word contains
|
||
|
selector for all GWorld calls.
|
||
|
<3> 3/27/90 KON Added useMFTemp flag, keepLocal flag, and prototypes for
|
||
|
selectors 19-23.
|
||
|
}
|
||
|
|
||
|
|
||
|
{$IFC UNDEFINED UsingIncludes}
|
||
|
{$SETC UsingIncludes := 0}
|
||
|
{$ENDC}
|
||
|
|
||
|
{$IFC NOT UsingIncludes}
|
||
|
UNIT QDOffscreen;
|
||
|
INTERFACE
|
||
|
{$ENDC}
|
||
|
|
||
|
{$IFC UNDEFINED UsingQDOffscreen}
|
||
|
{$SETC UsingQDOffscreen := 1}
|
||
|
|
||
|
{$I+}
|
||
|
{$SETC QDOffscreenIncludes := UsingIncludes}
|
||
|
{$SETC UsingIncludes := 1}
|
||
|
{$IFC UNDEFINED UsingQuickdraw}
|
||
|
{$I $$Shell(PInterfaces)Quickdraw.p}
|
||
|
{$ENDC}
|
||
|
{$SETC UsingIncludes := QDOffscreenIncludes}
|
||
|
|
||
|
CONST
|
||
|
|
||
|
{ New error codes }
|
||
|
cDepthErr = -157; {invalid pixel depth}
|
||
|
pixPurgeBit = 0;
|
||
|
noNewDeviceBit = 1;
|
||
|
useTempMemBit = 2;
|
||
|
keepLocalBit = 3;
|
||
|
pixelsPurgeableBit = 6;
|
||
|
pixelsLockedBit = 7;
|
||
|
mapPixBit = 16;
|
||
|
newDepthBit = 17;
|
||
|
alignPixBit = 18;
|
||
|
newRowBytesBit = 19;
|
||
|
reallocPixBit = 20;
|
||
|
clipPixBit = 28;
|
||
|
stretchPixBit = 29;
|
||
|
ditherPixBit = 30;
|
||
|
gwFlagErrBit = 31;
|
||
|
|
||
|
TYPE
|
||
|
GWorldFlags = SET OF (pixPurge,noNewDevice,useTempMem,keepLocal,GWorldFlags4,
|
||
|
GWorldFlags5,pixelsPurgeable,pixelsLocked,GWorldFlags8,GWorldFlags9,GWorldFlags10,
|
||
|
GWorldFlags11,GWorldFlags12,GWorldFlags13,GWorldFlags14,GWorldFlags15,
|
||
|
mapPix,newDepth,alignPix,newRowBytes,reallocPix,GWorldFlags21,GWorldFlags22,
|
||
|
GWorldFlags23,GWorldFlags24,GWorldFlags25,GWorldFlags26,GWorldFlags27,
|
||
|
clipPix,stretchPix,ditherPix,gwFlagErr);
|
||
|
|
||
|
|
||
|
{ Type definition of a GWorldPtr }
|
||
|
GWorldPtr = CGrafPtr;
|
||
|
|
||
|
FUNCTION NewGWorld(VAR offscreenGWorld: GWorldPtr;PixelDepth: INTEGER;boundsRect: Rect;
|
||
|
cTable: CTabHandle;aGDevice: GDHandle;flags: GWorldFlags): QDErr;
|
||
|
INLINE $203C, $0016, $0000,$AB1D;
|
||
|
FUNCTION LockPixels(pm: PixMapHandle): BOOLEAN;
|
||
|
INLINE $203C, $0004, $0001, $AB1D;
|
||
|
PROCEDURE UnlockPixels(pm: PixMapHandle);
|
||
|
INLINE $203C, $0004, $0002, $AB1D;
|
||
|
FUNCTION UpdateGWorld(VAR offscreenGWorld: GWorldPtr;pixelDepth: INTEGER;
|
||
|
boundsRect: Rect;cTable: CTabHandle;aGDevice: GDHandle;flags: GWorldFlags): GWorldFlags;
|
||
|
INLINE $203C, $0016, $0003, $AB1D;
|
||
|
PROCEDURE DisposeGWorld(offscreenGWorld: GWorldPtr);
|
||
|
INLINE $203C, $0004, $0004, $AB1D;
|
||
|
PROCEDURE GetGWorld(VAR port: CGrafPtr;VAR gdh: GDHandle);
|
||
|
INLINE $203C, $0008, $0005, $AB1D;
|
||
|
PROCEDURE SetGWorld(port: CGrafPtr;gdh: GDHandle);
|
||
|
INLINE $203C, $0008, $0006, $AB1D;
|
||
|
PROCEDURE CTabChanged(ctab: CTabHandle);
|
||
|
INLINE $203C, $0004, $0007, $AB1D;
|
||
|
PROCEDURE PixPatChanged(ppat: PixPatHandle);
|
||
|
INLINE $203C, $0004, $0008, $AB1D;
|
||
|
PROCEDURE PortChanged(port: GrafPtr);
|
||
|
INLINE $203C, $0004, $0009, $AB1D;
|
||
|
PROCEDURE GDeviceChanged(gdh: GDHandle);
|
||
|
INLINE $203C, $0004, $000A, $AB1D;
|
||
|
PROCEDURE AllowPurgePixels(pm: PixMapHandle);
|
||
|
INLINE $203C, $0004, $000B, $AB1D;
|
||
|
PROCEDURE NoPurgePixels(pm: PixMapHandle);
|
||
|
INLINE $203C, $0004, $000C, $AB1D;
|
||
|
FUNCTION GetPixelsState(pm: PixMapHandle): GWorldFlags;
|
||
|
INLINE $203C, $0004, $000D, $AB1D;
|
||
|
PROCEDURE SetPixelsState(pm: PixMapHandle;state: GWorldFlags);
|
||
|
INLINE $203C, $0008, $000E, $AB1D;
|
||
|
FUNCTION GetPixBaseAddr(pm: PixMapHandle): Ptr;
|
||
|
INLINE $203C, $0004, $000F, $AB1D;
|
||
|
FUNCTION NewScreenBuffer(globalRect: Rect;purgeable: BOOLEAN;VAR gdh: GDHandle;
|
||
|
VAR offscreenPixMap: PixMapHandle): QDErr;
|
||
|
INLINE $203C, $000E, $0010, $AB1D;
|
||
|
PROCEDURE DisposeScreenBuffer(offscreenPixMap: PixMapHandle);
|
||
|
INLINE $203C, $0004, $0011, $AB1D;
|
||
|
FUNCTION GetGWorldDevice(offscreenGWorld: GWorldPtr): GDHandle;
|
||
|
INLINE $203C, $0004, $0012, $AB1D;
|
||
|
FUNCTION QDDone(port: GrafPtr): BOOLEAN;
|
||
|
INLINE $203C, $0004, $0013, $AB1D;
|
||
|
FUNCTION OffscreenVersion: LONGINT;
|
||
|
INLINE $7014, $AB1D;
|
||
|
FUNCTION NewTempScreenBuffer(globalRect: Rect;purgeable: BOOLEAN;VAR gdh: GDHandle;
|
||
|
VAR offscreenPixMap: PixMapHandle): QDErr;
|
||
|
INLINE $203C, $000E, $0015, $AB1D;
|
||
|
FUNCTION PixMap32Bit(pmHandle: PixMapHandle): BOOLEAN;
|
||
|
INLINE $203C, $0004, $0016, $AB1D;
|
||
|
FUNCTION GetGWorldPixMap(offscreenGWorld: GWorldPtr): PixMapHandle;
|
||
|
INLINE $203C, $0004, $0017, $AB1D;
|
||
|
|
||
|
|
||
|
{$ENDC} { UsingQDOffscreen }
|
||
|
|
||
|
{$IFC NOT UsingIncludes}
|
||
|
END.
|
||
|
{$ENDC}
|
||
|
|