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

154 lines
4.7 KiB
C

/************************************************************
Created: Saturday, July 27, 1991 at 5:33 PM
QDOffscreen.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1985-1991
All rights reserved
This file is used in these builds: Mac32 BigBang Sys606
Change History (most recent first):
<13> 7/31/91 JL Updated Copyright. Restored Comments.
<12> 1/29/91 JL Changed parameter name of PixMap32Bit to from offscrrenPixMap to
pmHandle.
<11> 1/28/91 LN Checked in Database generate file from DSG. Grouping enums into
groups of 20.
<10> 1/25/91 stb JDR: add const on non-VAR parameters
<9> 1/15/91 KON Change useMFTempBit to UseTempMemBit. [csd]
<8> 11/28/90 JL Put formal parameter names back.
<7> 11/4/90 dba shortened inline for OffscreenVersion; use (void) instead of ();
got rid of some extraneous parameter names
<6> 10/990 JAL Changed __Safe_Link to _CPlusPlus.
<5> 9/1/90 dvb Beautify.
<4> 3/29/90 KON Put parameter size (in bytes) in high word of d0, trap selector
in low word.
<3> 3/27/90 KON Added useMFTemp flag, keepLocal flag, and prototypes for
selectors 19-23.
************************************************************/
#ifndef __QDOFFSCREEN__
#define __QDOFFSCREEN__
#ifndef __QUICKDRAW__
#include <Quickdraw.h>
#endif
enum {
/* New error codes */
cDepthErr = -157 /*invalid pixel depth*/
};
enum {
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
};
enum {
pixPurge = 1 << pixPurgeBit,
noNewDevice = 1 << noNewDeviceBit,
useTempMem = 1 << useTempMemBit,
keepLocal = 1 << keepLocalBit,
pixelsPurgeable = 1 << pixelsPurgeableBit,
pixelsLocked = 1 << pixelsLockedBit,
mapPix = 1 << mapPixBit,
newDepth = 1 << newDepthBit,
alignPix = 1 << alignPixBit,
newRowBytes = 1 << newRowBytesBit,
reallocPix = 1 << reallocPixBit,
clipPix = 1 << clipPixBit,
stretchPix = 1 << stretchPixBit,
ditherPix = 1 << ditherPixBit,
gwFlagErr = 1 << gwFlagErrBit
};
typedef unsigned long GWorldFlags;
/* Type definition of a GWorldPtr */
typedef CGrafPtr GWorldPtr;
#ifdef __cplusplus
extern "C" {
#endif
pascal QDErr NewGWorld(GWorldPtr *offscreenGWorld,short PixelDepth,const Rect *boundsRect,
CTabHandle cTable,GDHandle aGDevice,GWorldFlags flags)
= {0x203C,0x0016,0x0000,0xAB1D};
pascal Boolean LockPixels(PixMapHandle pm)
= {0x203C,0x0004,0x0001,0xAB1D};
pascal void UnlockPixels(PixMapHandle pm)
= {0x203C,0x0004,0x0002,0xAB1D};
pascal GWorldFlags UpdateGWorld(GWorldPtr *offscreenGWorld,short pixelDepth,
const Rect *boundsRect,CTabHandle cTable,GDHandle aGDevice,GWorldFlags flags)
= {0x203C,0x0016,0x0003,0xAB1D};
pascal void DisposeGWorld(GWorldPtr offscreenGWorld)
= {0x203C,0x0004,0x0004,0xAB1D};
pascal void GetGWorld(CGrafPtr *port,GDHandle *gdh)
= {0x203C,0x0008,0x0005,0xAB1D};
pascal void SetGWorld(CGrafPtr port,GDHandle gdh)
= {0x203C,0x0008,0x0006,0xAB1D};
pascal void CTabChanged(CTabHandle ctab)
= {0x203C,0x0004,0x0007,0xAB1D};
pascal void PixPatChanged(PixPatHandle ppat)
= {0x203C,0x0004,0x0008,0xAB1D};
pascal void PortChanged(GrafPtr port)
= {0x203C,0x0004,0x0009,0xAB1D};
pascal void GDeviceChanged(GDHandle gdh)
= {0x203C,0x0004,0x000A,0xAB1D};
pascal void AllowPurgePixels(PixMapHandle pm)
= {0x203C,0x0004,0x000B,0xAB1D};
pascal void NoPurgePixels(PixMapHandle pm)
= {0x203C,0x0004,0x000C,0xAB1D};
pascal GWorldFlags GetPixelsState(PixMapHandle pm)
= {0x203C,0x0004,0x000D,0xAB1D};
pascal void SetPixelsState(PixMapHandle pm,GWorldFlags state)
= {0x203C,0x0008,0x000E,0xAB1D};
pascal Ptr GetPixBaseAddr(PixMapHandle pm)
= {0x203C,0x0004,0x000F,0xAB1D};
pascal QDErr NewScreenBuffer(const Rect *globalRect,Boolean purgeable,GDHandle *gdh,
PixMapHandle *offscreenPixMap)
= {0x203C,0x000E,0x0010,0xAB1D};
pascal void DisposeScreenBuffer(PixMapHandle offscreenPixMap)
= {0x203C,0x0004,0x0011,0xAB1D};
pascal GDHandle GetGWorldDevice(GWorldPtr offscreenGWorld)
= {0x203C,0x0004,0x0012,0xAB1D};
pascal Boolean QDDone(GrafPtr port)
= {0x203C,0x0004,0x0013,0xAB1D};
pascal long OffscreenVersion(void)
= {0x7014,0xAB1D};
pascal QDErr NewTempScreenBuffer(const Rect *globalRect,Boolean purgeable,
GDHandle *gdh,PixMapHandle *offscreenPixMap)
= {0x203C,0x000E,0x0015,0xAB1D};
pascal Boolean PixMap32Bit(PixMapHandle pmHandle)
= {0x203C,0x0004,0x0016,0xAB1D};
pascal PixMapHandle GetGWorldPixMap(GWorldPtr offscreenGWorld)
= {0x203C,0x0004,0x0017,0xAB1D};
#ifdef __cplusplus
}
#endif
#endif