|
|
/*
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__ */
|