sys7.1-doc-wip/Interfaces/PInterfaces/QDOffscreen.p
2019-07-27 22:37:48 +08:00

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}