summaryrefslogtreecommitdiff
path: root/common/quicktime_win32/QTML.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/quicktime_win32/QTML.h
downloadarchived-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.h674
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__ */
+