mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-22 22:27:05 +00:00
2460 lines
73 KiB
C
2460 lines
73 KiB
C
/*
|
|
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__ */
|
|
|