source-engine/common/quicktime_win32/QDOffscreen.h
FluorescentCIAAfricanAmerican 3bf9df6b27 1
2020-04-22 12:56:21 -04:00

508 lines
14 KiB
C

/*
File: QDOffscreen.h
Contains: Quickdraw Offscreen GWorld Interfaces.
Version: QuickTime 7.3
Copyright: (c) 2007 (c) 1985-2003 by Apple Computer, Inc., all rights reserved
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __QDOFFSCREEN__
#define __QDOFFSCREEN__
#ifndef __MACERRORS__
#include <MacErrors.h>
#endif
#ifndef __QUICKDRAW__
#include <Quickdraw.h>
#endif
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if PRAGMA_IMPORT
#pragma import on
#endif
enum {
pixPurgeBit = 0,
noNewDeviceBit = 1,
useTempMemBit = 2,
keepLocalBit = 3,
useDistantHdwrMemBit = 4,
useLocalHdwrMemBit = 5,
pixelsPurgeableBit = 6,
pixelsLockedBit = 7,
mapPixBit = 16,
newDepthBit = 17,
alignPixBit = 18,
newRowBytesBit = 19,
reallocPixBit = 20,
clipPixBit = 28,
stretchPixBit = 29,
ditherPixBit = 30,
gwFlagErrBit = 31
};
enum {
pixPurge = 1L << pixPurgeBit,
noNewDevice = 1L << noNewDeviceBit,
useTempMem = 1L << useTempMemBit,
keepLocal = 1L << keepLocalBit,
useDistantHdwrMem = 1L << useDistantHdwrMemBit,
useLocalHdwrMem = 1L << useLocalHdwrMemBit,
pixelsPurgeable = 1L << pixelsPurgeableBit,
pixelsLocked = 1L << pixelsLockedBit,
kAllocDirectDrawSurface = 1L << 14,
mapPix = 1L << mapPixBit,
newDepth = 1L << newDepthBit,
alignPix = 1L << alignPixBit,
newRowBytes = 1L << newRowBytesBit,
reallocPix = 1L << reallocPixBit,
clipPix = 1L << clipPixBit,
stretchPix = 1L << stretchPixBit,
ditherPix = 1L << ditherPixBit,
gwFlagErr = 1L << gwFlagErrBit
};
typedef unsigned long GWorldFlags;
/* Type definition of a GWorldPtr */
typedef CGrafPtr GWorldPtr;
/*
* NewGWorld()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( QDErr )
NewGWorld(
GWorldPtr * offscreenGWorld,
short PixelDepth,
const Rect * boundsRect,
CTabHandle cTable, /* can be NULL */
GDHandle aGDevice, /* can be NULL */
GWorldFlags flags) FOURWORDINLINE(0x203C, 0x0016, 0x0000, 0xAB1D);
/* GDevice attribute bits for Carbon and QuickTime 3.0*/
enum {
deviceIsIndirect = (1L << 0),
deviceNeedsLock = (1L << 1),
deviceIsStatic = (1L << 2),
deviceIsExternalBuffer = (1L << 3),
deviceIsDDSurface = (1L << 4),
deviceIsDCISurface = (1L << 5),
deviceIsGDISurface = (1L << 6),
deviceIsAScreen = (1L << 7),
deviceIsOverlaySurface = (1L << 8),
pixMapIsDoubleBuffered = (1L << 9)
};
#if TARGET_OS_WIN32
#if CALL_NOT_IN_CARBON
/*
* GetGDeviceSurface()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API( void * )
GetGDeviceSurface(GDHandle gdh);
/*
* GetGDeviceAttributes()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API( unsigned long )
GetGDeviceAttributes(GDHandle gdh);
/* to allocate non-mac-rgb GWorlds use QTNewGWorld (ImageCompression.h) */
/*
* NewGWorldFromHBITMAP()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API( QDErr )
NewGWorldFromHBITMAP(
GWorldPtr * offscreenGWorld,
CTabHandle cTable,
GDHandle aGDevice,
GWorldFlags flags,
void * newHBITMAP,
void * newHDC);
#endif /* CALL_NOT_IN_CARBON */
#endif /* TARGET_OS_WIN32 */
/*
* NewGWorldFromPtr()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: in CarbonLib 1.1 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( QDErr )
NewGWorldFromPtr(
GWorldPtr * offscreenGWorld,
unsigned long PixelFormat,
const Rect * boundsRect,
CTabHandle cTable, /* can be NULL */
GDHandle aGDevice, /* can be NULL */
GWorldFlags flags,
Ptr newBuffer,
long rowBytes);
/*
* LockPixels()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( Boolean )
LockPixels(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x0001, 0xAB1D);
/*
* UnlockPixels()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( void )
UnlockPixels(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x0002, 0xAB1D);
/*
* UpdateGWorld()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( GWorldFlags )
UpdateGWorld(
GWorldPtr * offscreenGWorld,
short pixelDepth,
const Rect * boundsRect,
CTabHandle cTable,
GDHandle aGDevice, /* can be NULL */
GWorldFlags flags) FOURWORDINLINE(0x203C, 0x0016, 0x0003, 0xAB1D);
/*
* DisposeGWorld()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( void )
DisposeGWorld(GWorldPtr offscreenGWorld) FOURWORDINLINE(0x203C, 0x0004, 0x0004, 0xAB1D);
/*
* GetGWorld()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( void )
GetGWorld(
CGrafPtr * port,
GDHandle * gdh) FOURWORDINLINE(0x203C, 0x0008, 0x0005, 0xAB1D);
/*
* SetGWorld()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( void )
SetGWorld(
CGrafPtr port,
GDHandle gdh) FOURWORDINLINE(0x203C, 0x0008, 0x0006, 0xAB1D);
/*
* CTabChanged()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( void )
CTabChanged(CTabHandle ctab) FOURWORDINLINE(0x203C, 0x0004, 0x0007, 0xAB1D);
/*
* PixPatChanged()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( void )
PixPatChanged(PixPatHandle ppat) FOURWORDINLINE(0x203C, 0x0004, 0x0008, 0xAB1D);
/*
* PortChanged()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( void )
PortChanged(GrafPtr port) FOURWORDINLINE(0x203C, 0x0004, 0x0009, 0xAB1D);
/*
* GDeviceChanged()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( void )
GDeviceChanged(GDHandle gdh) FOURWORDINLINE(0x203C, 0x0004, 0x000A, 0xAB1D);
/*
* AllowPurgePixels()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( void )
AllowPurgePixels(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x000B, 0xAB1D);
/*
* NoPurgePixels()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( void )
NoPurgePixels(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x000C, 0xAB1D);
/*
* GetPixelsState()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( GWorldFlags )
GetPixelsState(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x000D, 0xAB1D);
/*
* SetPixelsState()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( void )
SetPixelsState(
PixMapHandle pm,
GWorldFlags state) FOURWORDINLINE(0x203C, 0x0008, 0x000E, 0xAB1D);
/*
* GetPixBaseAddr()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( Ptr )
GetPixBaseAddr(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x000F, 0xAB1D);
/*
* GetPixRowBytes()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 8.5 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( long )
GetPixRowBytes(PixMapHandle pm) FOURWORDINLINE(0x203C, 0x0004, 0x0018, 0xAB1D);
/*
* NewScreenBuffer()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( QDErr )
NewScreenBuffer(
const Rect * globalRect,
Boolean purgeable,
GDHandle * gdh,
PixMapHandle * offscreenPixMap) FOURWORDINLINE(0x203C, 0x000E, 0x0010, 0xAB1D);
/*
* DisposeScreenBuffer()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( void )
DisposeScreenBuffer(PixMapHandle offscreenPixMap) FOURWORDINLINE(0x203C, 0x0004, 0x0011, 0xAB1D);
/*
* GetGWorldDevice()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( GDHandle )
GetGWorldDevice(GWorldPtr offscreenGWorld) FOURWORDINLINE(0x203C, 0x0004, 0x0012, 0xAB1D);
/*
* QDDone()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( Boolean )
QDDone(GrafPtr port) FOURWORDINLINE(0x203C, 0x0004, 0x0013, 0xAB1D);
/*
* OffscreenVersion()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( long )
OffscreenVersion(void) TWOWORDINLINE(0x7014, 0xAB1D);
/*
* NewTempScreenBuffer()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( QDErr )
NewTempScreenBuffer(
const Rect * globalRect,
Boolean purgeable,
GDHandle * gdh,
PixMapHandle * offscreenPixMap) FOURWORDINLINE(0x203C, 0x000E, 0x0015, 0xAB1D);
/*
* PixMap32Bit()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( Boolean )
PixMap32Bit(PixMapHandle pmHandle) FOURWORDINLINE(0x203C, 0x0004, 0x0016, 0xAB1D);
/*
* GetGWorldPixMap()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( PixMapHandle )
GetGWorldPixMap(GWorldPtr offscreenGWorld) FOURWORDINLINE(0x203C, 0x0004, 0x0017, 0xAB1D);
#ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
#endif
#ifdef __cplusplus
}
#endif
#endif /* __QDOFFSCREEN__ */