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/QD3DOld.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/QD3DOld.h')
| -rw-r--r-- | common/quicktime_win32/QD3DOld.h | 366 |
1 files changed, 366 insertions, 0 deletions
diff --git a/common/quicktime_win32/QD3DOld.h b/common/quicktime_win32/QD3DOld.h new file mode 100644 index 0000000..7b89385 --- /dev/null +++ b/common/quicktime_win32/QD3DOld.h @@ -0,0 +1,366 @@ +/* + File: QD3DOld.h + + Contains: Obsolete API for Quickdraw 3D that QuickTime still uses + + Version: Technology: Quickdraw 3D 1.5.1 + Release: QuickTime 7.3 + + Copyright: (c) 2007 (c) 1995-1998 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 __QD3DOLD__ +#define __QD3DOLD__ + +#ifndef __CONDITIONALMACROS__ +#include <ConditionalMacros.h> +#endif + + +#if TARGET_OS_MAC +#ifndef __MACTYPES__ +#include <MacTypes.h> +#endif + +#endif /* TARGET_OS_MAC */ + +#ifndef __QD3D__ +#include <QD3D.h> +#endif + +#ifndef __QD3DPICK__ +#include <QD3DPick.h> +#endif + +#ifndef __QD3DRENDERER__ +#include <QD3DRenderer.h> +#endif + +#ifndef __QD3DIO__ +#include <QD3DIO.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=power +#elif PRAGMA_STRUCT_PACKPUSH + #pragma pack(push, 2) +#elif PRAGMA_STRUCT_PACK + #pragma pack(2) +#endif + +#if PRAGMA_ENUM_ALWAYSINT + #if defined(__fourbyteints__) && !__fourbyteints__ + #define __QD3DOLD__RESTORE_TWOBYTEINTS + #pragma fourbyteints on + #endif + #pragma enumsalwaysint on +#elif PRAGMA_ENUM_OPTIONS + #pragma option enum=int +#elif PRAGMA_ENUM_PACK + #if __option(pack_enums) + #define __QD3DOLD__RESTORE_PACKED_ENUMS + #pragma options(!pack_enums) + #endif +#endif + +/****************************************************************************** + ** ** + ** Obsolete Object System Types ** + ** from QD3D.i ** + ** ** + *****************************************************************************/ +typedef struct OpaqueTQ3ObjectClass* TQ3ObjectClass; +typedef unsigned long TQ3MethodType; +/* + * Object methods + */ +#define kQ3MethodTypeObjectUnregister Q3_METHOD_TYPE('u','n','r','g') +/* + * IO Methods + */ +#define kQ3MethodTypeObjectFileVersion Q3_METHOD_TYPE('v','e','r','s') /* version */ +#define kQ3MethodTypeObjectTraverse Q3_METHOD_TYPE('t','r','v','s') /* byte count */ +#define kQ3MethodTypeObjectTraverseData Q3_METHOD_TYPE('t','r','v','d') /* byte count */ +#define kQ3MethodTypeObjectWrite Q3_METHOD_TYPE('w','r','i','t') /* Dump info to file */ +#define kQ3MethodTypeObjectReadData Q3_METHOD_TYPE('r','d','d','t') /* Read info from file into buffer or, attach read data to parent */ +typedef CALLBACK_API_C( void , TQ3FunctionPointer )(void); +typedef CALLBACK_API_C( TQ3FunctionPointer , TQ3MetaHandler )(TQ3MethodType methodType); +/* + * MetaHandler: + * When you give a metahandler to QuickDraw 3D, it is called multiple times to + * build method tables, and then is thrown away. You are guaranteed that + * your metahandler will never be called again after a call that was passed + * a metahandler returns. + * + * Your metahandler should contain a switch on the methodType passed to it + * and should return the corresponding method as an TQ3FunctionPointer. + * + * IMPORTANT: A metaHandler MUST always "return" a value. If you are + * passed a methodType that you do not understand, ALWAYS return NULL. + * + * These types here are prototypes of how your functions should look. + */ +typedef CALLBACK_API_C( TQ3Status , TQ3ObjectUnregisterMethod )(TQ3ObjectClass objectClass); +/****************************************************************************** + ** ** + ** Obsolete ObjectClass Routines ** + ** from QD3D.i ** + ** ** + *****************************************************************************/ +/* + * Q3ObjectClass_Unregister is an obsolete function. For the new extensions + * model you should now use Q3XObjectHierarchy_UnregisterClass which is + * defined in QD3DExtension.h and takes identical parameters. + */ +#if CALL_NOT_IN_CARBON +/* + * Q3ObjectClass_Unregister() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( TQ3Status ) +Q3ObjectClass_Unregister(TQ3ObjectClass objectClass); + + + + +/****************************************************************************** + ** ** + ** Obsolete Custom Element Registration ** + ** from QD3DSet.i ** + ** ** + *****************************************************************************/ +#define kQ3MethodTypeElementCopyAdd Q3_METHOD_TYPE('e','c','p','a') +#define kQ3MethodTypeElementCopyReplace Q3_METHOD_TYPE('e','c','p','r') +#define kQ3MethodTypeElementCopyGet Q3_METHOD_TYPE('e','c','p','g') +#define kQ3MethodTypeElementCopyDuplicate Q3_METHOD_TYPE('e','c','p','d') +#define kQ3MethodTypeElementDelete Q3_METHOD_TYPE('e','d','e','l') +#endif /* CALL_NOT_IN_CARBON */ + +typedef CALLBACK_API_C( TQ3Status , TQ3ElementCopyAddMethod )(const void *fromAPIElement, void *toInternalElement); +typedef CALLBACK_API_C( TQ3Status , TQ3ElementCopyReplaceMethod )(const void *fromAPIElement, void *ontoInternalElement); +typedef CALLBACK_API_C( TQ3Status , TQ3ElementCopyGetMethod )(const void *fromInternalElement, void *toAPIElement); +typedef CALLBACK_API_C( TQ3Status , TQ3ElementCopyDuplicateMethod )(const void *fromInternalElement, void *toInternalElement); +typedef CALLBACK_API_C( TQ3Status , TQ3ElementDeleteMethod )(void * internalElement); +#if CALL_NOT_IN_CARBON +/* + * Q3ElementClass_Register() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( TQ3ObjectClass ) +Q3ElementClass_Register( + TQ3ElementType elementType, + const char * name, + unsigned long sizeOfElement, + TQ3MetaHandler metaHandler); + + +/* + * Q3ElementType_GetElementSize() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( TQ3Status ) +Q3ElementType_GetElementSize( + TQ3ElementType elementType, + unsigned long * sizeOfElement); + + + +/****************************************************************************** + ** ** + ** Obsolete QD3DPick.i API ** + ** ** + *****************************************************************************/ +/* + * The following data structure has been obsoleted by + * the Q3Pick_GetPickDetailData function in conjunction + * with the pickDetailValue enum + */ +#endif /* CALL_NOT_IN_CARBON */ + +struct TQ3HitData { + TQ3PickParts part; + TQ3PickDetail validMask; + unsigned long pickID; + TQ3HitPath path; + TQ3Object object; + TQ3Matrix4x4 localToWorldMatrix; + TQ3Point3D xyzPoint; + float distance; + TQ3Vector3D normal; + TQ3ShapePartObject shapePart; +}; +typedef struct TQ3HitData TQ3HitData; +/* + * The following functions have been superseeded + * by the Q3Pick_GetPickDetailData function + */ +#if CALL_NOT_IN_CARBON +/* + * Q3Pick_GetHitData() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( TQ3Status ) +Q3Pick_GetHitData( + TQ3PickObject pick, + unsigned long index, + TQ3HitData * hitData); + + +/* + * Q3Hit_EmptyData() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( TQ3Status ) +Q3Hit_EmptyData(TQ3HitData * hitData); + + +/****************************************************************************** + ** ** + ** Obsolete QD3DRenderer.i API ** + ** ** + *****************************************************************************/ +/* + * Blocking, flush all buffered graphics to rasterizer and update + * draw context. + * + * This function has been replaced by Q3View_Sync + */ +/* + * Q3Renderer_Sync() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( TQ3Status ) +Q3Renderer_Sync( + TQ3RendererObject renderer, + TQ3ViewObject view); + + + +/****************************************************************************** + ** ** + ** Obsolete QD3DIO.i API ** + ** ** + *****************************************************************************/ +/* + * TQ3ObjectTraverseMethod + * + * For "elements" (meaning "attributes, too), you will be passed NULL for + * object. Sorry, custom objects will be available in the next major revision. + * + * The "data" is a pointer to your internal element data. + * + * The view is the current traversal view. + */ +#endif /* CALL_NOT_IN_CARBON */ + +typedef CALLBACK_API_C( TQ3Status , TQ3ObjectTraverseMethod )(TQ3Object object, void *data, TQ3ViewObject view); +typedef CALLBACK_API_C( TQ3Status , TQ3ObjectWriteMethod )(const void *object, TQ3FileObject theFile); +/* + * Use Q3XView_SubmitWriteData instead... + */ +typedef CALLBACK_API_C( void , TQ3DataDeleteMethod )(void * data); +#if CALL_NOT_IN_CARBON +/* + * Q3View_SubmitWriteData() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( TQ3Status ) +Q3View_SubmitWriteData( + TQ3ViewObject view, + TQ3Size size, + void * data, + TQ3DataDeleteMethod deleteData); + + +/* + * TQ3ObjectReadDataMethod + * + * For "elements" (meaning "attributes", too), you must allocate stack space + * and call Q3Set_Add on "parentObject", which is an TQ3SetObject. + * + * Otherwise, parentObject is whatever object your element is a subobject of... + */ +#endif /* CALL_NOT_IN_CARBON */ + +typedef CALLBACK_API_C( TQ3Status , TQ3ObjectReadDataMethod )(TQ3Object parentObject, TQ3FileObject theFile); + + +#if PRAGMA_ENUM_ALWAYSINT + #pragma enumsalwaysint reset + #ifdef __QD3DOLD__RESTORE_TWOBYTEINTS + #pragma fourbyteints off + #endif +#elif PRAGMA_ENUM_OPTIONS + #pragma option enum=reset +#elif defined(__QD3DOLD__RESTORE_PACKED_ENUMS) + #pragma options(pack_enums) +#endif + +#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 /* __QD3DOLD__ */ + |