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/QuickTimeVR.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/QuickTimeVR.h')
| -rw-r--r-- | common/quicktime_win32/QuickTimeVR.h | 2459 |
1 files changed, 2459 insertions, 0 deletions
diff --git a/common/quicktime_win32/QuickTimeVR.h b/common/quicktime_win32/QuickTimeVR.h new file mode 100644 index 0000000..ab8dfcb --- /dev/null +++ b/common/quicktime_win32/QuickTimeVR.h @@ -0,0 +1,2459 @@ +/* + File: QuickTimeVR.h + + Contains: QuickTime VR 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 __QUICKTIMEVR__ +#define __QUICKTIMEVR__ + +#ifndef __MACTYPES__ +#include <MacTypes.h> +#endif + +#ifndef __MOVIES__ +#include <Movies.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__ + +typedef struct OpaqueQTVRInstance* QTVRInstance; + +/* Released API Version numbers */ +#define kQTVRAPIMajorVersion05 (0x05) +#define kQTVRAPIMajorVersion02 (0x02) +#define kQTVRAPIMinorVersion00 (0x00) +#define kQTVRAPIMinorVersion01 (0x01) +#define kQTVRAPIMinorVersion10 (0x10) +#define kQTVRAPIMinorVersion20 (0x20) + +/* Version numbers for the API described in this header */ +#define kQTVRAPIMajorVersion kQTVRAPIMajorVersion05 +#define kQTVRAPIMinorVersion kQTVRAPIMinorVersion00 + + +enum { + kQTVRControllerSubType = FOUR_CHAR_CODE('ctyp'), + kQTVRQTVRType = FOUR_CHAR_CODE('qtvr'), + kQTVRPanoramaType = FOUR_CHAR_CODE('pano'), + kQTVRObjectType = FOUR_CHAR_CODE('obje'), + kQTVROldPanoType = FOUR_CHAR_CODE('STpn'), /* Used in QTVR 1.0 release*/ + kQTVROldObjectType = FOUR_CHAR_CODE('stna') /* Used in QTVR 1.0 release*/ +}; + +#define kQTVRUnknownType '\?\?\?\?' /* Unknown node type */ +/* QTVR hot spot types*/ +enum { + kQTVRHotSpotLinkType = FOUR_CHAR_CODE('link'), + kQTVRHotSpotURLType = FOUR_CHAR_CODE('url '), + kQTVRHotSpotUndefinedType = FOUR_CHAR_CODE('undf') +}; + +/* Special Values for nodeID in QTVRGoToNodeID*/ +enum { + kQTVRCurrentNode = 0, + kQTVRPreviousNode = (long)0x80000000, + kQTVRDefaultNode = (long)0x80000001 +}; + +/* Panorama correction modes used for the kQTVRImagingCorrection imaging property*/ +enum { + kQTVRNoCorrection = 0, + kQTVRPartialCorrection = 1, + kQTVRFullCorrection = 2 +}; + +/* Imaging Modes used by QTVRSetImagingProperty, QTVRGetImagingProperty, QTVRUpdate, QTVRBeginUpdate*/ +typedef UInt32 QTVRImagingMode; +enum { + kQTVRStatic = 1, + kQTVRMotion = 2, + kQTVRCurrentMode = 0, /* Special Value for QTVRUpdate*/ + kQTVRAllModes = 100 /* Special value for QTVRSetProperty*/ +}; + +/* Imaging Properties used by QTVRSetImagingProperty, QTVRGetImagingProperty*/ +enum { + kQTVRImagingCorrection = 1, + kQTVRImagingQuality = 2, + kQTVRImagingDirectDraw = 3, + kQTVRImagingCurrentMode = 100 /* Get Only*/ +}; + +/* OR the above with kImagingDefaultValue to get/set the default value*/ +enum { + kImagingDefaultValue = (long)0x80000000 +}; + +/* Transition Types used by QTVRSetTransitionProperty, QTVREnableTransition*/ +enum { + kQTVRTransitionSwing = 1 +}; + +/* Transition Properties QTVRSetTransitionProperty*/ +enum { + kQTVRTransitionSpeed = 1, + kQTVRTransitionDirection = 2 +}; + +/* Constraint values used to construct value returned by GetConstraintStatus*/ +enum { + kQTVRUnconstrained = 0L, + kQTVRCantPanLeft = 1L << 0, + kQTVRCantPanRight = 1L << 1, + kQTVRCantPanUp = 1L << 2, + kQTVRCantPanDown = 1L << 3, + kQTVRCantZoomIn = 1L << 4, + kQTVRCantZoomOut = 1L << 5, + kQTVRCantTranslateLeft = 1L << 6, + kQTVRCantTranslateRight = 1L << 7, + kQTVRCantTranslateUp = 1L << 8, + kQTVRCantTranslateDown = 1L << 9 +}; + +/* Object-only mouse mode values used to construct value returned by QTVRGetCurrentMouseMode*/ +enum { + kQTVRPanning = 1L << 0, /* standard objects, "object only" controllers*/ + kQTVRTranslating = 1L << 1, /* all objects*/ + kQTVRZooming = 1L << 2, /* all objects*/ + kQTVRScrolling = 1L << 3, /* standard object arrow scrollers and joystick object*/ + kQTVRSelecting = 1L << 4 /* object absolute controller*/ +}; + +/* Properties for use with QTVRSetInteractionProperty/GetInteractionProperty*/ +enum { + kQTVRInteractionMouseClickHysteresis = 1, /* pixels within which the mouse is considered not to have moved (UInt16)*/ + kQTVRInteractionMouseClickTimeout = 2, /* ticks after which a mouse click times out and turns into panning (UInt32)*/ + kQTVRInteractionPanTiltSpeed = 3, /* control the relative pan/tilt speed from 1 (slowest) to 10 (fastest). (UInt32) Default is 5;*/ + kQTVRInteractionZoomSpeed = 4, /* control the relative zooming speed from 1 (slowest) to 10 (fastest). (UInt32) Default is 5;*/ + kQTVRInteractionTranslateOnMouseDown = 101, /* Holding MouseDown with this setting translates zoomed object movies (Boolean)*/ + kQTVRInteractionMouseMotionScale = 102, /* The maximum angle of rotation caused by dragging across the display window. (* float)*/ + kQTVRInteractionNudgeMode = 103 /* A QTVRNudgeMode: rotate, translate, or the same as the current mouse mode. Requires QTVR 2.1*/ +}; + +/* OR the above with kQTVRInteractionDefaultValue to get/set the default value*/ +enum { + kQTVRInteractionDefaultValue = (long)0x80000000 +}; + + +/* Geometry constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings, QTVRGetBackBufferMemInfo*/ +enum { + kQTVRUseMovieGeometry = 0, + kQTVRVerticalCylinder = FOUR_CHAR_CODE('vcyl'), + kQTVRHorizontalCylinder = FOUR_CHAR_CODE('hcyl'), + kQTVRCube = FOUR_CHAR_CODE('cube') +}; + +/* Resolution constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings, QTVRGetBackBufferMemInfo*/ +enum { + kQTVRDefaultRes = 0, + kQTVRFullRes = 1L << 0, + kQTVRHalfRes = 1L << 1, + kQTVRQuarterRes = 1L << 2 +}; + +/* QTVR-specific pixelFormat constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings, QTVRGetBackBufferMemInfo*/ +enum { + kQTVRUseMovieDepth = 0 +}; + +/* Cache Size Pref constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings*/ +enum { + kQTVRMinimumCache = -1, + kQTVRSuggestedCache = 0, + kQTVRFullCache = 1 +}; + +/* Angular units used by QTVRSetAngularUnits*/ +typedef UInt32 QTVRAngularUnits; +enum { + kQTVRDegrees = 0, + kQTVRRadians = 1 +}; + +/* Values for enableFlag parameter in QTVREnableHotSpot*/ +enum { + kQTVRHotSpotID = 0, + kQTVRHotSpotType = 1, + kQTVRAllHotSpots = 2 +}; + +/* Values for viewParameter for QTVRSet/GetViewParameter*/ +enum { + kQTVRPanAngle = 0x0100, /* default units; &float, &float*/ + kQTVRTiltAngle = 0x0101, /* default units; &float, &float*/ + kQTVRFieldOfViewAngle = 0x0103, /* default units; &float, &float*/ + kQTVRViewCenter = 0x0104, /* pixels (per object movies); &QTVRFloatPoint, &QTVRFloatPoint*/ + kQTVRHotSpotsVisible = 0x0200 /* Boolean, &Boolean*/ +}; + +/* Values for flagsIn for QTVRSet/GetViewParameter*/ +enum { + kQTVRValueIsRelative = 1L << 0, /* Is the value absolute or relative to the current value?*/ + kQTVRValueIsRate = 1L << 1, /* Is the value absolute or a rate of change to be applied?*/ + kQTVRValueIsUserPrefRelative = 1L << 2 /* Is the value a percentage of the user rate pref?*/ +}; + +/* Values for kind parameter in QTVRGet/SetConstraints, QTVRGetViewingLimits*/ +enum { + kQTVRPan = 0, + kQTVRTilt = 1, + kQTVRFieldOfView = 2, + kQTVRViewCenterH = 4, /* WrapAndConstrain only*/ + kQTVRViewCenterV = 5 /* WrapAndConstrain only*/ +}; + +/* Values for setting parameter in QTVRSetAnimationSetting, QTVRGetAnimationSetting*/ +typedef UInt32 QTVRObjectAnimationSetting; +enum { + /* View Frame Animation Settings*/ + kQTVRPalindromeViewFrames = 1, + kQTVRStartFirstViewFrame = 2, + kQTVRDontLoopViewFrames = 3, + kQTVRPlayEveryViewFrame = 4, /* Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/ + /* View Animation Settings*/ + kQTVRSyncViewToFrameRate = 16, + kQTVRPalindromeViews = 17, + kQTVRPlayStreamingViews = 18 /* Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/ +}; + +typedef UInt32 QTVRControlSetting; +enum { + kQTVRWrapPan = 1, + kQTVRWrapTilt = 2, + kQTVRCanZoom = 3, + kQTVRReverseHControl = 4, + kQTVRReverseVControl = 5, + kQTVRSwapHVControl = 6, + kQTVRTranslation = 7 +}; + +typedef UInt32 QTVRViewStateType; +enum { + kQTVRDefault = 0, + kQTVRCurrent = 2, + kQTVRMouseDown = 3 +}; + +typedef UInt32 QTVRNudgeControl; +enum { + kQTVRRight = 0, + kQTVRUpRight = 45, + kQTVRUp = 90, + kQTVRUpLeft = 135, + kQTVRLeft = 180, + kQTVRDownLeft = 225, + kQTVRDown = 270, + kQTVRDownRight = 315 +}; + +typedef UInt32 QTVRNudgeMode; +enum { + kQTVRNudgeRotate = 0, + kQTVRNudgeTranslate = 1, + kQTVRNudgeSameAsMouse = 2 +}; + + +/* Flags to control elements of the QTVR control bar (set via mcActionSetFlags) */ +enum { + mcFlagQTVRSuppressBackBtn = 1L << 16, + mcFlagQTVRSuppressZoomBtns = 1L << 17, + mcFlagQTVRSuppressHotSpotBtn = 1L << 18, + mcFlagQTVRSuppressTranslateBtn = 1L << 19, + mcFlagQTVRSuppressHelpText = 1L << 20, + mcFlagQTVRSuppressHotSpotNames = 1L << 21, + mcFlagQTVRExplicitFlagSet = 1L << 31 /* bits 0->30 should be interpreted as "explicit on" for the corresponding suppression bits*/ +}; + +/* Cursor types used in type field of QTVRCursorRecord*/ +enum { + kQTVRUseDefaultCursor = 0, + kQTVRStdCursorType = 1, + kQTVRColorCursorType = 2 +}; + +/* Values for flags parameter in QTVRMouseOverHotSpot callback*/ +enum { + kQTVRHotSpotEnter = 0, + kQTVRHotSpotWithin = 1, + kQTVRHotSpotLeave = 2 +}; + +/* Values for flags parameter in QTVRSetPrescreenImagingCompleteProc*/ +enum { + kQTVRPreScreenEveryIdle = 1L << 0 /* Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/ +}; + +/* Values for flags field of areasOfInterest in QTVRSetBackBufferImagingProc*/ +enum { + kQTVRBackBufferEveryUpdate = 1L << 0, + kQTVRBackBufferEveryIdle = 1L << 1, + kQTVRBackBufferAlwaysRefresh = 1L << 2, + kQTVRBackBufferHorizontal = 1L << 3 /* Requires that backbuffer proc be long-rowBytes aware (gestaltQDHasLongRowBytes)*/ +}; + +/* Values for flagsIn parameter in QTVRBackBufferImaging callback*/ +enum { + kQTVRBackBufferRectVisible = 1L << 0, + kQTVRBackBufferWasRefreshed = 1L << 1 +}; + +/* Values for flagsOut parameter in QTVRBackBufferImaging callback*/ +enum { + kQTVRBackBufferFlagDidDraw = 1L << 0, + kQTVRBackBufferFlagLastFlag = 1L << 31 +}; + +/* QTVRCursorRecord used in QTVRReplaceCursor*/ +struct QTVRCursorRecord { + UInt16 theType; /* field was previously named "type"*/ + SInt16 rsrcID; + Handle handle; +}; +typedef struct QTVRCursorRecord QTVRCursorRecord; +struct QTVRFloatPoint { + float x; + float y; +}; +typedef struct QTVRFloatPoint QTVRFloatPoint; +/* Struct used for areasOfInterest parameter in QTVRSetBackBufferImagingProc*/ +struct QTVRAreaOfInterest { + float panAngle; + float tiltAngle; + float width; + float height; + UInt32 flags; +}; +typedef struct QTVRAreaOfInterest QTVRAreaOfInterest; +/* + ================================================================================================= + Callback routines + ------------------------------------------------------------------------------------------------- +*/ + +typedef CALLBACK_API( OSErr , QTVRLeavingNodeProcPtr )(QTVRInstance qtvr, UInt32 fromNodeID, UInt32 toNodeID, Boolean *cancel, SInt32 refCon); +typedef CALLBACK_API( OSErr , QTVREnteringNodeProcPtr )(QTVRInstance qtvr, UInt32 nodeID, SInt32 refCon); +typedef CALLBACK_API( OSErr , QTVRMouseOverHotSpotProcPtr )(QTVRInstance qtvr, UInt32 hotSpotID, UInt32 flags, SInt32 refCon); +typedef CALLBACK_API( OSErr , QTVRImagingCompleteProcPtr )(QTVRInstance qtvr, SInt32 refCon); +typedef CALLBACK_API( OSErr , QTVRBackBufferImagingProcPtr )(QTVRInstance qtvr, Rect *drawRect, UInt16 areaIndex, UInt32 flagsIn, UInt32 *flagsOut, SInt32 refCon); +typedef STACK_UPP_TYPE(QTVRLeavingNodeProcPtr) QTVRLeavingNodeUPP; +typedef STACK_UPP_TYPE(QTVREnteringNodeProcPtr) QTVREnteringNodeUPP; +typedef STACK_UPP_TYPE(QTVRMouseOverHotSpotProcPtr) QTVRMouseOverHotSpotUPP; +typedef STACK_UPP_TYPE(QTVRImagingCompleteProcPtr) QTVRImagingCompleteUPP; +typedef STACK_UPP_TYPE(QTVRBackBufferImagingProcPtr) QTVRBackBufferImagingUPP; +/* + * NewQTVRLeavingNodeUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( QTVRLeavingNodeUPP ) +NewQTVRLeavingNodeUPP(QTVRLeavingNodeProcPtr userRoutine); +#if !OPAQUE_UPP_TYPES + enum { uppQTVRLeavingNodeProcInfo = 0x0000FFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */ + #ifdef __cplusplus + inline DEFINE_API_C(QTVRLeavingNodeUPP) NewQTVRLeavingNodeUPP(QTVRLeavingNodeProcPtr userRoutine) { return (QTVRLeavingNodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRLeavingNodeProcInfo, GetCurrentArchitecture()); } + #else + #define NewQTVRLeavingNodeUPP(userRoutine) (QTVRLeavingNodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRLeavingNodeProcInfo, GetCurrentArchitecture()) + #endif +#endif + +/* + * NewQTVREnteringNodeUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( QTVREnteringNodeUPP ) +NewQTVREnteringNodeUPP(QTVREnteringNodeProcPtr userRoutine); +#if !OPAQUE_UPP_TYPES + enum { uppQTVREnteringNodeProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */ + #ifdef __cplusplus + inline DEFINE_API_C(QTVREnteringNodeUPP) NewQTVREnteringNodeUPP(QTVREnteringNodeProcPtr userRoutine) { return (QTVREnteringNodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVREnteringNodeProcInfo, GetCurrentArchitecture()); } + #else + #define NewQTVREnteringNodeUPP(userRoutine) (QTVREnteringNodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVREnteringNodeProcInfo, GetCurrentArchitecture()) + #endif +#endif + +/* + * NewQTVRMouseOverHotSpotUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( QTVRMouseOverHotSpotUPP ) +NewQTVRMouseOverHotSpotUPP(QTVRMouseOverHotSpotProcPtr userRoutine); +#if !OPAQUE_UPP_TYPES + enum { uppQTVRMouseOverHotSpotProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */ + #ifdef __cplusplus + inline DEFINE_API_C(QTVRMouseOverHotSpotUPP) NewQTVRMouseOverHotSpotUPP(QTVRMouseOverHotSpotProcPtr userRoutine) { return (QTVRMouseOverHotSpotUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRMouseOverHotSpotProcInfo, GetCurrentArchitecture()); } + #else + #define NewQTVRMouseOverHotSpotUPP(userRoutine) (QTVRMouseOverHotSpotUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRMouseOverHotSpotProcInfo, GetCurrentArchitecture()) + #endif +#endif + +/* + * NewQTVRImagingCompleteUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( QTVRImagingCompleteUPP ) +NewQTVRImagingCompleteUPP(QTVRImagingCompleteProcPtr userRoutine); +#if !OPAQUE_UPP_TYPES + enum { uppQTVRImagingCompleteProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */ + #ifdef __cplusplus + inline DEFINE_API_C(QTVRImagingCompleteUPP) NewQTVRImagingCompleteUPP(QTVRImagingCompleteProcPtr userRoutine) { return (QTVRImagingCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRImagingCompleteProcInfo, GetCurrentArchitecture()); } + #else + #define NewQTVRImagingCompleteUPP(userRoutine) (QTVRImagingCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRImagingCompleteProcInfo, GetCurrentArchitecture()) + #endif +#endif + +/* + * NewQTVRBackBufferImagingUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( QTVRBackBufferImagingUPP ) +NewQTVRBackBufferImagingUPP(QTVRBackBufferImagingProcPtr userRoutine); +#if !OPAQUE_UPP_TYPES + enum { uppQTVRBackBufferImagingProcInfo = 0x0003FBE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */ + #ifdef __cplusplus + inline DEFINE_API_C(QTVRBackBufferImagingUPP) NewQTVRBackBufferImagingUPP(QTVRBackBufferImagingProcPtr userRoutine) { return (QTVRBackBufferImagingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRBackBufferImagingProcInfo, GetCurrentArchitecture()); } + #else + #define NewQTVRBackBufferImagingUPP(userRoutine) (QTVRBackBufferImagingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRBackBufferImagingProcInfo, GetCurrentArchitecture()) + #endif +#endif + +/* + * DisposeQTVRLeavingNodeUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +DisposeQTVRLeavingNodeUPP(QTVRLeavingNodeUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) DisposeQTVRLeavingNodeUPP(QTVRLeavingNodeUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } + #else + #define DisposeQTVRLeavingNodeUPP(userUPP) DisposeRoutineDescriptor(userUPP) + #endif +#endif + +/* + * DisposeQTVREnteringNodeUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +DisposeQTVREnteringNodeUPP(QTVREnteringNodeUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) DisposeQTVREnteringNodeUPP(QTVREnteringNodeUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } + #else + #define DisposeQTVREnteringNodeUPP(userUPP) DisposeRoutineDescriptor(userUPP) + #endif +#endif + +/* + * DisposeQTVRMouseOverHotSpotUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +DisposeQTVRMouseOverHotSpotUPP(QTVRMouseOverHotSpotUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) DisposeQTVRMouseOverHotSpotUPP(QTVRMouseOverHotSpotUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } + #else + #define DisposeQTVRMouseOverHotSpotUPP(userUPP) DisposeRoutineDescriptor(userUPP) + #endif +#endif + +/* + * DisposeQTVRImagingCompleteUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +DisposeQTVRImagingCompleteUPP(QTVRImagingCompleteUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) DisposeQTVRImagingCompleteUPP(QTVRImagingCompleteUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } + #else + #define DisposeQTVRImagingCompleteUPP(userUPP) DisposeRoutineDescriptor(userUPP) + #endif +#endif + +/* + * DisposeQTVRBackBufferImagingUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +DisposeQTVRBackBufferImagingUPP(QTVRBackBufferImagingUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) DisposeQTVRBackBufferImagingUPP(QTVRBackBufferImagingUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } + #else + #define DisposeQTVRBackBufferImagingUPP(userUPP) DisposeRoutineDescriptor(userUPP) + #endif +#endif + +/* + * InvokeQTVRLeavingNodeUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( OSErr ) +InvokeQTVRLeavingNodeUPP( + QTVRInstance qtvr, + UInt32 fromNodeID, + UInt32 toNodeID, + Boolean * cancel, + SInt32 refCon, + QTVRLeavingNodeUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(OSErr) InvokeQTVRLeavingNodeUPP(QTVRInstance qtvr, UInt32 fromNodeID, UInt32 toNodeID, Boolean * cancel, SInt32 refCon, QTVRLeavingNodeUPP userUPP) { return (OSErr)CALL_FIVE_PARAMETER_UPP(userUPP, uppQTVRLeavingNodeProcInfo, qtvr, fromNodeID, toNodeID, cancel, refCon); } + #else + #define InvokeQTVRLeavingNodeUPP(qtvr, fromNodeID, toNodeID, cancel, refCon, userUPP) (OSErr)CALL_FIVE_PARAMETER_UPP((userUPP), uppQTVRLeavingNodeProcInfo, (qtvr), (fromNodeID), (toNodeID), (cancel), (refCon)) + #endif +#endif + +/* + * InvokeQTVREnteringNodeUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( OSErr ) +InvokeQTVREnteringNodeUPP( + QTVRInstance qtvr, + UInt32 nodeID, + SInt32 refCon, + QTVREnteringNodeUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(OSErr) InvokeQTVREnteringNodeUPP(QTVRInstance qtvr, UInt32 nodeID, SInt32 refCon, QTVREnteringNodeUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppQTVREnteringNodeProcInfo, qtvr, nodeID, refCon); } + #else + #define InvokeQTVREnteringNodeUPP(qtvr, nodeID, refCon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppQTVREnteringNodeProcInfo, (qtvr), (nodeID), (refCon)) + #endif +#endif + +/* + * InvokeQTVRMouseOverHotSpotUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( OSErr ) +InvokeQTVRMouseOverHotSpotUPP( + QTVRInstance qtvr, + UInt32 hotSpotID, + UInt32 flags, + SInt32 refCon, + QTVRMouseOverHotSpotUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(OSErr) InvokeQTVRMouseOverHotSpotUPP(QTVRInstance qtvr, UInt32 hotSpotID, UInt32 flags, SInt32 refCon, QTVRMouseOverHotSpotUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppQTVRMouseOverHotSpotProcInfo, qtvr, hotSpotID, flags, refCon); } + #else + #define InvokeQTVRMouseOverHotSpotUPP(qtvr, hotSpotID, flags, refCon, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppQTVRMouseOverHotSpotProcInfo, (qtvr), (hotSpotID), (flags), (refCon)) + #endif +#endif + +/* + * InvokeQTVRImagingCompleteUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( OSErr ) +InvokeQTVRImagingCompleteUPP( + QTVRInstance qtvr, + SInt32 refCon, + QTVRImagingCompleteUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(OSErr) InvokeQTVRImagingCompleteUPP(QTVRInstance qtvr, SInt32 refCon, QTVRImagingCompleteUPP userUPP) { return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppQTVRImagingCompleteProcInfo, qtvr, refCon); } + #else + #define InvokeQTVRImagingCompleteUPP(qtvr, refCon, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppQTVRImagingCompleteProcInfo, (qtvr), (refCon)) + #endif +#endif + +/* + * InvokeQTVRBackBufferImagingUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( OSErr ) +InvokeQTVRBackBufferImagingUPP( + QTVRInstance qtvr, + Rect * drawRect, + UInt16 areaIndex, + UInt32 flagsIn, + UInt32 * flagsOut, + SInt32 refCon, + QTVRBackBufferImagingUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(OSErr) InvokeQTVRBackBufferImagingUPP(QTVRInstance qtvr, Rect * drawRect, UInt16 areaIndex, UInt32 flagsIn, UInt32 * flagsOut, SInt32 refCon, QTVRBackBufferImagingUPP userUPP) { return (OSErr)CALL_SIX_PARAMETER_UPP(userUPP, uppQTVRBackBufferImagingProcInfo, qtvr, drawRect, areaIndex, flagsIn, flagsOut, refCon); } + #else + #define InvokeQTVRBackBufferImagingUPP(qtvr, drawRect, areaIndex, flagsIn, flagsOut, refCon, userUPP) (OSErr)CALL_SIX_PARAMETER_UPP((userUPP), uppQTVRBackBufferImagingProcInfo, (qtvr), (drawRect), (areaIndex), (flagsIn), (flagsOut), (refCon)) + #endif +#endif + +#if CALL_NOT_IN_CARBON || OLDROUTINENAMES + /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */ + #define NewQTVRLeavingNodeProc(userRoutine) NewQTVRLeavingNodeUPP(userRoutine) + #define NewQTVREnteringNodeProc(userRoutine) NewQTVREnteringNodeUPP(userRoutine) + #define NewQTVRMouseOverHotSpotProc(userRoutine) NewQTVRMouseOverHotSpotUPP(userRoutine) + #define NewQTVRImagingCompleteProc(userRoutine) NewQTVRImagingCompleteUPP(userRoutine) + #define NewQTVRBackBufferImagingProc(userRoutine) NewQTVRBackBufferImagingUPP(userRoutine) + #define CallQTVRLeavingNodeProc(userRoutine, qtvr, fromNodeID, toNodeID, cancel, refCon) InvokeQTVRLeavingNodeUPP(qtvr, fromNodeID, toNodeID, cancel, refCon, userRoutine) + #define CallQTVREnteringNodeProc(userRoutine, qtvr, nodeID, refCon) InvokeQTVREnteringNodeUPP(qtvr, nodeID, refCon, userRoutine) + #define CallQTVRMouseOverHotSpotProc(userRoutine, qtvr, hotSpotID, flags, refCon) InvokeQTVRMouseOverHotSpotUPP(qtvr, hotSpotID, flags, refCon, userRoutine) + #define CallQTVRImagingCompleteProc(userRoutine, qtvr, refCon) InvokeQTVRImagingCompleteUPP(qtvr, refCon, userRoutine) + #define CallQTVRBackBufferImagingProc(userRoutine, qtvr, drawRect, areaIndex, flagsIn, flagsOut, refCon) InvokeQTVRBackBufferImagingUPP(qtvr, drawRect, areaIndex, flagsIn, flagsOut, refCon, userRoutine) +#endif /* CALL_NOT_IN_CARBON */ + +/* + ================================================================================================= + QTVR Intercept Struct, Callback, Routine Descriptors + ------------------------------------------------------------------------------------------------- +*/ + +typedef UInt32 QTVRProcSelector; +enum { + kQTVRSetPanAngleSelector = 0x2000, + kQTVRSetTiltAngleSelector = 0x2001, + kQTVRSetFieldOfViewSelector = 0x2002, + kQTVRSetViewCenterSelector = 0x2003, + kQTVRMouseEnterSelector = 0x2004, + kQTVRMouseWithinSelector = 0x2005, + kQTVRMouseLeaveSelector = 0x2006, + kQTVRMouseDownSelector = 0x2007, + kQTVRMouseStillDownSelector = 0x2008, + kQTVRMouseUpSelector = 0x2009, + kQTVRTriggerHotSpotSelector = 0x200A, + kQTVRGetHotSpotTypeSelector = 0x200B, /* Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/ + kQTVRSetViewParameterSelector = 0x200C, /* Requires QTVR 5.0 (kQTVRAPIMajorVersion05 + kQTVRAPIMinorVersion00)*/ + kQTVRGetViewParameterSelector = 0x200D /* Requires QTVR 5.0 (kQTVRAPIMajorVersion05 + kQTVRAPIMinorVersion00)*/ +}; + +struct QTVRInterceptRecord { + SInt32 reserved1; + SInt32 selector; + + SInt32 reserved2; + SInt32 reserved3; + + SInt32 paramCount; + void * parameter[6]; +}; +typedef struct QTVRInterceptRecord QTVRInterceptRecord; +typedef QTVRInterceptRecord * QTVRInterceptPtr; +/* Prototype for Intercept Proc callback*/ +typedef CALLBACK_API( void , QTVRInterceptProcPtr )(QTVRInstance qtvr, QTVRInterceptPtr qtvrMsg, SInt32 refCon, Boolean *cancel); +typedef STACK_UPP_TYPE(QTVRInterceptProcPtr) QTVRInterceptUPP; +/* + * NewQTVRInterceptUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( QTVRInterceptUPP ) +NewQTVRInterceptUPP(QTVRInterceptProcPtr userRoutine); +#if !OPAQUE_UPP_TYPES + enum { uppQTVRInterceptProcInfo = 0x00003FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */ + #ifdef __cplusplus + inline DEFINE_API_C(QTVRInterceptUPP) NewQTVRInterceptUPP(QTVRInterceptProcPtr userRoutine) { return (QTVRInterceptUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRInterceptProcInfo, GetCurrentArchitecture()); } + #else + #define NewQTVRInterceptUPP(userRoutine) (QTVRInterceptUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRInterceptProcInfo, GetCurrentArchitecture()) + #endif +#endif + +/* + * DisposeQTVRInterceptUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +DisposeQTVRInterceptUPP(QTVRInterceptUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) DisposeQTVRInterceptUPP(QTVRInterceptUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } + #else + #define DisposeQTVRInterceptUPP(userUPP) DisposeRoutineDescriptor(userUPP) + #endif +#endif + +/* + * InvokeQTVRInterceptUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API_C( void ) +InvokeQTVRInterceptUPP( + QTVRInstance qtvr, + QTVRInterceptPtr qtvrMsg, + SInt32 refCon, + Boolean * cancel, + QTVRInterceptUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) InvokeQTVRInterceptUPP(QTVRInstance qtvr, QTVRInterceptPtr qtvrMsg, SInt32 refCon, Boolean * cancel, QTVRInterceptUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppQTVRInterceptProcInfo, qtvr, qtvrMsg, refCon, cancel); } + #else + #define InvokeQTVRInterceptUPP(qtvr, qtvrMsg, refCon, cancel, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQTVRInterceptProcInfo, (qtvr), (qtvrMsg), (refCon), (cancel)) + #endif +#endif + +#if CALL_NOT_IN_CARBON || OLDROUTINENAMES + /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */ + #define NewQTVRInterceptProc(userRoutine) NewQTVRInterceptUPP(userRoutine) + #define CallQTVRInterceptProc(userRoutine, qtvr, qtvrMsg, refCon, cancel) InvokeQTVRInterceptUPP(qtvr, qtvrMsg, refCon, cancel, userRoutine) +#endif /* CALL_NOT_IN_CARBON */ + +/* + ================================================================================================= + Initialization QTVR calls + ------------------------------------------------------------------------------------------------- + Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10) and only work on Non-Macintosh platforms +*/ +#if !TARGET_OS_MAC +#if CALL_NOT_IN_CARBON +/* + * InitializeQTVR() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: not available + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +InitializeQTVR(void); + + +/* + * TerminateQTVR() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: not available + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +TerminateQTVR(void); + + +#endif /* CALL_NOT_IN_CARBON */ + +#endif /* !TARGET_OS_MAC */ + +/* + ================================================================================================= + General QTVR calls + ------------------------------------------------------------------------------------------------- +*/ +/* + * QTVRGetQTVRTrack() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( Track ) +QTVRGetQTVRTrack( + Movie theMovie, + SInt32 index); + + +/* + * QTVRGetQTVRInstance() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRGetQTVRInstance( + QTVRInstance * qtvr, + Track qtvrTrack, + MovieController mc); + + +/* + ================================================================================================= + Viewing Angles and Zooming + ------------------------------------------------------------------------------------------------- +*/ + +/* QTVRSetViewParameter requires QTVR 5.0 (kQTVRAPIMajorVersion05 + kQTVRAPIMinorVersion00)*/ +/* + * QTVRSetViewParameter() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 5.0 and later + * CarbonLib: in CarbonLib 1.3 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 5.0 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetViewParameter( + QTVRInstance qtvr, + UInt32 viewParameter, + void * value, + UInt32 flagsIn); + + +/* QTVRGetViewParameter requires QTVR 5.0 (kQTVRAPIMajorVersion05 + kQTVRAPIMinorVersion00)*/ +/* + * QTVRGetViewParameter() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 5.0 and later + * CarbonLib: in CarbonLib 1.3 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 5.0 and later + */ +EXTERN_API_C( OSErr ) +QTVRGetViewParameter( + QTVRInstance qtvr, + UInt32 viewParameter, + void * value, + UInt32 flagsIn, + UInt32 * flagsOut); + + +/* + * QTVRSetPanAngle() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetPanAngle( + QTVRInstance qtvr, + float panAngle); + + +/* + * QTVRGetPanAngle() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( float ) +QTVRGetPanAngle(QTVRInstance qtvr); + + +/* + * QTVRSetTiltAngle() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetTiltAngle( + QTVRInstance qtvr, + float tiltAngle); + + +/* + * QTVRGetTiltAngle() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( float ) +QTVRGetTiltAngle(QTVRInstance qtvr); + + +/* + * QTVRSetFieldOfView() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetFieldOfView( + QTVRInstance qtvr, + float fieldOfView); + + +/* + * QTVRGetFieldOfView() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( float ) +QTVRGetFieldOfView(QTVRInstance qtvr); + + +/* + * QTVRShowDefaultView() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRShowDefaultView(QTVRInstance qtvr); + + +/* Object Specific*/ +/* + * QTVRSetViewCenter() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetViewCenter( + QTVRInstance qtvr, + const QTVRFloatPoint * viewCenter); + + +/* + * QTVRGetViewCenter() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRGetViewCenter( + QTVRInstance qtvr, + QTVRFloatPoint * viewCenter); + + +/* + * QTVRNudge() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRNudge( + QTVRInstance qtvr, + QTVRNudgeControl direction); + + +/* QTVRInteractionNudge requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/ +/* + * QTVRInteractionNudge() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRInteractionNudge( + QTVRInstance qtvr, + QTVRNudgeControl direction); + + +/* + ================================================================================================= + Scene and Node Location Information + ------------------------------------------------------------------------------------------------- +*/ + +/* + * QTVRGetVRWorld() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRGetVRWorld( + QTVRInstance qtvr, + QTAtomContainer * VRWorld); + + +/* + * QTVRGetNodeInfo() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRGetNodeInfo( + QTVRInstance qtvr, + UInt32 nodeID, + QTAtomContainer * nodeInfo); + + +/* + * QTVRGoToNodeID() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRGoToNodeID( + QTVRInstance qtvr, + UInt32 nodeID); + + +/* + * QTVRGetCurrentNodeID() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( UInt32 ) +QTVRGetCurrentNodeID(QTVRInstance qtvr); + + +/* + * QTVRGetNodeType() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSType ) +QTVRGetNodeType( + QTVRInstance qtvr, + UInt32 nodeID); + + +/* + ================================================================================================= + Hot Spot related calls + ------------------------------------------------------------------------------------------------- +*/ + +/* + * QTVRPtToHotSpotID() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRPtToHotSpotID( + QTVRInstance qtvr, + Point pt, + UInt32 * hotSpotID); + + +/* QTVRGetHotSpotType requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/ +/* + * QTVRGetHotSpotType() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRGetHotSpotType( + QTVRInstance qtvr, + UInt32 hotSpotID, + OSType * hotSpotType); + + +/* + * QTVRTriggerHotSpot() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRTriggerHotSpot( + QTVRInstance qtvr, + UInt32 hotSpotID, + QTAtomContainer nodeInfo, + QTAtom selectedAtom); + + +/* + * QTVRSetMouseOverHotSpotProc() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetMouseOverHotSpotProc( + QTVRInstance qtvr, + QTVRMouseOverHotSpotUPP mouseOverHotSpotProc, + SInt32 refCon, + UInt32 flags); + + +/* + * QTVREnableHotSpot() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVREnableHotSpot( + QTVRInstance qtvr, + UInt32 enableFlag, + UInt32 hotSpotValue, + Boolean enable); + + +/* + * QTVRGetVisibleHotSpots() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( UInt32 ) +QTVRGetVisibleHotSpots( + QTVRInstance qtvr, + Handle hotSpots); + + +/* + * QTVRGetHotSpotRegion() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRGetHotSpotRegion( + QTVRInstance qtvr, + UInt32 hotSpotID, + RgnHandle hotSpotRegion); + + +/* + ================================================================================================= + Event & Cursor Handling Calls + ------------------------------------------------------------------------------------------------- +*/ + +/* + * QTVRSetMouseOverTracking() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetMouseOverTracking( + QTVRInstance qtvr, + Boolean enable); + + +/* + * QTVRGetMouseOverTracking() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( Boolean ) +QTVRGetMouseOverTracking(QTVRInstance qtvr); + + +/* + * QTVRSetMouseDownTracking() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetMouseDownTracking( + QTVRInstance qtvr, + Boolean enable); + + +/* + * QTVRGetMouseDownTracking() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( Boolean ) +QTVRGetMouseDownTracking(QTVRInstance qtvr); + + +/* + * QTVRMouseEnter() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRMouseEnter( + QTVRInstance qtvr, + Point pt, + UInt32 * hotSpotID, + WindowRef w); + + +/* + * QTVRMouseWithin() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRMouseWithin( + QTVRInstance qtvr, + Point pt, + UInt32 * hotSpotID, + WindowRef w); + + +/* + * QTVRMouseLeave() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRMouseLeave( + QTVRInstance qtvr, + Point pt, + WindowRef w); + + +/* + * QTVRMouseDown() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRMouseDown( + QTVRInstance qtvr, + Point pt, + UInt32 when, + UInt16 modifiers, + UInt32 * hotSpotID, + WindowRef w); + + +/* + * QTVRMouseStillDown() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRMouseStillDown( + QTVRInstance qtvr, + Point pt, + UInt32 * hotSpotID, + WindowRef w); + + +/* + * QTVRMouseUp() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRMouseUp( + QTVRInstance qtvr, + Point pt, + UInt32 * hotSpotID, + WindowRef w); + + +/* These require QTVR 2.01 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion01)*/ +/* + * QTVRMouseStillDownExtended() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0.1 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRMouseStillDownExtended( + QTVRInstance qtvr, + Point pt, + UInt32 * hotSpotID, + WindowRef w, + UInt32 when, + UInt16 modifiers); + + +/* + * QTVRMouseUpExtended() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0.1 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRMouseUpExtended( + QTVRInstance qtvr, + Point pt, + UInt32 * hotSpotID, + WindowRef w, + UInt32 when, + UInt16 modifiers); + + +/* + ================================================================================================= + Intercept Routines + ------------------------------------------------------------------------------------------------- +*/ + +/* + * QTVRInstallInterceptProc() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRInstallInterceptProc( + QTVRInstance qtvr, + QTVRProcSelector selector, + QTVRInterceptUPP interceptProc, + SInt32 refCon, + UInt32 flags); + + +/* + * QTVRCallInterceptedProc() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRCallInterceptedProc( + QTVRInstance qtvr, + QTVRInterceptRecord * qtvrMsg); + + +/* + ================================================================================================= + Object Movie Specific Calls + ------------------------------------------------------------------------------------------------- + QTVRGetCurrentMouseMode requires QTRVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10) +*/ +/* + * QTVRGetCurrentMouseMode() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( UInt32 ) +QTVRGetCurrentMouseMode(QTVRInstance qtvr); + + +/* + * QTVRSetFrameRate() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetFrameRate( + QTVRInstance qtvr, + float rate); + + +/* + * QTVRGetFrameRate() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( float ) +QTVRGetFrameRate(QTVRInstance qtvr); + + +/* + * QTVRSetViewRate() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetViewRate( + QTVRInstance qtvr, + float rate); + + +/* + * QTVRGetViewRate() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( float ) +QTVRGetViewRate(QTVRInstance qtvr); + + +/* + * QTVRSetViewCurrentTime() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetViewCurrentTime( + QTVRInstance qtvr, + TimeValue time); + + +/* + * QTVRGetViewCurrentTime() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( TimeValue ) +QTVRGetViewCurrentTime(QTVRInstance qtvr); + + +/* + * QTVRGetCurrentViewDuration() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( TimeValue ) +QTVRGetCurrentViewDuration(QTVRInstance qtvr); + + +/* + ================================================================================================= + View State Calls - QTVR Object Only + ------------------------------------------------------------------------------------------------- +*/ + +/* + * QTVRSetViewState() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetViewState( + QTVRInstance qtvr, + QTVRViewStateType viewStateType, + UInt16 state); + + +/* + * QTVRGetViewState() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRGetViewState( + QTVRInstance qtvr, + QTVRViewStateType viewStateType, + UInt16 * state); + + +/* + * QTVRGetViewStateCount() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( UInt16 ) +QTVRGetViewStateCount(QTVRInstance qtvr); + + +/* + * QTVRSetAnimationSetting() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetAnimationSetting( + QTVRInstance qtvr, + QTVRObjectAnimationSetting setting, + Boolean enable); + + +/* + * QTVRGetAnimationSetting() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRGetAnimationSetting( + QTVRInstance qtvr, + QTVRObjectAnimationSetting setting, + Boolean * enable); + + +/* + * QTVRSetControlSetting() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetControlSetting( + QTVRInstance qtvr, + QTVRControlSetting setting, + Boolean enable); + + +/* + * QTVRGetControlSetting() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRGetControlSetting( + QTVRInstance qtvr, + QTVRControlSetting setting, + Boolean * enable); + + +/* + * QTVREnableFrameAnimation() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVREnableFrameAnimation( + QTVRInstance qtvr, + Boolean enable); + + +/* + * QTVRGetFrameAnimation() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( Boolean ) +QTVRGetFrameAnimation(QTVRInstance qtvr); + + +/* + * QTVREnableViewAnimation() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVREnableViewAnimation( + QTVRInstance qtvr, + Boolean enable); + + +/* + * QTVRGetViewAnimation() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( Boolean ) +QTVRGetViewAnimation(QTVRInstance qtvr); + + + +/* + ================================================================================================= + Imaging Characteristics + ------------------------------------------------------------------------------------------------- +*/ + +/* + * QTVRSetVisible() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetVisible( + QTVRInstance qtvr, + Boolean visible); + + +/* + * QTVRGetVisible() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( Boolean ) +QTVRGetVisible(QTVRInstance qtvr); + + +/* + * QTVRSetImagingProperty() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetImagingProperty( + QTVRInstance qtvr, + QTVRImagingMode imagingMode, + UInt32 imagingProperty, + SInt32 propertyValue); + + +/* + * QTVRGetImagingProperty() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRGetImagingProperty( + QTVRInstance qtvr, + QTVRImagingMode imagingMode, + UInt32 imagingProperty, + SInt32 * propertyValue); + + +/* + * QTVRUpdate() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRUpdate( + QTVRInstance qtvr, + QTVRImagingMode imagingMode); + + +/* + * QTVRBeginUpdateStream() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRBeginUpdateStream( + QTVRInstance qtvr, + QTVRImagingMode imagingMode); + + +/* + * QTVREndUpdateStream() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVREndUpdateStream(QTVRInstance qtvr); + + +/* + * QTVRSetTransitionProperty() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetTransitionProperty( + QTVRInstance qtvr, + UInt32 transitionType, + UInt32 transitionProperty, + SInt32 transitionValue); + + +/* + * QTVREnableTransition() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVREnableTransition( + QTVRInstance qtvr, + UInt32 transitionType, + Boolean enable); + + +/* + ================================================================================================= + Basic Conversion and Math Routines + ------------------------------------------------------------------------------------------------- +*/ + +/* + * QTVRSetAngularUnits() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetAngularUnits( + QTVRInstance qtvr, + QTVRAngularUnits units); + + +/* + * QTVRGetAngularUnits() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( QTVRAngularUnits ) +QTVRGetAngularUnits(QTVRInstance qtvr); + + +/* Pano specific routines*/ +/* + * QTVRPtToAngles() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRPtToAngles( + QTVRInstance qtvr, + Point pt, + float * panAngle, + float * tiltAngle); + + +/* + * QTVRCoordToAngles() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRCoordToAngles( + QTVRInstance qtvr, + QTVRFloatPoint * coord, + float * panAngle, + float * tiltAngle); + + +/* + * QTVRAnglesToCoord() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRAnglesToCoord( + QTVRInstance qtvr, + float panAngle, + float tiltAngle, + QTVRFloatPoint * coord); + + +/* Object specific routines*/ +/* + * QTVRPanToColumn() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( short ) +QTVRPanToColumn( + QTVRInstance qtvr, + float panAngle); + + +/* zero based */ +/* + * QTVRColumnToPan() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( float ) +QTVRColumnToPan( + QTVRInstance qtvr, + short column); + + +/* zero based */ +/* + * QTVRTiltToRow() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( short ) +QTVRTiltToRow( + QTVRInstance qtvr, + float tiltAngle); + + +/* zero based */ +/* + * QTVRRowToTilt() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( float ) +QTVRRowToTilt( + QTVRInstance qtvr, + short row); + + +/* zero based */ +/* + * QTVRWrapAndConstrain() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRWrapAndConstrain( + QTVRInstance qtvr, + short kind, + float value, + float * result); + + + +/* + ================================================================================================= + Interaction Routines + ------------------------------------------------------------------------------------------------- +*/ + +/* + * QTVRSetEnteringNodeProc() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetEnteringNodeProc( + QTVRInstance qtvr, + QTVREnteringNodeUPP enteringNodeProc, + SInt32 refCon, + UInt32 flags); + + +/* + * QTVRSetLeavingNodeProc() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetLeavingNodeProc( + QTVRInstance qtvr, + QTVRLeavingNodeUPP leavingNodeProc, + SInt32 refCon, + UInt32 flags); + + +/* + * QTVRSetInteractionProperty() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetInteractionProperty( + QTVRInstance qtvr, + UInt32 property, + void * value); + + +/* + * QTVRGetInteractionProperty() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRGetInteractionProperty( + QTVRInstance qtvr, + UInt32 property, + void * value); + + +/* + * QTVRReplaceCursor() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRReplaceCursor( + QTVRInstance qtvr, + QTVRCursorRecord * cursRecord); + + +/* + ================================================================================================= + Viewing Limits and Constraints + ------------------------------------------------------------------------------------------------- +*/ + +/* + * QTVRGetViewingLimits() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRGetViewingLimits( + QTVRInstance qtvr, + UInt16 kind, + float * minValue, + float * maxValue); + + +/* + * QTVRGetConstraintStatus() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( UInt32 ) +QTVRGetConstraintStatus(QTVRInstance qtvr); + + +/* + * QTVRGetConstraints() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRGetConstraints( + QTVRInstance qtvr, + UInt16 kind, + float * minValue, + float * maxValue); + + +/* + * QTVRSetConstraints() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetConstraints( + QTVRInstance qtvr, + UInt16 kind, + float minValue, + float maxValue); + + + +/* + ================================================================================================= + Back Buffer Memory Management + ------------------------------------------------------------------------------------------------- +*/ + +/* + * QTVRGetAvailableResolutions() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRGetAvailableResolutions( + QTVRInstance qtvr, + UInt16 * resolutionsMask); + + +/* These require QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/ +/* + * QTVRGetBackBufferMemInfo() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRGetBackBufferMemInfo( + QTVRInstance qtvr, + UInt32 geometry, + UInt16 resolution, + UInt32 cachePixelFormat, + SInt32 * minCacheBytes, + SInt32 * suggestedCacheBytes, + SInt32 * fullCacheBytes); + + +/* + * QTVRGetBackBufferSettings() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRGetBackBufferSettings( + QTVRInstance qtvr, + UInt32 * geometry, + UInt16 * resolution, + UInt32 * cachePixelFormat, + SInt16 * cacheSize); + + +/* + * QTVRSetBackBufferPrefs() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetBackBufferPrefs( + QTVRInstance qtvr, + UInt32 geometry, + UInt16 resolution, + UInt32 cachePixelFormat, + SInt16 cacheSize); + + +/* + ================================================================================================= + Buffer Access + ------------------------------------------------------------------------------------------------- +*/ + +/* + * QTVRSetPrescreenImagingCompleteProc() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetPrescreenImagingCompleteProc( + QTVRInstance qtvr, + QTVRImagingCompleteUPP imagingCompleteProc, + SInt32 refCon, + UInt32 flags); + + +/* + * QTVRSetBackBufferImagingProc() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRSetBackBufferImagingProc( + QTVRInstance qtvr, + QTVRBackBufferImagingUPP backBufferImagingProc, + UInt16 numAreas, + QTVRAreaOfInterest areasOfInterest[], + SInt32 refCon); + + +/* + * QTVRRefreshBackBuffer() + * + * Availability: + * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later + * CarbonLib: in CarbonLib 1.1 and later + * Mac OS X: in version 10.0 and later + * Windows: in QTVR.lib 2.1 and later + */ +EXTERN_API_C( OSErr ) +QTVRRefreshBackBuffer( + QTVRInstance qtvr, + UInt32 flags); + + + + +/* + ================================================================================================= + Old Names + ------------------------------------------------------------------------------------------------- +*/ +#if OLDROUTINENAMES +typedef QTVRCursorRecord CursorRecord; +typedef QTVRAreaOfInterest AreaOfInterest; +typedef QTVRFloatPoint FloatPoint; +typedef QTVRLeavingNodeProcPtr LeavingNodeProcPtr; +typedef QTVRLeavingNodeUPP LeavingNodeUPP; +typedef QTVREnteringNodeProcPtr EnteringNodeProcPtr; +typedef QTVREnteringNodeUPP EnteringNodeUPP; +typedef QTVRMouseOverHotSpotProcPtr MouseOverHotSpotProcPtr; +typedef QTVRMouseOverHotSpotUPP MouseOverHotSpotUPP; +typedef QTVRImagingCompleteProcPtr ImagingCompleteProcPtr; +typedef QTVRImagingCompleteUPP ImagingCompleteUPP; +typedef QTVRBackBufferImagingProcPtr BackBufferImagingProcPtr; +typedef QTVRBackBufferImagingUPP BackBufferImagingUPP; +#endif /* OLDROUTINENAMES */ + + + +#endif // !__LP64__ + + +#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 /* __QUICKTIMEVR__ */ + |