diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/quicktime_win32/QTML.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'common/quicktime_win32/QTML.h')
| -rw-r--r-- | common/quicktime_win32/QTML.h | 674 |
1 files changed, 674 insertions, 0 deletions
diff --git a/common/quicktime_win32/QTML.h b/common/quicktime_win32/QTML.h new file mode 100644 index 0000000..ccdf2f5 --- /dev/null +++ b/common/quicktime_win32/QTML.h @@ -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__ */ + |