mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-07 17:29:36 +00:00
1
This commit is contained in:
@@ -0,0 +1,674 @@
|
||||
/*
|
||||
File: QTML.h
|
||||
|
||||
Contains: QuickTime Cross-platform specific interfaces
|
||||
|
||||
Version: QuickTime 7.3
|
||||
|
||||
Copyright: (c) 2007 (c) 1997-2007 by Apple Inc., all rights reserved.
|
||||
|
||||
Bugs?: For bug reports, consult the following page on
|
||||
the World Wide Web:
|
||||
|
||||
http://developer.apple.com/bugreporter/
|
||||
|
||||
*/
|
||||
#ifndef __QTML__
|
||||
#define __QTML__
|
||||
|
||||
#ifndef __MACTYPES__
|
||||
#include <MacTypes.h>
|
||||
#endif
|
||||
|
||||
#ifndef __MACMEMORY__
|
||||
#include <MacMemory.h>
|
||||
#endif
|
||||
|
||||
#ifndef __MACWINDOWS__
|
||||
#include <MacWindows.h>
|
||||
#endif
|
||||
|
||||
#ifndef __OSUTILS__
|
||||
#include <OSUtils.h>
|
||||
#endif
|
||||
|
||||
#ifndef __FILES__
|
||||
#include <Files.h>
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#if PRAGMA_ONCE
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if PRAGMA_IMPORT
|
||||
#pragma import on
|
||||
#endif
|
||||
|
||||
#if PRAGMA_STRUCT_ALIGN
|
||||
#pragma options align=mac68k
|
||||
#elif PRAGMA_STRUCT_PACKPUSH
|
||||
#pragma pack(push, 2)
|
||||
#elif PRAGMA_STRUCT_PACK
|
||||
#pragma pack(2)
|
||||
#endif
|
||||
|
||||
/* QuickTime is not available to 64-bit clients */
|
||||
|
||||
#if !__LP64__
|
||||
|
||||
/*
|
||||
* QTMLYieldCPU()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: in CarbonLib 3.0 and later
|
||||
* Mac OS X: in version 10.0 and later
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( void )
|
||||
QTMLYieldCPU(void);
|
||||
|
||||
|
||||
/* QTMLYieldCPUTime flags*/
|
||||
enum {
|
||||
kQTMLHandlePortEvents = (1L << 0) /* ask for event handling during the yield*/
|
||||
};
|
||||
|
||||
/*
|
||||
* QTMLYieldCPUTime()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: in CarbonLib 3.0 and later
|
||||
* Mac OS X: in version 10.0 and later
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( void )
|
||||
QTMLYieldCPUTime(
|
||||
long milliSeconds,
|
||||
unsigned long flags);
|
||||
|
||||
|
||||
typedef struct OpaqueQTMLMutex* QTMLMutex;
|
||||
typedef struct OpaqueQTMLSyncVar* QTMLSyncVar;
|
||||
typedef QTMLSyncVar * QTMLSyncVarPtr;
|
||||
/* InitializeQTML flags*/
|
||||
enum {
|
||||
kInitializeQTMLNoSoundFlag = (1L << 0), /* flag for requesting no sound when calling InitializeQTML*/
|
||||
kInitializeQTMLUseGDIFlag = (1L << 1), /* flag for requesting GDI when calling InitializeQTML*/
|
||||
kInitializeQTMLDisableDirectSound = (1L << 2), /* disables QTML's use of DirectSound*/
|
||||
kInitializeQTMLUseExclusiveFullScreenModeFlag = (1L << 3), /* later than QTML 3.0: qtml starts up in exclusive full screen mode*/
|
||||
kInitializeQTMLDisableDDClippers = (1L << 4), /* flag for requesting QTML not to use DirectDraw clipper objects; QTML 5.0 and later*/
|
||||
kInitializeQTMLEnableDoubleBufferedSurface = (1L << 6) /* flag for requesting QuickTime use a double-buffered destination surface; QT6.4 and later*/
|
||||
};
|
||||
|
||||
#if CALL_NOT_IN_CARBON
|
||||
/*
|
||||
* InitializeQTML()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( OSErr )
|
||||
InitializeQTML(long flag);
|
||||
|
||||
|
||||
/*
|
||||
* TerminateQTML()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( void )
|
||||
TerminateQTML(void);
|
||||
|
||||
|
||||
|
||||
/* CreatePortAssociation flags*/
|
||||
#endif /* CALL_NOT_IN_CARBON */
|
||||
|
||||
enum {
|
||||
kQTMLNoIdleEvents = (1L << 1), /* ask for a non-auto-idled port to be created*/
|
||||
kQTMLNoDoubleBufferPort = (1L << 2) /* ask for QTML not to double-buffer this port*/
|
||||
};
|
||||
|
||||
#define kQTMLIsDoubleBuffered "UsesDoubleBuffer"
|
||||
#if CALL_NOT_IN_CARBON
|
||||
/*
|
||||
* CreatePortAssociation()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( GrafPtr )
|
||||
CreatePortAssociation(
|
||||
void * theWnd,
|
||||
Ptr storage,
|
||||
long flags);
|
||||
|
||||
|
||||
/*
|
||||
* DestroyPortAssociation()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( void )
|
||||
DestroyPortAssociation(CGrafPtr cgp);
|
||||
|
||||
|
||||
|
||||
#endif /* CALL_NOT_IN_CARBON */
|
||||
|
||||
/*
|
||||
* QTMLGrabMutex()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: in CarbonLib 3.0 and later
|
||||
* Mac OS X: in version 10.0 and later
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( void )
|
||||
QTMLGrabMutex(QTMLMutex mu);
|
||||
|
||||
|
||||
/*
|
||||
* QTMLTryGrabMutex()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: in CarbonLib 4.1 and later
|
||||
* Mac OS X: in version 10.0 and later
|
||||
* Windows: in qtmlClient.lib 4.1 and later
|
||||
*/
|
||||
EXTERN_API( Boolean )
|
||||
QTMLTryGrabMutex(QTMLMutex mu);
|
||||
|
||||
|
||||
/*
|
||||
* QTMLReturnMutex()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: in CarbonLib 3.0 and later
|
||||
* Mac OS X: in version 10.0 and later
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( void )
|
||||
QTMLReturnMutex(QTMLMutex mu);
|
||||
|
||||
|
||||
/*
|
||||
* QTMLCreateMutex()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: in CarbonLib 3.0 and later
|
||||
* Mac OS X: in version 10.0 and later
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( QTMLMutex )
|
||||
QTMLCreateMutex(void);
|
||||
|
||||
|
||||
/*
|
||||
* QTMLDestroyMutex()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: in CarbonLib 3.0 and later
|
||||
* Mac OS X: in version 10.0 and later
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( void )
|
||||
QTMLDestroyMutex(QTMLMutex mu);
|
||||
|
||||
|
||||
|
||||
#if CALL_NOT_IN_CARBON
|
||||
/*
|
||||
* QTMLCreateSyncVar()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( QTMLSyncVarPtr )
|
||||
QTMLCreateSyncVar(void);
|
||||
|
||||
|
||||
/*
|
||||
* QTMLDestroySyncVar()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( void )
|
||||
QTMLDestroySyncVar(QTMLSyncVarPtr p);
|
||||
|
||||
|
||||
/*
|
||||
* QTMLTestAndSetSyncVar()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( long )
|
||||
QTMLTestAndSetSyncVar(QTMLSyncVarPtr sync);
|
||||
|
||||
|
||||
/*
|
||||
* QTMLWaitAndSetSyncVar()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( void )
|
||||
QTMLWaitAndSetSyncVar(QTMLSyncVarPtr sync);
|
||||
|
||||
|
||||
/*
|
||||
* QTMLResetSyncVar()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( void )
|
||||
QTMLResetSyncVar(QTMLSyncVarPtr sync);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* InitializeQHdr()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( void )
|
||||
InitializeQHdr(QHdr * qhdr);
|
||||
|
||||
|
||||
/*
|
||||
* TerminateQHdr()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( void )
|
||||
TerminateQHdr(QHdr * qhdr);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* QTMLAcquireWindowList()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( void )
|
||||
QTMLAcquireWindowList(void);
|
||||
|
||||
|
||||
/*
|
||||
* QTMLReleaseWindowList()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( void )
|
||||
QTMLReleaseWindowList(void);
|
||||
|
||||
|
||||
/*
|
||||
These routines are here to support "interrupt level" code
|
||||
These are dangerous routines, only use if you know what you are doing.
|
||||
*/
|
||||
|
||||
/*
|
||||
* QTMLRegisterInterruptSafeThread()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( long )
|
||||
QTMLRegisterInterruptSafeThread(
|
||||
unsigned long threadID,
|
||||
void * threadInfo);
|
||||
|
||||
|
||||
/*
|
||||
* QTMLUnregisterInterruptSafeThread()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( long )
|
||||
QTMLUnregisterInterruptSafeThread(unsigned long threadID);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* NativeEventToMacEvent()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( long )
|
||||
NativeEventToMacEvent(
|
||||
void * nativeEvent,
|
||||
EventRecord * macEvent);
|
||||
|
||||
|
||||
#endif /* CALL_NOT_IN_CARBON */
|
||||
|
||||
#if TARGET_OS_WIN32
|
||||
#if CALL_NOT_IN_CARBON
|
||||
/*
|
||||
* WinEventToMacEvent()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( long )
|
||||
WinEventToMacEvent(
|
||||
void * winMsg,
|
||||
EventRecord * macEvent);
|
||||
|
||||
|
||||
#define WinEventToMacEvent NativeEventToMacEvent
|
||||
/*
|
||||
* IsTaskBarVisible()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( Boolean )
|
||||
IsTaskBarVisible(void);
|
||||
|
||||
|
||||
/*
|
||||
* ShowHideTaskBar()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( void )
|
||||
ShowHideTaskBar(Boolean showIt);
|
||||
|
||||
|
||||
#endif /* CALL_NOT_IN_CARBON */
|
||||
|
||||
enum {
|
||||
kDDSurfaceLocked = (1L << 0),
|
||||
kDDSurfaceStatic = (1L << 1)
|
||||
};
|
||||
|
||||
#if CALL_NOT_IN_CARBON
|
||||
/*
|
||||
* QTGetDDObject()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( OSErr )
|
||||
QTGetDDObject(void ** lpDDObject);
|
||||
|
||||
|
||||
/*
|
||||
* QTSetDDObject()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( OSErr )
|
||||
QTSetDDObject(void * lpNewDDObject);
|
||||
|
||||
|
||||
/*
|
||||
* QTSetDDPrimarySurface()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( OSErr )
|
||||
QTSetDDPrimarySurface(
|
||||
void * lpNewDDSurface,
|
||||
unsigned long flags);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* QTMLGetVolumeRootPath()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( OSErr )
|
||||
QTMLGetVolumeRootPath(
|
||||
char * fullPath,
|
||||
char * volumeRootPath,
|
||||
unsigned long volumeRootLen);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* QTMLSetWindowWndProc()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( void )
|
||||
QTMLSetWindowWndProc(
|
||||
WindowRef theWindow,
|
||||
void * windowProc);
|
||||
|
||||
|
||||
/*
|
||||
* QTMLGetWindowWndProc()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( void * )
|
||||
QTMLGetWindowWndProc(WindowRef theWindow);
|
||||
|
||||
|
||||
#endif /* CALL_NOT_IN_CARBON */
|
||||
|
||||
#endif /* TARGET_OS_WIN32 */
|
||||
|
||||
#if CALL_NOT_IN_CARBON
|
||||
/*
|
||||
* QTMLGetCanonicalPathName()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( OSErr )
|
||||
QTMLGetCanonicalPathName(
|
||||
char * inName,
|
||||
char * outName,
|
||||
unsigned long outLen);
|
||||
|
||||
|
||||
#endif /* CALL_NOT_IN_CARBON */
|
||||
|
||||
enum {
|
||||
kFullNativePath = 0,
|
||||
kFileNameOnly = (1 << 0),
|
||||
kDirectoryPathOnly = (1 << 1),
|
||||
kUFSFullPathName = (1 << 2),
|
||||
kTryVDIMask = (1 << 3), /* Used in NativePathNameToFSSpec to specify to search VDI mountpoints*/
|
||||
kFullPathSpecifiedMask = (1 << 4) /* the passed in name is a fully qualified full path*/
|
||||
};
|
||||
|
||||
#if CALL_NOT_IN_CARBON
|
||||
/*
|
||||
* FSSpecToNativePathName()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( OSErr )
|
||||
FSSpecToNativePathName(
|
||||
const FSSpec * inFile,
|
||||
char * outName,
|
||||
unsigned long outLen,
|
||||
long flags);
|
||||
|
||||
|
||||
#endif /* CALL_NOT_IN_CARBON */
|
||||
|
||||
enum {
|
||||
kErrorIfFileNotFound = 1L << 31
|
||||
};
|
||||
|
||||
#if CALL_NOT_IN_CARBON
|
||||
/*
|
||||
* NativePathNameToFSSpec()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 3.0 and later
|
||||
*/
|
||||
EXTERN_API( OSErr )
|
||||
NativePathNameToFSSpec(
|
||||
char * inName,
|
||||
FSSpec * outFile,
|
||||
long flags);
|
||||
|
||||
|
||||
/*
|
||||
* QTGetAliasInfo()
|
||||
*
|
||||
* Availability:
|
||||
* Non-Carbon CFM: not available
|
||||
* CarbonLib: not available
|
||||
* Mac OS X: not available
|
||||
* Windows: in qtmlClient.lib 5.0 and later
|
||||
*/
|
||||
EXTERN_API( OSErr )
|
||||
QTGetAliasInfo(
|
||||
AliasHandle alias,
|
||||
AliasInfoType index,
|
||||
char * outBuf,
|
||||
long bufLen,
|
||||
long * outLen,
|
||||
unsigned long flags);
|
||||
|
||||
|
||||
|
||||
#endif // !__LP64__
|
||||
|
||||
#endif /* CALL_NOT_IN_CARBON */
|
||||
|
||||
|
||||
#if PRAGMA_STRUCT_ALIGN
|
||||
#pragma options align=reset
|
||||
#elif PRAGMA_STRUCT_PACKPUSH
|
||||
#pragma pack(pop)
|
||||
#elif PRAGMA_STRUCT_PACK
|
||||
#pragma pack()
|
||||
#endif
|
||||
|
||||
#ifdef PRAGMA_IMPORT_OFF
|
||||
#pragma import off
|
||||
#elif PRAGMA_IMPORT
|
||||
#pragma import reset
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __QTML__ */
|
||||
|
||||
Reference in New Issue
Block a user