Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2459 lines
73 KiB

  1. /*
  2. File: QuickTimeVR.h
  3. Contains: QuickTime VR interfaces
  4. Version: QuickTime 7.3
  5. Copyright: (c) 2007 (c) 1997-2007 by Apple Inc., all rights reserved.
  6. Bugs?: For bug reports, consult the following page on
  7. the World Wide Web:
  8. http://developer.apple.com/bugreporter/
  9. */
  10. #ifndef __QUICKTIMEVR__
  11. #define __QUICKTIMEVR__
  12. #ifndef __MACTYPES__
  13. #include <MacTypes.h>
  14. #endif
  15. #ifndef __MOVIES__
  16. #include <Movies.h>
  17. #endif
  18. #if PRAGMA_ONCE
  19. #pragma once
  20. #endif
  21. #ifdef __cplusplus
  22. extern "C" {
  23. #endif
  24. #if PRAGMA_IMPORT
  25. #pragma import on
  26. #endif
  27. #if PRAGMA_STRUCT_ALIGN
  28. #pragma options align=mac68k
  29. #elif PRAGMA_STRUCT_PACKPUSH
  30. #pragma pack(push, 2)
  31. #elif PRAGMA_STRUCT_PACK
  32. #pragma pack(2)
  33. #endif
  34. /* QuickTime is not available to 64-bit clients */
  35. #if !__LP64__
  36. typedef struct OpaqueQTVRInstance* QTVRInstance;
  37. /* Released API Version numbers */
  38. #define kQTVRAPIMajorVersion05 (0x05)
  39. #define kQTVRAPIMajorVersion02 (0x02)
  40. #define kQTVRAPIMinorVersion00 (0x00)
  41. #define kQTVRAPIMinorVersion01 (0x01)
  42. #define kQTVRAPIMinorVersion10 (0x10)
  43. #define kQTVRAPIMinorVersion20 (0x20)
  44. /* Version numbers for the API described in this header */
  45. #define kQTVRAPIMajorVersion kQTVRAPIMajorVersion05
  46. #define kQTVRAPIMinorVersion kQTVRAPIMinorVersion00
  47. enum {
  48. kQTVRControllerSubType = FOUR_CHAR_CODE('ctyp'),
  49. kQTVRQTVRType = FOUR_CHAR_CODE('qtvr'),
  50. kQTVRPanoramaType = FOUR_CHAR_CODE('pano'),
  51. kQTVRObjectType = FOUR_CHAR_CODE('obje'),
  52. kQTVROldPanoType = FOUR_CHAR_CODE('STpn'), /* Used in QTVR 1.0 release*/
  53. kQTVROldObjectType = FOUR_CHAR_CODE('stna') /* Used in QTVR 1.0 release*/
  54. };
  55. #define kQTVRUnknownType '\?\?\?\?' /* Unknown node type */
  56. /* QTVR hot spot types*/
  57. enum {
  58. kQTVRHotSpotLinkType = FOUR_CHAR_CODE('link'),
  59. kQTVRHotSpotURLType = FOUR_CHAR_CODE('url '),
  60. kQTVRHotSpotUndefinedType = FOUR_CHAR_CODE('undf')
  61. };
  62. /* Special Values for nodeID in QTVRGoToNodeID*/
  63. enum {
  64. kQTVRCurrentNode = 0,
  65. kQTVRPreviousNode = (long)0x80000000,
  66. kQTVRDefaultNode = (long)0x80000001
  67. };
  68. /* Panorama correction modes used for the kQTVRImagingCorrection imaging property*/
  69. enum {
  70. kQTVRNoCorrection = 0,
  71. kQTVRPartialCorrection = 1,
  72. kQTVRFullCorrection = 2
  73. };
  74. /* Imaging Modes used by QTVRSetImagingProperty, QTVRGetImagingProperty, QTVRUpdate, QTVRBeginUpdate*/
  75. typedef UInt32 QTVRImagingMode;
  76. enum {
  77. kQTVRStatic = 1,
  78. kQTVRMotion = 2,
  79. kQTVRCurrentMode = 0, /* Special Value for QTVRUpdate*/
  80. kQTVRAllModes = 100 /* Special value for QTVRSetProperty*/
  81. };
  82. /* Imaging Properties used by QTVRSetImagingProperty, QTVRGetImagingProperty*/
  83. enum {
  84. kQTVRImagingCorrection = 1,
  85. kQTVRImagingQuality = 2,
  86. kQTVRImagingDirectDraw = 3,
  87. kQTVRImagingCurrentMode = 100 /* Get Only*/
  88. };
  89. /* OR the above with kImagingDefaultValue to get/set the default value*/
  90. enum {
  91. kImagingDefaultValue = (long)0x80000000
  92. };
  93. /* Transition Types used by QTVRSetTransitionProperty, QTVREnableTransition*/
  94. enum {
  95. kQTVRTransitionSwing = 1
  96. };
  97. /* Transition Properties QTVRSetTransitionProperty*/
  98. enum {
  99. kQTVRTransitionSpeed = 1,
  100. kQTVRTransitionDirection = 2
  101. };
  102. /* Constraint values used to construct value returned by GetConstraintStatus*/
  103. enum {
  104. kQTVRUnconstrained = 0L,
  105. kQTVRCantPanLeft = 1L << 0,
  106. kQTVRCantPanRight = 1L << 1,
  107. kQTVRCantPanUp = 1L << 2,
  108. kQTVRCantPanDown = 1L << 3,
  109. kQTVRCantZoomIn = 1L << 4,
  110. kQTVRCantZoomOut = 1L << 5,
  111. kQTVRCantTranslateLeft = 1L << 6,
  112. kQTVRCantTranslateRight = 1L << 7,
  113. kQTVRCantTranslateUp = 1L << 8,
  114. kQTVRCantTranslateDown = 1L << 9
  115. };
  116. /* Object-only mouse mode values used to construct value returned by QTVRGetCurrentMouseMode*/
  117. enum {
  118. kQTVRPanning = 1L << 0, /* standard objects, "object only" controllers*/
  119. kQTVRTranslating = 1L << 1, /* all objects*/
  120. kQTVRZooming = 1L << 2, /* all objects*/
  121. kQTVRScrolling = 1L << 3, /* standard object arrow scrollers and joystick object*/
  122. kQTVRSelecting = 1L << 4 /* object absolute controller*/
  123. };
  124. /* Properties for use with QTVRSetInteractionProperty/GetInteractionProperty*/
  125. enum {
  126. kQTVRInteractionMouseClickHysteresis = 1, /* pixels within which the mouse is considered not to have moved (UInt16)*/
  127. kQTVRInteractionMouseClickTimeout = 2, /* ticks after which a mouse click times out and turns into panning (UInt32)*/
  128. kQTVRInteractionPanTiltSpeed = 3, /* control the relative pan/tilt speed from 1 (slowest) to 10 (fastest). (UInt32) Default is 5;*/
  129. kQTVRInteractionZoomSpeed = 4, /* control the relative zooming speed from 1 (slowest) to 10 (fastest). (UInt32) Default is 5;*/
  130. kQTVRInteractionTranslateOnMouseDown = 101, /* Holding MouseDown with this setting translates zoomed object movies (Boolean)*/
  131. kQTVRInteractionMouseMotionScale = 102, /* The maximum angle of rotation caused by dragging across the display window. (* float)*/
  132. kQTVRInteractionNudgeMode = 103 /* A QTVRNudgeMode: rotate, translate, or the same as the current mouse mode. Requires QTVR 2.1*/
  133. };
  134. /* OR the above with kQTVRInteractionDefaultValue to get/set the default value*/
  135. enum {
  136. kQTVRInteractionDefaultValue = (long)0x80000000
  137. };
  138. /* Geometry constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings, QTVRGetBackBufferMemInfo*/
  139. enum {
  140. kQTVRUseMovieGeometry = 0,
  141. kQTVRVerticalCylinder = FOUR_CHAR_CODE('vcyl'),
  142. kQTVRHorizontalCylinder = FOUR_CHAR_CODE('hcyl'),
  143. kQTVRCube = FOUR_CHAR_CODE('cube')
  144. };
  145. /* Resolution constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings, QTVRGetBackBufferMemInfo*/
  146. enum {
  147. kQTVRDefaultRes = 0,
  148. kQTVRFullRes = 1L << 0,
  149. kQTVRHalfRes = 1L << 1,
  150. kQTVRQuarterRes = 1L << 2
  151. };
  152. /* QTVR-specific pixelFormat constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings, QTVRGetBackBufferMemInfo*/
  153. enum {
  154. kQTVRUseMovieDepth = 0
  155. };
  156. /* Cache Size Pref constants used in QTVRSetBackBufferPrefs, QTVRGetBackBufferSettings*/
  157. enum {
  158. kQTVRMinimumCache = -1,
  159. kQTVRSuggestedCache = 0,
  160. kQTVRFullCache = 1
  161. };
  162. /* Angular units used by QTVRSetAngularUnits*/
  163. typedef UInt32 QTVRAngularUnits;
  164. enum {
  165. kQTVRDegrees = 0,
  166. kQTVRRadians = 1
  167. };
  168. /* Values for enableFlag parameter in QTVREnableHotSpot*/
  169. enum {
  170. kQTVRHotSpotID = 0,
  171. kQTVRHotSpotType = 1,
  172. kQTVRAllHotSpots = 2
  173. };
  174. /* Values for viewParameter for QTVRSet/GetViewParameter*/
  175. enum {
  176. kQTVRPanAngle = 0x0100, /* default units; &float, &float*/
  177. kQTVRTiltAngle = 0x0101, /* default units; &float, &float*/
  178. kQTVRFieldOfViewAngle = 0x0103, /* default units; &float, &float*/
  179. kQTVRViewCenter = 0x0104, /* pixels (per object movies); &QTVRFloatPoint, &QTVRFloatPoint*/
  180. kQTVRHotSpotsVisible = 0x0200 /* Boolean, &Boolean*/
  181. };
  182. /* Values for flagsIn for QTVRSet/GetViewParameter*/
  183. enum {
  184. kQTVRValueIsRelative = 1L << 0, /* Is the value absolute or relative to the current value?*/
  185. kQTVRValueIsRate = 1L << 1, /* Is the value absolute or a rate of change to be applied?*/
  186. kQTVRValueIsUserPrefRelative = 1L << 2 /* Is the value a percentage of the user rate pref?*/
  187. };
  188. /* Values for kind parameter in QTVRGet/SetConstraints, QTVRGetViewingLimits*/
  189. enum {
  190. kQTVRPan = 0,
  191. kQTVRTilt = 1,
  192. kQTVRFieldOfView = 2,
  193. kQTVRViewCenterH = 4, /* WrapAndConstrain only*/
  194. kQTVRViewCenterV = 5 /* WrapAndConstrain only*/
  195. };
  196. /* Values for setting parameter in QTVRSetAnimationSetting, QTVRGetAnimationSetting*/
  197. typedef UInt32 QTVRObjectAnimationSetting;
  198. enum {
  199. /* View Frame Animation Settings*/
  200. kQTVRPalindromeViewFrames = 1,
  201. kQTVRStartFirstViewFrame = 2,
  202. kQTVRDontLoopViewFrames = 3,
  203. kQTVRPlayEveryViewFrame = 4, /* Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
  204. /* View Animation Settings*/
  205. kQTVRSyncViewToFrameRate = 16,
  206. kQTVRPalindromeViews = 17,
  207. kQTVRPlayStreamingViews = 18 /* Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
  208. };
  209. typedef UInt32 QTVRControlSetting;
  210. enum {
  211. kQTVRWrapPan = 1,
  212. kQTVRWrapTilt = 2,
  213. kQTVRCanZoom = 3,
  214. kQTVRReverseHControl = 4,
  215. kQTVRReverseVControl = 5,
  216. kQTVRSwapHVControl = 6,
  217. kQTVRTranslation = 7
  218. };
  219. typedef UInt32 QTVRViewStateType;
  220. enum {
  221. kQTVRDefault = 0,
  222. kQTVRCurrent = 2,
  223. kQTVRMouseDown = 3
  224. };
  225. typedef UInt32 QTVRNudgeControl;
  226. enum {
  227. kQTVRRight = 0,
  228. kQTVRUpRight = 45,
  229. kQTVRUp = 90,
  230. kQTVRUpLeft = 135,
  231. kQTVRLeft = 180,
  232. kQTVRDownLeft = 225,
  233. kQTVRDown = 270,
  234. kQTVRDownRight = 315
  235. };
  236. typedef UInt32 QTVRNudgeMode;
  237. enum {
  238. kQTVRNudgeRotate = 0,
  239. kQTVRNudgeTranslate = 1,
  240. kQTVRNudgeSameAsMouse = 2
  241. };
  242. /* Flags to control elements of the QTVR control bar (set via mcActionSetFlags) */
  243. enum {
  244. mcFlagQTVRSuppressBackBtn = 1L << 16,
  245. mcFlagQTVRSuppressZoomBtns = 1L << 17,
  246. mcFlagQTVRSuppressHotSpotBtn = 1L << 18,
  247. mcFlagQTVRSuppressTranslateBtn = 1L << 19,
  248. mcFlagQTVRSuppressHelpText = 1L << 20,
  249. mcFlagQTVRSuppressHotSpotNames = 1L << 21,
  250. mcFlagQTVRExplicitFlagSet = 1L << 31 /* bits 0->30 should be interpreted as "explicit on" for the corresponding suppression bits*/
  251. };
  252. /* Cursor types used in type field of QTVRCursorRecord*/
  253. enum {
  254. kQTVRUseDefaultCursor = 0,
  255. kQTVRStdCursorType = 1,
  256. kQTVRColorCursorType = 2
  257. };
  258. /* Values for flags parameter in QTVRMouseOverHotSpot callback*/
  259. enum {
  260. kQTVRHotSpotEnter = 0,
  261. kQTVRHotSpotWithin = 1,
  262. kQTVRHotSpotLeave = 2
  263. };
  264. /* Values for flags parameter in QTVRSetPrescreenImagingCompleteProc*/
  265. enum {
  266. kQTVRPreScreenEveryIdle = 1L << 0 /* Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
  267. };
  268. /* Values for flags field of areasOfInterest in QTVRSetBackBufferImagingProc*/
  269. enum {
  270. kQTVRBackBufferEveryUpdate = 1L << 0,
  271. kQTVRBackBufferEveryIdle = 1L << 1,
  272. kQTVRBackBufferAlwaysRefresh = 1L << 2,
  273. kQTVRBackBufferHorizontal = 1L << 3 /* Requires that backbuffer proc be long-rowBytes aware (gestaltQDHasLongRowBytes)*/
  274. };
  275. /* Values for flagsIn parameter in QTVRBackBufferImaging callback*/
  276. enum {
  277. kQTVRBackBufferRectVisible = 1L << 0,
  278. kQTVRBackBufferWasRefreshed = 1L << 1
  279. };
  280. /* Values for flagsOut parameter in QTVRBackBufferImaging callback*/
  281. enum {
  282. kQTVRBackBufferFlagDidDraw = 1L << 0,
  283. kQTVRBackBufferFlagLastFlag = 1L << 31
  284. };
  285. /* QTVRCursorRecord used in QTVRReplaceCursor*/
  286. struct QTVRCursorRecord {
  287. UInt16 theType; /* field was previously named "type"*/
  288. SInt16 rsrcID;
  289. Handle handle;
  290. };
  291. typedef struct QTVRCursorRecord QTVRCursorRecord;
  292. struct QTVRFloatPoint {
  293. float x;
  294. float y;
  295. };
  296. typedef struct QTVRFloatPoint QTVRFloatPoint;
  297. /* Struct used for areasOfInterest parameter in QTVRSetBackBufferImagingProc*/
  298. struct QTVRAreaOfInterest {
  299. float panAngle;
  300. float tiltAngle;
  301. float width;
  302. float height;
  303. UInt32 flags;
  304. };
  305. typedef struct QTVRAreaOfInterest QTVRAreaOfInterest;
  306. /*
  307. =================================================================================================
  308. Callback routines
  309. -------------------------------------------------------------------------------------------------
  310. */
  311. typedef CALLBACK_API( OSErr , QTVRLeavingNodeProcPtr )(QTVRInstance qtvr, UInt32 fromNodeID, UInt32 toNodeID, Boolean *cancel, SInt32 refCon);
  312. typedef CALLBACK_API( OSErr , QTVREnteringNodeProcPtr )(QTVRInstance qtvr, UInt32 nodeID, SInt32 refCon);
  313. typedef CALLBACK_API( OSErr , QTVRMouseOverHotSpotProcPtr )(QTVRInstance qtvr, UInt32 hotSpotID, UInt32 flags, SInt32 refCon);
  314. typedef CALLBACK_API( OSErr , QTVRImagingCompleteProcPtr )(QTVRInstance qtvr, SInt32 refCon);
  315. typedef CALLBACK_API( OSErr , QTVRBackBufferImagingProcPtr )(QTVRInstance qtvr, Rect *drawRect, UInt16 areaIndex, UInt32 flagsIn, UInt32 *flagsOut, SInt32 refCon);
  316. typedef STACK_UPP_TYPE(QTVRLeavingNodeProcPtr) QTVRLeavingNodeUPP;
  317. typedef STACK_UPP_TYPE(QTVREnteringNodeProcPtr) QTVREnteringNodeUPP;
  318. typedef STACK_UPP_TYPE(QTVRMouseOverHotSpotProcPtr) QTVRMouseOverHotSpotUPP;
  319. typedef STACK_UPP_TYPE(QTVRImagingCompleteProcPtr) QTVRImagingCompleteUPP;
  320. typedef STACK_UPP_TYPE(QTVRBackBufferImagingProcPtr) QTVRBackBufferImagingUPP;
  321. /*
  322. * NewQTVRLeavingNodeUPP()
  323. *
  324. * Availability:
  325. * Non-Carbon CFM: available as macro/inline
  326. * CarbonLib: in CarbonLib 1.1 and later
  327. * Mac OS X: in version 10.0 and later
  328. */
  329. EXTERN_API_C( QTVRLeavingNodeUPP )
  330. NewQTVRLeavingNodeUPP(QTVRLeavingNodeProcPtr userRoutine);
  331. #if !OPAQUE_UPP_TYPES
  332. enum { uppQTVRLeavingNodeProcInfo = 0x0000FFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
  333. #ifdef __cplusplus
  334. inline DEFINE_API_C(QTVRLeavingNodeUPP) NewQTVRLeavingNodeUPP(QTVRLeavingNodeProcPtr userRoutine) { return (QTVRLeavingNodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRLeavingNodeProcInfo, GetCurrentArchitecture()); }
  335. #else
  336. #define NewQTVRLeavingNodeUPP(userRoutine) (QTVRLeavingNodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRLeavingNodeProcInfo, GetCurrentArchitecture())
  337. #endif
  338. #endif
  339. /*
  340. * NewQTVREnteringNodeUPP()
  341. *
  342. * Availability:
  343. * Non-Carbon CFM: available as macro/inline
  344. * CarbonLib: in CarbonLib 1.1 and later
  345. * Mac OS X: in version 10.0 and later
  346. */
  347. EXTERN_API_C( QTVREnteringNodeUPP )
  348. NewQTVREnteringNodeUPP(QTVREnteringNodeProcPtr userRoutine);
  349. #if !OPAQUE_UPP_TYPES
  350. enum { uppQTVREnteringNodeProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
  351. #ifdef __cplusplus
  352. inline DEFINE_API_C(QTVREnteringNodeUPP) NewQTVREnteringNodeUPP(QTVREnteringNodeProcPtr userRoutine) { return (QTVREnteringNodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVREnteringNodeProcInfo, GetCurrentArchitecture()); }
  353. #else
  354. #define NewQTVREnteringNodeUPP(userRoutine) (QTVREnteringNodeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVREnteringNodeProcInfo, GetCurrentArchitecture())
  355. #endif
  356. #endif
  357. /*
  358. * NewQTVRMouseOverHotSpotUPP()
  359. *
  360. * Availability:
  361. * Non-Carbon CFM: available as macro/inline
  362. * CarbonLib: in CarbonLib 1.1 and later
  363. * Mac OS X: in version 10.0 and later
  364. */
  365. EXTERN_API_C( QTVRMouseOverHotSpotUPP )
  366. NewQTVRMouseOverHotSpotUPP(QTVRMouseOverHotSpotProcPtr userRoutine);
  367. #if !OPAQUE_UPP_TYPES
  368. enum { uppQTVRMouseOverHotSpotProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
  369. #ifdef __cplusplus
  370. inline DEFINE_API_C(QTVRMouseOverHotSpotUPP) NewQTVRMouseOverHotSpotUPP(QTVRMouseOverHotSpotProcPtr userRoutine) { return (QTVRMouseOverHotSpotUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRMouseOverHotSpotProcInfo, GetCurrentArchitecture()); }
  371. #else
  372. #define NewQTVRMouseOverHotSpotUPP(userRoutine) (QTVRMouseOverHotSpotUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRMouseOverHotSpotProcInfo, GetCurrentArchitecture())
  373. #endif
  374. #endif
  375. /*
  376. * NewQTVRImagingCompleteUPP()
  377. *
  378. * Availability:
  379. * Non-Carbon CFM: available as macro/inline
  380. * CarbonLib: in CarbonLib 1.1 and later
  381. * Mac OS X: in version 10.0 and later
  382. */
  383. EXTERN_API_C( QTVRImagingCompleteUPP )
  384. NewQTVRImagingCompleteUPP(QTVRImagingCompleteProcPtr userRoutine);
  385. #if !OPAQUE_UPP_TYPES
  386. enum { uppQTVRImagingCompleteProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
  387. #ifdef __cplusplus
  388. inline DEFINE_API_C(QTVRImagingCompleteUPP) NewQTVRImagingCompleteUPP(QTVRImagingCompleteProcPtr userRoutine) { return (QTVRImagingCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRImagingCompleteProcInfo, GetCurrentArchitecture()); }
  389. #else
  390. #define NewQTVRImagingCompleteUPP(userRoutine) (QTVRImagingCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRImagingCompleteProcInfo, GetCurrentArchitecture())
  391. #endif
  392. #endif
  393. /*
  394. * NewQTVRBackBufferImagingUPP()
  395. *
  396. * Availability:
  397. * Non-Carbon CFM: available as macro/inline
  398. * CarbonLib: in CarbonLib 1.1 and later
  399. * Mac OS X: in version 10.0 and later
  400. */
  401. EXTERN_API_C( QTVRBackBufferImagingUPP )
  402. NewQTVRBackBufferImagingUPP(QTVRBackBufferImagingProcPtr userRoutine);
  403. #if !OPAQUE_UPP_TYPES
  404. enum { uppQTVRBackBufferImagingProcInfo = 0x0003FBE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
  405. #ifdef __cplusplus
  406. inline DEFINE_API_C(QTVRBackBufferImagingUPP) NewQTVRBackBufferImagingUPP(QTVRBackBufferImagingProcPtr userRoutine) { return (QTVRBackBufferImagingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRBackBufferImagingProcInfo, GetCurrentArchitecture()); }
  407. #else
  408. #define NewQTVRBackBufferImagingUPP(userRoutine) (QTVRBackBufferImagingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRBackBufferImagingProcInfo, GetCurrentArchitecture())
  409. #endif
  410. #endif
  411. /*
  412. * DisposeQTVRLeavingNodeUPP()
  413. *
  414. * Availability:
  415. * Non-Carbon CFM: available as macro/inline
  416. * CarbonLib: in CarbonLib 1.1 and later
  417. * Mac OS X: in version 10.0 and later
  418. */
  419. EXTERN_API_C( void )
  420. DisposeQTVRLeavingNodeUPP(QTVRLeavingNodeUPP userUPP);
  421. #if !OPAQUE_UPP_TYPES
  422. #ifdef __cplusplus
  423. inline DEFINE_API_C(void) DisposeQTVRLeavingNodeUPP(QTVRLeavingNodeUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
  424. #else
  425. #define DisposeQTVRLeavingNodeUPP(userUPP) DisposeRoutineDescriptor(userUPP)
  426. #endif
  427. #endif
  428. /*
  429. * DisposeQTVREnteringNodeUPP()
  430. *
  431. * Availability:
  432. * Non-Carbon CFM: available as macro/inline
  433. * CarbonLib: in CarbonLib 1.1 and later
  434. * Mac OS X: in version 10.0 and later
  435. */
  436. EXTERN_API_C( void )
  437. DisposeQTVREnteringNodeUPP(QTVREnteringNodeUPP userUPP);
  438. #if !OPAQUE_UPP_TYPES
  439. #ifdef __cplusplus
  440. inline DEFINE_API_C(void) DisposeQTVREnteringNodeUPP(QTVREnteringNodeUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
  441. #else
  442. #define DisposeQTVREnteringNodeUPP(userUPP) DisposeRoutineDescriptor(userUPP)
  443. #endif
  444. #endif
  445. /*
  446. * DisposeQTVRMouseOverHotSpotUPP()
  447. *
  448. * Availability:
  449. * Non-Carbon CFM: available as macro/inline
  450. * CarbonLib: in CarbonLib 1.1 and later
  451. * Mac OS X: in version 10.0 and later
  452. */
  453. EXTERN_API_C( void )
  454. DisposeQTVRMouseOverHotSpotUPP(QTVRMouseOverHotSpotUPP userUPP);
  455. #if !OPAQUE_UPP_TYPES
  456. #ifdef __cplusplus
  457. inline DEFINE_API_C(void) DisposeQTVRMouseOverHotSpotUPP(QTVRMouseOverHotSpotUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
  458. #else
  459. #define DisposeQTVRMouseOverHotSpotUPP(userUPP) DisposeRoutineDescriptor(userUPP)
  460. #endif
  461. #endif
  462. /*
  463. * DisposeQTVRImagingCompleteUPP()
  464. *
  465. * Availability:
  466. * Non-Carbon CFM: available as macro/inline
  467. * CarbonLib: in CarbonLib 1.1 and later
  468. * Mac OS X: in version 10.0 and later
  469. */
  470. EXTERN_API_C( void )
  471. DisposeQTVRImagingCompleteUPP(QTVRImagingCompleteUPP userUPP);
  472. #if !OPAQUE_UPP_TYPES
  473. #ifdef __cplusplus
  474. inline DEFINE_API_C(void) DisposeQTVRImagingCompleteUPP(QTVRImagingCompleteUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
  475. #else
  476. #define DisposeQTVRImagingCompleteUPP(userUPP) DisposeRoutineDescriptor(userUPP)
  477. #endif
  478. #endif
  479. /*
  480. * DisposeQTVRBackBufferImagingUPP()
  481. *
  482. * Availability:
  483. * Non-Carbon CFM: available as macro/inline
  484. * CarbonLib: in CarbonLib 1.1 and later
  485. * Mac OS X: in version 10.0 and later
  486. */
  487. EXTERN_API_C( void )
  488. DisposeQTVRBackBufferImagingUPP(QTVRBackBufferImagingUPP userUPP);
  489. #if !OPAQUE_UPP_TYPES
  490. #ifdef __cplusplus
  491. inline DEFINE_API_C(void) DisposeQTVRBackBufferImagingUPP(QTVRBackBufferImagingUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
  492. #else
  493. #define DisposeQTVRBackBufferImagingUPP(userUPP) DisposeRoutineDescriptor(userUPP)
  494. #endif
  495. #endif
  496. /*
  497. * InvokeQTVRLeavingNodeUPP()
  498. *
  499. * Availability:
  500. * Non-Carbon CFM: available as macro/inline
  501. * CarbonLib: in CarbonLib 1.1 and later
  502. * Mac OS X: in version 10.0 and later
  503. */
  504. EXTERN_API_C( OSErr )
  505. InvokeQTVRLeavingNodeUPP(
  506. QTVRInstance qtvr,
  507. UInt32 fromNodeID,
  508. UInt32 toNodeID,
  509. Boolean * cancel,
  510. SInt32 refCon,
  511. QTVRLeavingNodeUPP userUPP);
  512. #if !OPAQUE_UPP_TYPES
  513. #ifdef __cplusplus
  514. 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); }
  515. #else
  516. #define InvokeQTVRLeavingNodeUPP(qtvr, fromNodeID, toNodeID, cancel, refCon, userUPP) (OSErr)CALL_FIVE_PARAMETER_UPP((userUPP), uppQTVRLeavingNodeProcInfo, (qtvr), (fromNodeID), (toNodeID), (cancel), (refCon))
  517. #endif
  518. #endif
  519. /*
  520. * InvokeQTVREnteringNodeUPP()
  521. *
  522. * Availability:
  523. * Non-Carbon CFM: available as macro/inline
  524. * CarbonLib: in CarbonLib 1.1 and later
  525. * Mac OS X: in version 10.0 and later
  526. */
  527. EXTERN_API_C( OSErr )
  528. InvokeQTVREnteringNodeUPP(
  529. QTVRInstance qtvr,
  530. UInt32 nodeID,
  531. SInt32 refCon,
  532. QTVREnteringNodeUPP userUPP);
  533. #if !OPAQUE_UPP_TYPES
  534. #ifdef __cplusplus
  535. 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); }
  536. #else
  537. #define InvokeQTVREnteringNodeUPP(qtvr, nodeID, refCon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppQTVREnteringNodeProcInfo, (qtvr), (nodeID), (refCon))
  538. #endif
  539. #endif
  540. /*
  541. * InvokeQTVRMouseOverHotSpotUPP()
  542. *
  543. * Availability:
  544. * Non-Carbon CFM: available as macro/inline
  545. * CarbonLib: in CarbonLib 1.1 and later
  546. * Mac OS X: in version 10.0 and later
  547. */
  548. EXTERN_API_C( OSErr )
  549. InvokeQTVRMouseOverHotSpotUPP(
  550. QTVRInstance qtvr,
  551. UInt32 hotSpotID,
  552. UInt32 flags,
  553. SInt32 refCon,
  554. QTVRMouseOverHotSpotUPP userUPP);
  555. #if !OPAQUE_UPP_TYPES
  556. #ifdef __cplusplus
  557. 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); }
  558. #else
  559. #define InvokeQTVRMouseOverHotSpotUPP(qtvr, hotSpotID, flags, refCon, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppQTVRMouseOverHotSpotProcInfo, (qtvr), (hotSpotID), (flags), (refCon))
  560. #endif
  561. #endif
  562. /*
  563. * InvokeQTVRImagingCompleteUPP()
  564. *
  565. * Availability:
  566. * Non-Carbon CFM: available as macro/inline
  567. * CarbonLib: in CarbonLib 1.1 and later
  568. * Mac OS X: in version 10.0 and later
  569. */
  570. EXTERN_API_C( OSErr )
  571. InvokeQTVRImagingCompleteUPP(
  572. QTVRInstance qtvr,
  573. SInt32 refCon,
  574. QTVRImagingCompleteUPP userUPP);
  575. #if !OPAQUE_UPP_TYPES
  576. #ifdef __cplusplus
  577. inline DEFINE_API_C(OSErr) InvokeQTVRImagingCompleteUPP(QTVRInstance qtvr, SInt32 refCon, QTVRImagingCompleteUPP userUPP) { return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppQTVRImagingCompleteProcInfo, qtvr, refCon); }
  578. #else
  579. #define InvokeQTVRImagingCompleteUPP(qtvr, refCon, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppQTVRImagingCompleteProcInfo, (qtvr), (refCon))
  580. #endif
  581. #endif
  582. /*
  583. * InvokeQTVRBackBufferImagingUPP()
  584. *
  585. * Availability:
  586. * Non-Carbon CFM: available as macro/inline
  587. * CarbonLib: in CarbonLib 1.1 and later
  588. * Mac OS X: in version 10.0 and later
  589. */
  590. EXTERN_API_C( OSErr )
  591. InvokeQTVRBackBufferImagingUPP(
  592. QTVRInstance qtvr,
  593. Rect * drawRect,
  594. UInt16 areaIndex,
  595. UInt32 flagsIn,
  596. UInt32 * flagsOut,
  597. SInt32 refCon,
  598. QTVRBackBufferImagingUPP userUPP);
  599. #if !OPAQUE_UPP_TYPES
  600. #ifdef __cplusplus
  601. 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); }
  602. #else
  603. #define InvokeQTVRBackBufferImagingUPP(qtvr, drawRect, areaIndex, flagsIn, flagsOut, refCon, userUPP) (OSErr)CALL_SIX_PARAMETER_UPP((userUPP), uppQTVRBackBufferImagingProcInfo, (qtvr), (drawRect), (areaIndex), (flagsIn), (flagsOut), (refCon))
  604. #endif
  605. #endif
  606. #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
  607. /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
  608. #define NewQTVRLeavingNodeProc(userRoutine) NewQTVRLeavingNodeUPP(userRoutine)
  609. #define NewQTVREnteringNodeProc(userRoutine) NewQTVREnteringNodeUPP(userRoutine)
  610. #define NewQTVRMouseOverHotSpotProc(userRoutine) NewQTVRMouseOverHotSpotUPP(userRoutine)
  611. #define NewQTVRImagingCompleteProc(userRoutine) NewQTVRImagingCompleteUPP(userRoutine)
  612. #define NewQTVRBackBufferImagingProc(userRoutine) NewQTVRBackBufferImagingUPP(userRoutine)
  613. #define CallQTVRLeavingNodeProc(userRoutine, qtvr, fromNodeID, toNodeID, cancel, refCon) InvokeQTVRLeavingNodeUPP(qtvr, fromNodeID, toNodeID, cancel, refCon, userRoutine)
  614. #define CallQTVREnteringNodeProc(userRoutine, qtvr, nodeID, refCon) InvokeQTVREnteringNodeUPP(qtvr, nodeID, refCon, userRoutine)
  615. #define CallQTVRMouseOverHotSpotProc(userRoutine, qtvr, hotSpotID, flags, refCon) InvokeQTVRMouseOverHotSpotUPP(qtvr, hotSpotID, flags, refCon, userRoutine)
  616. #define CallQTVRImagingCompleteProc(userRoutine, qtvr, refCon) InvokeQTVRImagingCompleteUPP(qtvr, refCon, userRoutine)
  617. #define CallQTVRBackBufferImagingProc(userRoutine, qtvr, drawRect, areaIndex, flagsIn, flagsOut, refCon) InvokeQTVRBackBufferImagingUPP(qtvr, drawRect, areaIndex, flagsIn, flagsOut, refCon, userRoutine)
  618. #endif /* CALL_NOT_IN_CARBON */
  619. /*
  620. =================================================================================================
  621. QTVR Intercept Struct, Callback, Routine Descriptors
  622. -------------------------------------------------------------------------------------------------
  623. */
  624. typedef UInt32 QTVRProcSelector;
  625. enum {
  626. kQTVRSetPanAngleSelector = 0x2000,
  627. kQTVRSetTiltAngleSelector = 0x2001,
  628. kQTVRSetFieldOfViewSelector = 0x2002,
  629. kQTVRSetViewCenterSelector = 0x2003,
  630. kQTVRMouseEnterSelector = 0x2004,
  631. kQTVRMouseWithinSelector = 0x2005,
  632. kQTVRMouseLeaveSelector = 0x2006,
  633. kQTVRMouseDownSelector = 0x2007,
  634. kQTVRMouseStillDownSelector = 0x2008,
  635. kQTVRMouseUpSelector = 0x2009,
  636. kQTVRTriggerHotSpotSelector = 0x200A,
  637. kQTVRGetHotSpotTypeSelector = 0x200B, /* Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
  638. kQTVRSetViewParameterSelector = 0x200C, /* Requires QTVR 5.0 (kQTVRAPIMajorVersion05 + kQTVRAPIMinorVersion00)*/
  639. kQTVRGetViewParameterSelector = 0x200D /* Requires QTVR 5.0 (kQTVRAPIMajorVersion05 + kQTVRAPIMinorVersion00)*/
  640. };
  641. struct QTVRInterceptRecord {
  642. SInt32 reserved1;
  643. SInt32 selector;
  644. SInt32 reserved2;
  645. SInt32 reserved3;
  646. SInt32 paramCount;
  647. void * parameter[6];
  648. };
  649. typedef struct QTVRInterceptRecord QTVRInterceptRecord;
  650. typedef QTVRInterceptRecord * QTVRInterceptPtr;
  651. /* Prototype for Intercept Proc callback*/
  652. typedef CALLBACK_API( void , QTVRInterceptProcPtr )(QTVRInstance qtvr, QTVRInterceptPtr qtvrMsg, SInt32 refCon, Boolean *cancel);
  653. typedef STACK_UPP_TYPE(QTVRInterceptProcPtr) QTVRInterceptUPP;
  654. /*
  655. * NewQTVRInterceptUPP()
  656. *
  657. * Availability:
  658. * Non-Carbon CFM: available as macro/inline
  659. * CarbonLib: in CarbonLib 1.1 and later
  660. * Mac OS X: in version 10.0 and later
  661. */
  662. EXTERN_API_C( QTVRInterceptUPP )
  663. NewQTVRInterceptUPP(QTVRInterceptProcPtr userRoutine);
  664. #if !OPAQUE_UPP_TYPES
  665. enum { uppQTVRInterceptProcInfo = 0x00003FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
  666. #ifdef __cplusplus
  667. inline DEFINE_API_C(QTVRInterceptUPP) NewQTVRInterceptUPP(QTVRInterceptProcPtr userRoutine) { return (QTVRInterceptUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRInterceptProcInfo, GetCurrentArchitecture()); }
  668. #else
  669. #define NewQTVRInterceptUPP(userRoutine) (QTVRInterceptUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTVRInterceptProcInfo, GetCurrentArchitecture())
  670. #endif
  671. #endif
  672. /*
  673. * DisposeQTVRInterceptUPP()
  674. *
  675. * Availability:
  676. * Non-Carbon CFM: available as macro/inline
  677. * CarbonLib: in CarbonLib 1.1 and later
  678. * Mac OS X: in version 10.0 and later
  679. */
  680. EXTERN_API_C( void )
  681. DisposeQTVRInterceptUPP(QTVRInterceptUPP userUPP);
  682. #if !OPAQUE_UPP_TYPES
  683. #ifdef __cplusplus
  684. inline DEFINE_API_C(void) DisposeQTVRInterceptUPP(QTVRInterceptUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
  685. #else
  686. #define DisposeQTVRInterceptUPP(userUPP) DisposeRoutineDescriptor(userUPP)
  687. #endif
  688. #endif
  689. /*
  690. * InvokeQTVRInterceptUPP()
  691. *
  692. * Availability:
  693. * Non-Carbon CFM: available as macro/inline
  694. * CarbonLib: in CarbonLib 1.1 and later
  695. * Mac OS X: in version 10.0 and later
  696. */
  697. EXTERN_API_C( void )
  698. InvokeQTVRInterceptUPP(
  699. QTVRInstance qtvr,
  700. QTVRInterceptPtr qtvrMsg,
  701. SInt32 refCon,
  702. Boolean * cancel,
  703. QTVRInterceptUPP userUPP);
  704. #if !OPAQUE_UPP_TYPES
  705. #ifdef __cplusplus
  706. 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); }
  707. #else
  708. #define InvokeQTVRInterceptUPP(qtvr, qtvrMsg, refCon, cancel, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQTVRInterceptProcInfo, (qtvr), (qtvrMsg), (refCon), (cancel))
  709. #endif
  710. #endif
  711. #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
  712. /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
  713. #define NewQTVRInterceptProc(userRoutine) NewQTVRInterceptUPP(userRoutine)
  714. #define CallQTVRInterceptProc(userRoutine, qtvr, qtvrMsg, refCon, cancel) InvokeQTVRInterceptUPP(qtvr, qtvrMsg, refCon, cancel, userRoutine)
  715. #endif /* CALL_NOT_IN_CARBON */
  716. /*
  717. =================================================================================================
  718. Initialization QTVR calls
  719. -------------------------------------------------------------------------------------------------
  720. Requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10) and only work on Non-Macintosh platforms
  721. */
  722. #if !TARGET_OS_MAC
  723. #if CALL_NOT_IN_CARBON
  724. /*
  725. * InitializeQTVR()
  726. *
  727. * Availability:
  728. * Non-Carbon CFM: not available
  729. * CarbonLib: not available
  730. * Mac OS X: not available
  731. * Windows: in QTVR.lib 2.1 and later
  732. */
  733. EXTERN_API_C( OSErr )
  734. InitializeQTVR(void);
  735. /*
  736. * TerminateQTVR()
  737. *
  738. * Availability:
  739. * Non-Carbon CFM: not available
  740. * CarbonLib: not available
  741. * Mac OS X: not available
  742. * Windows: in QTVR.lib 2.1 and later
  743. */
  744. EXTERN_API_C( OSErr )
  745. TerminateQTVR(void);
  746. #endif /* CALL_NOT_IN_CARBON */
  747. #endif /* !TARGET_OS_MAC */
  748. /*
  749. =================================================================================================
  750. General QTVR calls
  751. -------------------------------------------------------------------------------------------------
  752. */
  753. /*
  754. * QTVRGetQTVRTrack()
  755. *
  756. * Availability:
  757. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  758. * CarbonLib: in CarbonLib 1.1 and later
  759. * Mac OS X: in version 10.0 and later
  760. * Windows: in QTVR.lib 2.1 and later
  761. */
  762. EXTERN_API_C( Track )
  763. QTVRGetQTVRTrack(
  764. Movie theMovie,
  765. SInt32 index);
  766. /*
  767. * QTVRGetQTVRInstance()
  768. *
  769. * Availability:
  770. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  771. * CarbonLib: in CarbonLib 1.1 and later
  772. * Mac OS X: in version 10.0 and later
  773. * Windows: in QTVR.lib 2.1 and later
  774. */
  775. EXTERN_API_C( OSErr )
  776. QTVRGetQTVRInstance(
  777. QTVRInstance * qtvr,
  778. Track qtvrTrack,
  779. MovieController mc);
  780. /*
  781. =================================================================================================
  782. Viewing Angles and Zooming
  783. -------------------------------------------------------------------------------------------------
  784. */
  785. /* QTVRSetViewParameter requires QTVR 5.0 (kQTVRAPIMajorVersion05 + kQTVRAPIMinorVersion00)*/
  786. /*
  787. * QTVRSetViewParameter()
  788. *
  789. * Availability:
  790. * Non-Carbon CFM: in QuickTimeVRLib 5.0 and later
  791. * CarbonLib: in CarbonLib 1.3 and later
  792. * Mac OS X: in version 10.0 and later
  793. * Windows: in QTVR.lib 5.0 and later
  794. */
  795. EXTERN_API_C( OSErr )
  796. QTVRSetViewParameter(
  797. QTVRInstance qtvr,
  798. UInt32 viewParameter,
  799. void * value,
  800. UInt32 flagsIn);
  801. /* QTVRGetViewParameter requires QTVR 5.0 (kQTVRAPIMajorVersion05 + kQTVRAPIMinorVersion00)*/
  802. /*
  803. * QTVRGetViewParameter()
  804. *
  805. * Availability:
  806. * Non-Carbon CFM: in QuickTimeVRLib 5.0 and later
  807. * CarbonLib: in CarbonLib 1.3 and later
  808. * Mac OS X: in version 10.0 and later
  809. * Windows: in QTVR.lib 5.0 and later
  810. */
  811. EXTERN_API_C( OSErr )
  812. QTVRGetViewParameter(
  813. QTVRInstance qtvr,
  814. UInt32 viewParameter,
  815. void * value,
  816. UInt32 flagsIn,
  817. UInt32 * flagsOut);
  818. /*
  819. * QTVRSetPanAngle()
  820. *
  821. * Availability:
  822. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  823. * CarbonLib: in CarbonLib 1.1 and later
  824. * Mac OS X: in version 10.0 and later
  825. * Windows: in QTVR.lib 2.1 and later
  826. */
  827. EXTERN_API_C( OSErr )
  828. QTVRSetPanAngle(
  829. QTVRInstance qtvr,
  830. float panAngle);
  831. /*
  832. * QTVRGetPanAngle()
  833. *
  834. * Availability:
  835. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  836. * CarbonLib: in CarbonLib 1.1 and later
  837. * Mac OS X: in version 10.0 and later
  838. * Windows: in QTVR.lib 2.1 and later
  839. */
  840. EXTERN_API_C( float )
  841. QTVRGetPanAngle(QTVRInstance qtvr);
  842. /*
  843. * QTVRSetTiltAngle()
  844. *
  845. * Availability:
  846. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  847. * CarbonLib: in CarbonLib 1.1 and later
  848. * Mac OS X: in version 10.0 and later
  849. * Windows: in QTVR.lib 2.1 and later
  850. */
  851. EXTERN_API_C( OSErr )
  852. QTVRSetTiltAngle(
  853. QTVRInstance qtvr,
  854. float tiltAngle);
  855. /*
  856. * QTVRGetTiltAngle()
  857. *
  858. * Availability:
  859. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  860. * CarbonLib: in CarbonLib 1.1 and later
  861. * Mac OS X: in version 10.0 and later
  862. * Windows: in QTVR.lib 2.1 and later
  863. */
  864. EXTERN_API_C( float )
  865. QTVRGetTiltAngle(QTVRInstance qtvr);
  866. /*
  867. * QTVRSetFieldOfView()
  868. *
  869. * Availability:
  870. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  871. * CarbonLib: in CarbonLib 1.1 and later
  872. * Mac OS X: in version 10.0 and later
  873. * Windows: in QTVR.lib 2.1 and later
  874. */
  875. EXTERN_API_C( OSErr )
  876. QTVRSetFieldOfView(
  877. QTVRInstance qtvr,
  878. float fieldOfView);
  879. /*
  880. * QTVRGetFieldOfView()
  881. *
  882. * Availability:
  883. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  884. * CarbonLib: in CarbonLib 1.1 and later
  885. * Mac OS X: in version 10.0 and later
  886. * Windows: in QTVR.lib 2.1 and later
  887. */
  888. EXTERN_API_C( float )
  889. QTVRGetFieldOfView(QTVRInstance qtvr);
  890. /*
  891. * QTVRShowDefaultView()
  892. *
  893. * Availability:
  894. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  895. * CarbonLib: in CarbonLib 1.1 and later
  896. * Mac OS X: in version 10.0 and later
  897. * Windows: in QTVR.lib 2.1 and later
  898. */
  899. EXTERN_API_C( OSErr )
  900. QTVRShowDefaultView(QTVRInstance qtvr);
  901. /* Object Specific*/
  902. /*
  903. * QTVRSetViewCenter()
  904. *
  905. * Availability:
  906. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  907. * CarbonLib: in CarbonLib 1.1 and later
  908. * Mac OS X: in version 10.0 and later
  909. * Windows: in QTVR.lib 2.1 and later
  910. */
  911. EXTERN_API_C( OSErr )
  912. QTVRSetViewCenter(
  913. QTVRInstance qtvr,
  914. const QTVRFloatPoint * viewCenter);
  915. /*
  916. * QTVRGetViewCenter()
  917. *
  918. * Availability:
  919. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  920. * CarbonLib: in CarbonLib 1.1 and later
  921. * Mac OS X: in version 10.0 and later
  922. * Windows: in QTVR.lib 2.1 and later
  923. */
  924. EXTERN_API_C( OSErr )
  925. QTVRGetViewCenter(
  926. QTVRInstance qtvr,
  927. QTVRFloatPoint * viewCenter);
  928. /*
  929. * QTVRNudge()
  930. *
  931. * Availability:
  932. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  933. * CarbonLib: in CarbonLib 1.1 and later
  934. * Mac OS X: in version 10.0 and later
  935. * Windows: in QTVR.lib 2.1 and later
  936. */
  937. EXTERN_API_C( OSErr )
  938. QTVRNudge(
  939. QTVRInstance qtvr,
  940. QTVRNudgeControl direction);
  941. /* QTVRInteractionNudge requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
  942. /*
  943. * QTVRInteractionNudge()
  944. *
  945. * Availability:
  946. * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later
  947. * CarbonLib: in CarbonLib 1.1 and later
  948. * Mac OS X: in version 10.0 and later
  949. * Windows: in QTVR.lib 2.1 and later
  950. */
  951. EXTERN_API_C( OSErr )
  952. QTVRInteractionNudge(
  953. QTVRInstance qtvr,
  954. QTVRNudgeControl direction);
  955. /*
  956. =================================================================================================
  957. Scene and Node Location Information
  958. -------------------------------------------------------------------------------------------------
  959. */
  960. /*
  961. * QTVRGetVRWorld()
  962. *
  963. * Availability:
  964. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  965. * CarbonLib: in CarbonLib 1.1 and later
  966. * Mac OS X: in version 10.0 and later
  967. * Windows: in QTVR.lib 2.1 and later
  968. */
  969. EXTERN_API_C( OSErr )
  970. QTVRGetVRWorld(
  971. QTVRInstance qtvr,
  972. QTAtomContainer * VRWorld);
  973. /*
  974. * QTVRGetNodeInfo()
  975. *
  976. * Availability:
  977. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  978. * CarbonLib: in CarbonLib 1.1 and later
  979. * Mac OS X: in version 10.0 and later
  980. * Windows: in QTVR.lib 2.1 and later
  981. */
  982. EXTERN_API_C( OSErr )
  983. QTVRGetNodeInfo(
  984. QTVRInstance qtvr,
  985. UInt32 nodeID,
  986. QTAtomContainer * nodeInfo);
  987. /*
  988. * QTVRGoToNodeID()
  989. *
  990. * Availability:
  991. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  992. * CarbonLib: in CarbonLib 1.1 and later
  993. * Mac OS X: in version 10.0 and later
  994. * Windows: in QTVR.lib 2.1 and later
  995. */
  996. EXTERN_API_C( OSErr )
  997. QTVRGoToNodeID(
  998. QTVRInstance qtvr,
  999. UInt32 nodeID);
  1000. /*
  1001. * QTVRGetCurrentNodeID()
  1002. *
  1003. * Availability:
  1004. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1005. * CarbonLib: in CarbonLib 1.1 and later
  1006. * Mac OS X: in version 10.0 and later
  1007. * Windows: in QTVR.lib 2.1 and later
  1008. */
  1009. EXTERN_API_C( UInt32 )
  1010. QTVRGetCurrentNodeID(QTVRInstance qtvr);
  1011. /*
  1012. * QTVRGetNodeType()
  1013. *
  1014. * Availability:
  1015. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1016. * CarbonLib: in CarbonLib 1.1 and later
  1017. * Mac OS X: in version 10.0 and later
  1018. * Windows: in QTVR.lib 2.1 and later
  1019. */
  1020. EXTERN_API_C( OSType )
  1021. QTVRGetNodeType(
  1022. QTVRInstance qtvr,
  1023. UInt32 nodeID);
  1024. /*
  1025. =================================================================================================
  1026. Hot Spot related calls
  1027. -------------------------------------------------------------------------------------------------
  1028. */
  1029. /*
  1030. * QTVRPtToHotSpotID()
  1031. *
  1032. * Availability:
  1033. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1034. * CarbonLib: in CarbonLib 1.1 and later
  1035. * Mac OS X: in version 10.0 and later
  1036. * Windows: in QTVR.lib 2.1 and later
  1037. */
  1038. EXTERN_API_C( OSErr )
  1039. QTVRPtToHotSpotID(
  1040. QTVRInstance qtvr,
  1041. Point pt,
  1042. UInt32 * hotSpotID);
  1043. /* QTVRGetHotSpotType requires QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
  1044. /*
  1045. * QTVRGetHotSpotType()
  1046. *
  1047. * Availability:
  1048. * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later
  1049. * CarbonLib: in CarbonLib 1.1 and later
  1050. * Mac OS X: in version 10.0 and later
  1051. * Windows: in QTVR.lib 2.1 and later
  1052. */
  1053. EXTERN_API_C( OSErr )
  1054. QTVRGetHotSpotType(
  1055. QTVRInstance qtvr,
  1056. UInt32 hotSpotID,
  1057. OSType * hotSpotType);
  1058. /*
  1059. * QTVRTriggerHotSpot()
  1060. *
  1061. * Availability:
  1062. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1063. * CarbonLib: in CarbonLib 1.1 and later
  1064. * Mac OS X: in version 10.0 and later
  1065. * Windows: in QTVR.lib 2.1 and later
  1066. */
  1067. EXTERN_API_C( OSErr )
  1068. QTVRTriggerHotSpot(
  1069. QTVRInstance qtvr,
  1070. UInt32 hotSpotID,
  1071. QTAtomContainer nodeInfo,
  1072. QTAtom selectedAtom);
  1073. /*
  1074. * QTVRSetMouseOverHotSpotProc()
  1075. *
  1076. * Availability:
  1077. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1078. * CarbonLib: in CarbonLib 1.1 and later
  1079. * Mac OS X: in version 10.0 and later
  1080. * Windows: in QTVR.lib 2.1 and later
  1081. */
  1082. EXTERN_API_C( OSErr )
  1083. QTVRSetMouseOverHotSpotProc(
  1084. QTVRInstance qtvr,
  1085. QTVRMouseOverHotSpotUPP mouseOverHotSpotProc,
  1086. SInt32 refCon,
  1087. UInt32 flags);
  1088. /*
  1089. * QTVREnableHotSpot()
  1090. *
  1091. * Availability:
  1092. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1093. * CarbonLib: in CarbonLib 1.1 and later
  1094. * Mac OS X: in version 10.0 and later
  1095. * Windows: in QTVR.lib 2.1 and later
  1096. */
  1097. EXTERN_API_C( OSErr )
  1098. QTVREnableHotSpot(
  1099. QTVRInstance qtvr,
  1100. UInt32 enableFlag,
  1101. UInt32 hotSpotValue,
  1102. Boolean enable);
  1103. /*
  1104. * QTVRGetVisibleHotSpots()
  1105. *
  1106. * Availability:
  1107. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1108. * CarbonLib: in CarbonLib 1.1 and later
  1109. * Mac OS X: in version 10.0 and later
  1110. * Windows: in QTVR.lib 2.1 and later
  1111. */
  1112. EXTERN_API_C( UInt32 )
  1113. QTVRGetVisibleHotSpots(
  1114. QTVRInstance qtvr,
  1115. Handle hotSpots);
  1116. /*
  1117. * QTVRGetHotSpotRegion()
  1118. *
  1119. * Availability:
  1120. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1121. * CarbonLib: in CarbonLib 1.1 and later
  1122. * Mac OS X: in version 10.0 and later
  1123. * Windows: in QTVR.lib 2.1 and later
  1124. */
  1125. EXTERN_API_C( OSErr )
  1126. QTVRGetHotSpotRegion(
  1127. QTVRInstance qtvr,
  1128. UInt32 hotSpotID,
  1129. RgnHandle hotSpotRegion);
  1130. /*
  1131. =================================================================================================
  1132. Event & Cursor Handling Calls
  1133. -------------------------------------------------------------------------------------------------
  1134. */
  1135. /*
  1136. * QTVRSetMouseOverTracking()
  1137. *
  1138. * Availability:
  1139. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1140. * CarbonLib: in CarbonLib 1.1 and later
  1141. * Mac OS X: in version 10.0 and later
  1142. * Windows: in QTVR.lib 2.1 and later
  1143. */
  1144. EXTERN_API_C( OSErr )
  1145. QTVRSetMouseOverTracking(
  1146. QTVRInstance qtvr,
  1147. Boolean enable);
  1148. /*
  1149. * QTVRGetMouseOverTracking()
  1150. *
  1151. * Availability:
  1152. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1153. * CarbonLib: in CarbonLib 1.1 and later
  1154. * Mac OS X: in version 10.0 and later
  1155. * Windows: in QTVR.lib 2.1 and later
  1156. */
  1157. EXTERN_API_C( Boolean )
  1158. QTVRGetMouseOverTracking(QTVRInstance qtvr);
  1159. /*
  1160. * QTVRSetMouseDownTracking()
  1161. *
  1162. * Availability:
  1163. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1164. * CarbonLib: in CarbonLib 1.1 and later
  1165. * Mac OS X: in version 10.0 and later
  1166. * Windows: in QTVR.lib 2.1 and later
  1167. */
  1168. EXTERN_API_C( OSErr )
  1169. QTVRSetMouseDownTracking(
  1170. QTVRInstance qtvr,
  1171. Boolean enable);
  1172. /*
  1173. * QTVRGetMouseDownTracking()
  1174. *
  1175. * Availability:
  1176. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1177. * CarbonLib: in CarbonLib 1.1 and later
  1178. * Mac OS X: in version 10.0 and later
  1179. * Windows: in QTVR.lib 2.1 and later
  1180. */
  1181. EXTERN_API_C( Boolean )
  1182. QTVRGetMouseDownTracking(QTVRInstance qtvr);
  1183. /*
  1184. * QTVRMouseEnter()
  1185. *
  1186. * Availability:
  1187. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1188. * CarbonLib: in CarbonLib 1.1 and later
  1189. * Mac OS X: in version 10.0 and later
  1190. * Windows: in QTVR.lib 2.1 and later
  1191. */
  1192. EXTERN_API_C( OSErr )
  1193. QTVRMouseEnter(
  1194. QTVRInstance qtvr,
  1195. Point pt,
  1196. UInt32 * hotSpotID,
  1197. WindowRef w);
  1198. /*
  1199. * QTVRMouseWithin()
  1200. *
  1201. * Availability:
  1202. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1203. * CarbonLib: in CarbonLib 1.1 and later
  1204. * Mac OS X: in version 10.0 and later
  1205. * Windows: in QTVR.lib 2.1 and later
  1206. */
  1207. EXTERN_API_C( OSErr )
  1208. QTVRMouseWithin(
  1209. QTVRInstance qtvr,
  1210. Point pt,
  1211. UInt32 * hotSpotID,
  1212. WindowRef w);
  1213. /*
  1214. * QTVRMouseLeave()
  1215. *
  1216. * Availability:
  1217. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1218. * CarbonLib: in CarbonLib 1.1 and later
  1219. * Mac OS X: in version 10.0 and later
  1220. * Windows: in QTVR.lib 2.1 and later
  1221. */
  1222. EXTERN_API_C( OSErr )
  1223. QTVRMouseLeave(
  1224. QTVRInstance qtvr,
  1225. Point pt,
  1226. WindowRef w);
  1227. /*
  1228. * QTVRMouseDown()
  1229. *
  1230. * Availability:
  1231. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1232. * CarbonLib: in CarbonLib 1.1 and later
  1233. * Mac OS X: in version 10.0 and later
  1234. * Windows: in QTVR.lib 2.1 and later
  1235. */
  1236. EXTERN_API_C( OSErr )
  1237. QTVRMouseDown(
  1238. QTVRInstance qtvr,
  1239. Point pt,
  1240. UInt32 when,
  1241. UInt16 modifiers,
  1242. UInt32 * hotSpotID,
  1243. WindowRef w);
  1244. /*
  1245. * QTVRMouseStillDown()
  1246. *
  1247. * Availability:
  1248. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1249. * CarbonLib: in CarbonLib 1.1 and later
  1250. * Mac OS X: in version 10.0 and later
  1251. * Windows: in QTVR.lib 2.1 and later
  1252. */
  1253. EXTERN_API_C( OSErr )
  1254. QTVRMouseStillDown(
  1255. QTVRInstance qtvr,
  1256. Point pt,
  1257. UInt32 * hotSpotID,
  1258. WindowRef w);
  1259. /*
  1260. * QTVRMouseUp()
  1261. *
  1262. * Availability:
  1263. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1264. * CarbonLib: in CarbonLib 1.1 and later
  1265. * Mac OS X: in version 10.0 and later
  1266. * Windows: in QTVR.lib 2.1 and later
  1267. */
  1268. EXTERN_API_C( OSErr )
  1269. QTVRMouseUp(
  1270. QTVRInstance qtvr,
  1271. Point pt,
  1272. UInt32 * hotSpotID,
  1273. WindowRef w);
  1274. /* These require QTVR 2.01 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion01)*/
  1275. /*
  1276. * QTVRMouseStillDownExtended()
  1277. *
  1278. * Availability:
  1279. * Non-Carbon CFM: in QuickTimeVRLib 2.0.1 and later
  1280. * CarbonLib: in CarbonLib 1.1 and later
  1281. * Mac OS X: in version 10.0 and later
  1282. * Windows: in QTVR.lib 2.1 and later
  1283. */
  1284. EXTERN_API_C( OSErr )
  1285. QTVRMouseStillDownExtended(
  1286. QTVRInstance qtvr,
  1287. Point pt,
  1288. UInt32 * hotSpotID,
  1289. WindowRef w,
  1290. UInt32 when,
  1291. UInt16 modifiers);
  1292. /*
  1293. * QTVRMouseUpExtended()
  1294. *
  1295. * Availability:
  1296. * Non-Carbon CFM: in QuickTimeVRLib 2.0.1 and later
  1297. * CarbonLib: in CarbonLib 1.1 and later
  1298. * Mac OS X: in version 10.0 and later
  1299. * Windows: in QTVR.lib 2.1 and later
  1300. */
  1301. EXTERN_API_C( OSErr )
  1302. QTVRMouseUpExtended(
  1303. QTVRInstance qtvr,
  1304. Point pt,
  1305. UInt32 * hotSpotID,
  1306. WindowRef w,
  1307. UInt32 when,
  1308. UInt16 modifiers);
  1309. /*
  1310. =================================================================================================
  1311. Intercept Routines
  1312. -------------------------------------------------------------------------------------------------
  1313. */
  1314. /*
  1315. * QTVRInstallInterceptProc()
  1316. *
  1317. * Availability:
  1318. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1319. * CarbonLib: in CarbonLib 1.1 and later
  1320. * Mac OS X: in version 10.0 and later
  1321. * Windows: in QTVR.lib 2.1 and later
  1322. */
  1323. EXTERN_API_C( OSErr )
  1324. QTVRInstallInterceptProc(
  1325. QTVRInstance qtvr,
  1326. QTVRProcSelector selector,
  1327. QTVRInterceptUPP interceptProc,
  1328. SInt32 refCon,
  1329. UInt32 flags);
  1330. /*
  1331. * QTVRCallInterceptedProc()
  1332. *
  1333. * Availability:
  1334. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1335. * CarbonLib: in CarbonLib 1.1 and later
  1336. * Mac OS X: in version 10.0 and later
  1337. * Windows: in QTVR.lib 2.1 and later
  1338. */
  1339. EXTERN_API_C( OSErr )
  1340. QTVRCallInterceptedProc(
  1341. QTVRInstance qtvr,
  1342. QTVRInterceptRecord * qtvrMsg);
  1343. /*
  1344. =================================================================================================
  1345. Object Movie Specific Calls
  1346. -------------------------------------------------------------------------------------------------
  1347. QTVRGetCurrentMouseMode requires QTRVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)
  1348. */
  1349. /*
  1350. * QTVRGetCurrentMouseMode()
  1351. *
  1352. * Availability:
  1353. * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later
  1354. * CarbonLib: in CarbonLib 1.1 and later
  1355. * Mac OS X: in version 10.0 and later
  1356. * Windows: in QTVR.lib 2.1 and later
  1357. */
  1358. EXTERN_API_C( UInt32 )
  1359. QTVRGetCurrentMouseMode(QTVRInstance qtvr);
  1360. /*
  1361. * QTVRSetFrameRate()
  1362. *
  1363. * Availability:
  1364. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1365. * CarbonLib: in CarbonLib 1.1 and later
  1366. * Mac OS X: in version 10.0 and later
  1367. * Windows: in QTVR.lib 2.1 and later
  1368. */
  1369. EXTERN_API_C( OSErr )
  1370. QTVRSetFrameRate(
  1371. QTVRInstance qtvr,
  1372. float rate);
  1373. /*
  1374. * QTVRGetFrameRate()
  1375. *
  1376. * Availability:
  1377. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1378. * CarbonLib: in CarbonLib 1.1 and later
  1379. * Mac OS X: in version 10.0 and later
  1380. * Windows: in QTVR.lib 2.1 and later
  1381. */
  1382. EXTERN_API_C( float )
  1383. QTVRGetFrameRate(QTVRInstance qtvr);
  1384. /*
  1385. * QTVRSetViewRate()
  1386. *
  1387. * Availability:
  1388. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1389. * CarbonLib: in CarbonLib 1.1 and later
  1390. * Mac OS X: in version 10.0 and later
  1391. * Windows: in QTVR.lib 2.1 and later
  1392. */
  1393. EXTERN_API_C( OSErr )
  1394. QTVRSetViewRate(
  1395. QTVRInstance qtvr,
  1396. float rate);
  1397. /*
  1398. * QTVRGetViewRate()
  1399. *
  1400. * Availability:
  1401. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1402. * CarbonLib: in CarbonLib 1.1 and later
  1403. * Mac OS X: in version 10.0 and later
  1404. * Windows: in QTVR.lib 2.1 and later
  1405. */
  1406. EXTERN_API_C( float )
  1407. QTVRGetViewRate(QTVRInstance qtvr);
  1408. /*
  1409. * QTVRSetViewCurrentTime()
  1410. *
  1411. * Availability:
  1412. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1413. * CarbonLib: in CarbonLib 1.1 and later
  1414. * Mac OS X: in version 10.0 and later
  1415. * Windows: in QTVR.lib 2.1 and later
  1416. */
  1417. EXTERN_API_C( OSErr )
  1418. QTVRSetViewCurrentTime(
  1419. QTVRInstance qtvr,
  1420. TimeValue time);
  1421. /*
  1422. * QTVRGetViewCurrentTime()
  1423. *
  1424. * Availability:
  1425. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1426. * CarbonLib: in CarbonLib 1.1 and later
  1427. * Mac OS X: in version 10.0 and later
  1428. * Windows: in QTVR.lib 2.1 and later
  1429. */
  1430. EXTERN_API_C( TimeValue )
  1431. QTVRGetViewCurrentTime(QTVRInstance qtvr);
  1432. /*
  1433. * QTVRGetCurrentViewDuration()
  1434. *
  1435. * Availability:
  1436. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1437. * CarbonLib: in CarbonLib 1.1 and later
  1438. * Mac OS X: in version 10.0 and later
  1439. * Windows: in QTVR.lib 2.1 and later
  1440. */
  1441. EXTERN_API_C( TimeValue )
  1442. QTVRGetCurrentViewDuration(QTVRInstance qtvr);
  1443. /*
  1444. =================================================================================================
  1445. View State Calls - QTVR Object Only
  1446. -------------------------------------------------------------------------------------------------
  1447. */
  1448. /*
  1449. * QTVRSetViewState()
  1450. *
  1451. * Availability:
  1452. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1453. * CarbonLib: in CarbonLib 1.1 and later
  1454. * Mac OS X: in version 10.0 and later
  1455. * Windows: in QTVR.lib 2.1 and later
  1456. */
  1457. EXTERN_API_C( OSErr )
  1458. QTVRSetViewState(
  1459. QTVRInstance qtvr,
  1460. QTVRViewStateType viewStateType,
  1461. UInt16 state);
  1462. /*
  1463. * QTVRGetViewState()
  1464. *
  1465. * Availability:
  1466. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1467. * CarbonLib: in CarbonLib 1.1 and later
  1468. * Mac OS X: in version 10.0 and later
  1469. * Windows: in QTVR.lib 2.1 and later
  1470. */
  1471. EXTERN_API_C( OSErr )
  1472. QTVRGetViewState(
  1473. QTVRInstance qtvr,
  1474. QTVRViewStateType viewStateType,
  1475. UInt16 * state);
  1476. /*
  1477. * QTVRGetViewStateCount()
  1478. *
  1479. * Availability:
  1480. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1481. * CarbonLib: in CarbonLib 1.1 and later
  1482. * Mac OS X: in version 10.0 and later
  1483. * Windows: in QTVR.lib 2.1 and later
  1484. */
  1485. EXTERN_API_C( UInt16 )
  1486. QTVRGetViewStateCount(QTVRInstance qtvr);
  1487. /*
  1488. * QTVRSetAnimationSetting()
  1489. *
  1490. * Availability:
  1491. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1492. * CarbonLib: in CarbonLib 1.1 and later
  1493. * Mac OS X: in version 10.0 and later
  1494. * Windows: in QTVR.lib 2.1 and later
  1495. */
  1496. EXTERN_API_C( OSErr )
  1497. QTVRSetAnimationSetting(
  1498. QTVRInstance qtvr,
  1499. QTVRObjectAnimationSetting setting,
  1500. Boolean enable);
  1501. /*
  1502. * QTVRGetAnimationSetting()
  1503. *
  1504. * Availability:
  1505. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1506. * CarbonLib: in CarbonLib 1.1 and later
  1507. * Mac OS X: in version 10.0 and later
  1508. * Windows: in QTVR.lib 2.1 and later
  1509. */
  1510. EXTERN_API_C( OSErr )
  1511. QTVRGetAnimationSetting(
  1512. QTVRInstance qtvr,
  1513. QTVRObjectAnimationSetting setting,
  1514. Boolean * enable);
  1515. /*
  1516. * QTVRSetControlSetting()
  1517. *
  1518. * Availability:
  1519. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1520. * CarbonLib: in CarbonLib 1.1 and later
  1521. * Mac OS X: in version 10.0 and later
  1522. * Windows: in QTVR.lib 2.1 and later
  1523. */
  1524. EXTERN_API_C( OSErr )
  1525. QTVRSetControlSetting(
  1526. QTVRInstance qtvr,
  1527. QTVRControlSetting setting,
  1528. Boolean enable);
  1529. /*
  1530. * QTVRGetControlSetting()
  1531. *
  1532. * Availability:
  1533. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1534. * CarbonLib: in CarbonLib 1.1 and later
  1535. * Mac OS X: in version 10.0 and later
  1536. * Windows: in QTVR.lib 2.1 and later
  1537. */
  1538. EXTERN_API_C( OSErr )
  1539. QTVRGetControlSetting(
  1540. QTVRInstance qtvr,
  1541. QTVRControlSetting setting,
  1542. Boolean * enable);
  1543. /*
  1544. * QTVREnableFrameAnimation()
  1545. *
  1546. * Availability:
  1547. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1548. * CarbonLib: in CarbonLib 1.1 and later
  1549. * Mac OS X: in version 10.0 and later
  1550. * Windows: in QTVR.lib 2.1 and later
  1551. */
  1552. EXTERN_API_C( OSErr )
  1553. QTVREnableFrameAnimation(
  1554. QTVRInstance qtvr,
  1555. Boolean enable);
  1556. /*
  1557. * QTVRGetFrameAnimation()
  1558. *
  1559. * Availability:
  1560. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1561. * CarbonLib: in CarbonLib 1.1 and later
  1562. * Mac OS X: in version 10.0 and later
  1563. * Windows: in QTVR.lib 2.1 and later
  1564. */
  1565. EXTERN_API_C( Boolean )
  1566. QTVRGetFrameAnimation(QTVRInstance qtvr);
  1567. /*
  1568. * QTVREnableViewAnimation()
  1569. *
  1570. * Availability:
  1571. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1572. * CarbonLib: in CarbonLib 1.1 and later
  1573. * Mac OS X: in version 10.0 and later
  1574. * Windows: in QTVR.lib 2.1 and later
  1575. */
  1576. EXTERN_API_C( OSErr )
  1577. QTVREnableViewAnimation(
  1578. QTVRInstance qtvr,
  1579. Boolean enable);
  1580. /*
  1581. * QTVRGetViewAnimation()
  1582. *
  1583. * Availability:
  1584. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1585. * CarbonLib: in CarbonLib 1.1 and later
  1586. * Mac OS X: in version 10.0 and later
  1587. * Windows: in QTVR.lib 2.1 and later
  1588. */
  1589. EXTERN_API_C( Boolean )
  1590. QTVRGetViewAnimation(QTVRInstance qtvr);
  1591. /*
  1592. =================================================================================================
  1593. Imaging Characteristics
  1594. -------------------------------------------------------------------------------------------------
  1595. */
  1596. /*
  1597. * QTVRSetVisible()
  1598. *
  1599. * Availability:
  1600. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1601. * CarbonLib: in CarbonLib 1.1 and later
  1602. * Mac OS X: in version 10.0 and later
  1603. * Windows: in QTVR.lib 2.1 and later
  1604. */
  1605. EXTERN_API_C( OSErr )
  1606. QTVRSetVisible(
  1607. QTVRInstance qtvr,
  1608. Boolean visible);
  1609. /*
  1610. * QTVRGetVisible()
  1611. *
  1612. * Availability:
  1613. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1614. * CarbonLib: in CarbonLib 1.1 and later
  1615. * Mac OS X: in version 10.0 and later
  1616. * Windows: in QTVR.lib 2.1 and later
  1617. */
  1618. EXTERN_API_C( Boolean )
  1619. QTVRGetVisible(QTVRInstance qtvr);
  1620. /*
  1621. * QTVRSetImagingProperty()
  1622. *
  1623. * Availability:
  1624. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1625. * CarbonLib: in CarbonLib 1.1 and later
  1626. * Mac OS X: in version 10.0 and later
  1627. * Windows: in QTVR.lib 2.1 and later
  1628. */
  1629. EXTERN_API_C( OSErr )
  1630. QTVRSetImagingProperty(
  1631. QTVRInstance qtvr,
  1632. QTVRImagingMode imagingMode,
  1633. UInt32 imagingProperty,
  1634. SInt32 propertyValue);
  1635. /*
  1636. * QTVRGetImagingProperty()
  1637. *
  1638. * Availability:
  1639. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1640. * CarbonLib: in CarbonLib 1.1 and later
  1641. * Mac OS X: in version 10.0 and later
  1642. * Windows: in QTVR.lib 2.1 and later
  1643. */
  1644. EXTERN_API_C( OSErr )
  1645. QTVRGetImagingProperty(
  1646. QTVRInstance qtvr,
  1647. QTVRImagingMode imagingMode,
  1648. UInt32 imagingProperty,
  1649. SInt32 * propertyValue);
  1650. /*
  1651. * QTVRUpdate()
  1652. *
  1653. * Availability:
  1654. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1655. * CarbonLib: in CarbonLib 1.1 and later
  1656. * Mac OS X: in version 10.0 and later
  1657. * Windows: in QTVR.lib 2.1 and later
  1658. */
  1659. EXTERN_API_C( OSErr )
  1660. QTVRUpdate(
  1661. QTVRInstance qtvr,
  1662. QTVRImagingMode imagingMode);
  1663. /*
  1664. * QTVRBeginUpdateStream()
  1665. *
  1666. * Availability:
  1667. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1668. * CarbonLib: in CarbonLib 1.1 and later
  1669. * Mac OS X: in version 10.0 and later
  1670. * Windows: in QTVR.lib 2.1 and later
  1671. */
  1672. EXTERN_API_C( OSErr )
  1673. QTVRBeginUpdateStream(
  1674. QTVRInstance qtvr,
  1675. QTVRImagingMode imagingMode);
  1676. /*
  1677. * QTVREndUpdateStream()
  1678. *
  1679. * Availability:
  1680. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1681. * CarbonLib: in CarbonLib 1.1 and later
  1682. * Mac OS X: in version 10.0 and later
  1683. * Windows: in QTVR.lib 2.1 and later
  1684. */
  1685. EXTERN_API_C( OSErr )
  1686. QTVREndUpdateStream(QTVRInstance qtvr);
  1687. /*
  1688. * QTVRSetTransitionProperty()
  1689. *
  1690. * Availability:
  1691. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1692. * CarbonLib: in CarbonLib 1.1 and later
  1693. * Mac OS X: in version 10.0 and later
  1694. * Windows: in QTVR.lib 2.1 and later
  1695. */
  1696. EXTERN_API_C( OSErr )
  1697. QTVRSetTransitionProperty(
  1698. QTVRInstance qtvr,
  1699. UInt32 transitionType,
  1700. UInt32 transitionProperty,
  1701. SInt32 transitionValue);
  1702. /*
  1703. * QTVREnableTransition()
  1704. *
  1705. * Availability:
  1706. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1707. * CarbonLib: in CarbonLib 1.1 and later
  1708. * Mac OS X: in version 10.0 and later
  1709. * Windows: in QTVR.lib 2.1 and later
  1710. */
  1711. EXTERN_API_C( OSErr )
  1712. QTVREnableTransition(
  1713. QTVRInstance qtvr,
  1714. UInt32 transitionType,
  1715. Boolean enable);
  1716. /*
  1717. =================================================================================================
  1718. Basic Conversion and Math Routines
  1719. -------------------------------------------------------------------------------------------------
  1720. */
  1721. /*
  1722. * QTVRSetAngularUnits()
  1723. *
  1724. * Availability:
  1725. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1726. * CarbonLib: in CarbonLib 1.1 and later
  1727. * Mac OS X: in version 10.0 and later
  1728. * Windows: in QTVR.lib 2.1 and later
  1729. */
  1730. EXTERN_API_C( OSErr )
  1731. QTVRSetAngularUnits(
  1732. QTVRInstance qtvr,
  1733. QTVRAngularUnits units);
  1734. /*
  1735. * QTVRGetAngularUnits()
  1736. *
  1737. * Availability:
  1738. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1739. * CarbonLib: in CarbonLib 1.1 and later
  1740. * Mac OS X: in version 10.0 and later
  1741. * Windows: in QTVR.lib 2.1 and later
  1742. */
  1743. EXTERN_API_C( QTVRAngularUnits )
  1744. QTVRGetAngularUnits(QTVRInstance qtvr);
  1745. /* Pano specific routines*/
  1746. /*
  1747. * QTVRPtToAngles()
  1748. *
  1749. * Availability:
  1750. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1751. * CarbonLib: in CarbonLib 1.1 and later
  1752. * Mac OS X: in version 10.0 and later
  1753. * Windows: in QTVR.lib 2.1 and later
  1754. */
  1755. EXTERN_API_C( OSErr )
  1756. QTVRPtToAngles(
  1757. QTVRInstance qtvr,
  1758. Point pt,
  1759. float * panAngle,
  1760. float * tiltAngle);
  1761. /*
  1762. * QTVRCoordToAngles()
  1763. *
  1764. * Availability:
  1765. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1766. * CarbonLib: in CarbonLib 1.1 and later
  1767. * Mac OS X: in version 10.0 and later
  1768. * Windows: in QTVR.lib 2.1 and later
  1769. */
  1770. EXTERN_API_C( OSErr )
  1771. QTVRCoordToAngles(
  1772. QTVRInstance qtvr,
  1773. QTVRFloatPoint * coord,
  1774. float * panAngle,
  1775. float * tiltAngle);
  1776. /*
  1777. * QTVRAnglesToCoord()
  1778. *
  1779. * Availability:
  1780. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1781. * CarbonLib: in CarbonLib 1.1 and later
  1782. * Mac OS X: in version 10.0 and later
  1783. * Windows: in QTVR.lib 2.1 and later
  1784. */
  1785. EXTERN_API_C( OSErr )
  1786. QTVRAnglesToCoord(
  1787. QTVRInstance qtvr,
  1788. float panAngle,
  1789. float tiltAngle,
  1790. QTVRFloatPoint * coord);
  1791. /* Object specific routines*/
  1792. /*
  1793. * QTVRPanToColumn()
  1794. *
  1795. * Availability:
  1796. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1797. * CarbonLib: in CarbonLib 1.1 and later
  1798. * Mac OS X: in version 10.0 and later
  1799. * Windows: in QTVR.lib 2.1 and later
  1800. */
  1801. EXTERN_API_C( short )
  1802. QTVRPanToColumn(
  1803. QTVRInstance qtvr,
  1804. float panAngle);
  1805. /* zero based */
  1806. /*
  1807. * QTVRColumnToPan()
  1808. *
  1809. * Availability:
  1810. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1811. * CarbonLib: in CarbonLib 1.1 and later
  1812. * Mac OS X: in version 10.0 and later
  1813. * Windows: in QTVR.lib 2.1 and later
  1814. */
  1815. EXTERN_API_C( float )
  1816. QTVRColumnToPan(
  1817. QTVRInstance qtvr,
  1818. short column);
  1819. /* zero based */
  1820. /*
  1821. * QTVRTiltToRow()
  1822. *
  1823. * Availability:
  1824. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1825. * CarbonLib: in CarbonLib 1.1 and later
  1826. * Mac OS X: in version 10.0 and later
  1827. * Windows: in QTVR.lib 2.1 and later
  1828. */
  1829. EXTERN_API_C( short )
  1830. QTVRTiltToRow(
  1831. QTVRInstance qtvr,
  1832. float tiltAngle);
  1833. /* zero based */
  1834. /*
  1835. * QTVRRowToTilt()
  1836. *
  1837. * Availability:
  1838. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1839. * CarbonLib: in CarbonLib 1.1 and later
  1840. * Mac OS X: in version 10.0 and later
  1841. * Windows: in QTVR.lib 2.1 and later
  1842. */
  1843. EXTERN_API_C( float )
  1844. QTVRRowToTilt(
  1845. QTVRInstance qtvr,
  1846. short row);
  1847. /* zero based */
  1848. /*
  1849. * QTVRWrapAndConstrain()
  1850. *
  1851. * Availability:
  1852. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1853. * CarbonLib: in CarbonLib 1.1 and later
  1854. * Mac OS X: in version 10.0 and later
  1855. * Windows: in QTVR.lib 2.1 and later
  1856. */
  1857. EXTERN_API_C( OSErr )
  1858. QTVRWrapAndConstrain(
  1859. QTVRInstance qtvr,
  1860. short kind,
  1861. float value,
  1862. float * result);
  1863. /*
  1864. =================================================================================================
  1865. Interaction Routines
  1866. -------------------------------------------------------------------------------------------------
  1867. */
  1868. /*
  1869. * QTVRSetEnteringNodeProc()
  1870. *
  1871. * Availability:
  1872. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1873. * CarbonLib: in CarbonLib 1.1 and later
  1874. * Mac OS X: in version 10.0 and later
  1875. * Windows: in QTVR.lib 2.1 and later
  1876. */
  1877. EXTERN_API_C( OSErr )
  1878. QTVRSetEnteringNodeProc(
  1879. QTVRInstance qtvr,
  1880. QTVREnteringNodeUPP enteringNodeProc,
  1881. SInt32 refCon,
  1882. UInt32 flags);
  1883. /*
  1884. * QTVRSetLeavingNodeProc()
  1885. *
  1886. * Availability:
  1887. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1888. * CarbonLib: in CarbonLib 1.1 and later
  1889. * Mac OS X: in version 10.0 and later
  1890. * Windows: in QTVR.lib 2.1 and later
  1891. */
  1892. EXTERN_API_C( OSErr )
  1893. QTVRSetLeavingNodeProc(
  1894. QTVRInstance qtvr,
  1895. QTVRLeavingNodeUPP leavingNodeProc,
  1896. SInt32 refCon,
  1897. UInt32 flags);
  1898. /*
  1899. * QTVRSetInteractionProperty()
  1900. *
  1901. * Availability:
  1902. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1903. * CarbonLib: in CarbonLib 1.1 and later
  1904. * Mac OS X: in version 10.0 and later
  1905. * Windows: in QTVR.lib 2.1 and later
  1906. */
  1907. EXTERN_API_C( OSErr )
  1908. QTVRSetInteractionProperty(
  1909. QTVRInstance qtvr,
  1910. UInt32 property,
  1911. void * value);
  1912. /*
  1913. * QTVRGetInteractionProperty()
  1914. *
  1915. * Availability:
  1916. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1917. * CarbonLib: in CarbonLib 1.1 and later
  1918. * Mac OS X: in version 10.0 and later
  1919. * Windows: in QTVR.lib 2.1 and later
  1920. */
  1921. EXTERN_API_C( OSErr )
  1922. QTVRGetInteractionProperty(
  1923. QTVRInstance qtvr,
  1924. UInt32 property,
  1925. void * value);
  1926. /*
  1927. * QTVRReplaceCursor()
  1928. *
  1929. * Availability:
  1930. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1931. * CarbonLib: in CarbonLib 1.1 and later
  1932. * Mac OS X: in version 10.0 and later
  1933. * Windows: in QTVR.lib 2.1 and later
  1934. */
  1935. EXTERN_API_C( OSErr )
  1936. QTVRReplaceCursor(
  1937. QTVRInstance qtvr,
  1938. QTVRCursorRecord * cursRecord);
  1939. /*
  1940. =================================================================================================
  1941. Viewing Limits and Constraints
  1942. -------------------------------------------------------------------------------------------------
  1943. */
  1944. /*
  1945. * QTVRGetViewingLimits()
  1946. *
  1947. * Availability:
  1948. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1949. * CarbonLib: in CarbonLib 1.1 and later
  1950. * Mac OS X: in version 10.0 and later
  1951. * Windows: in QTVR.lib 2.1 and later
  1952. */
  1953. EXTERN_API_C( OSErr )
  1954. QTVRGetViewingLimits(
  1955. QTVRInstance qtvr,
  1956. UInt16 kind,
  1957. float * minValue,
  1958. float * maxValue);
  1959. /*
  1960. * QTVRGetConstraintStatus()
  1961. *
  1962. * Availability:
  1963. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1964. * CarbonLib: in CarbonLib 1.1 and later
  1965. * Mac OS X: in version 10.0 and later
  1966. * Windows: in QTVR.lib 2.1 and later
  1967. */
  1968. EXTERN_API_C( UInt32 )
  1969. QTVRGetConstraintStatus(QTVRInstance qtvr);
  1970. /*
  1971. * QTVRGetConstraints()
  1972. *
  1973. * Availability:
  1974. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1975. * CarbonLib: in CarbonLib 1.1 and later
  1976. * Mac OS X: in version 10.0 and later
  1977. * Windows: in QTVR.lib 2.1 and later
  1978. */
  1979. EXTERN_API_C( OSErr )
  1980. QTVRGetConstraints(
  1981. QTVRInstance qtvr,
  1982. UInt16 kind,
  1983. float * minValue,
  1984. float * maxValue);
  1985. /*
  1986. * QTVRSetConstraints()
  1987. *
  1988. * Availability:
  1989. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  1990. * CarbonLib: in CarbonLib 1.1 and later
  1991. * Mac OS X: in version 10.0 and later
  1992. * Windows: in QTVR.lib 2.1 and later
  1993. */
  1994. EXTERN_API_C( OSErr )
  1995. QTVRSetConstraints(
  1996. QTVRInstance qtvr,
  1997. UInt16 kind,
  1998. float minValue,
  1999. float maxValue);
  2000. /*
  2001. =================================================================================================
  2002. Back Buffer Memory Management
  2003. -------------------------------------------------------------------------------------------------
  2004. */
  2005. /*
  2006. * QTVRGetAvailableResolutions()
  2007. *
  2008. * Availability:
  2009. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  2010. * CarbonLib: in CarbonLib 1.1 and later
  2011. * Mac OS X: in version 10.0 and later
  2012. * Windows: in QTVR.lib 2.1 and later
  2013. */
  2014. EXTERN_API_C( OSErr )
  2015. QTVRGetAvailableResolutions(
  2016. QTVRInstance qtvr,
  2017. UInt16 * resolutionsMask);
  2018. /* These require QTVR 2.1 (kQTVRAPIMajorVersion02 + kQTVRAPIMinorVersion10)*/
  2019. /*
  2020. * QTVRGetBackBufferMemInfo()
  2021. *
  2022. * Availability:
  2023. * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later
  2024. * CarbonLib: in CarbonLib 1.1 and later
  2025. * Mac OS X: in version 10.0 and later
  2026. * Windows: in QTVR.lib 2.1 and later
  2027. */
  2028. EXTERN_API_C( OSErr )
  2029. QTVRGetBackBufferMemInfo(
  2030. QTVRInstance qtvr,
  2031. UInt32 geometry,
  2032. UInt16 resolution,
  2033. UInt32 cachePixelFormat,
  2034. SInt32 * minCacheBytes,
  2035. SInt32 * suggestedCacheBytes,
  2036. SInt32 * fullCacheBytes);
  2037. /*
  2038. * QTVRGetBackBufferSettings()
  2039. *
  2040. * Availability:
  2041. * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later
  2042. * CarbonLib: in CarbonLib 1.1 and later
  2043. * Mac OS X: in version 10.0 and later
  2044. * Windows: in QTVR.lib 2.1 and later
  2045. */
  2046. EXTERN_API_C( OSErr )
  2047. QTVRGetBackBufferSettings(
  2048. QTVRInstance qtvr,
  2049. UInt32 * geometry,
  2050. UInt16 * resolution,
  2051. UInt32 * cachePixelFormat,
  2052. SInt16 * cacheSize);
  2053. /*
  2054. * QTVRSetBackBufferPrefs()
  2055. *
  2056. * Availability:
  2057. * Non-Carbon CFM: in QuickTimeVRLib 2.1 and later
  2058. * CarbonLib: in CarbonLib 1.1 and later
  2059. * Mac OS X: in version 10.0 and later
  2060. * Windows: in QTVR.lib 2.1 and later
  2061. */
  2062. EXTERN_API_C( OSErr )
  2063. QTVRSetBackBufferPrefs(
  2064. QTVRInstance qtvr,
  2065. UInt32 geometry,
  2066. UInt16 resolution,
  2067. UInt32 cachePixelFormat,
  2068. SInt16 cacheSize);
  2069. /*
  2070. =================================================================================================
  2071. Buffer Access
  2072. -------------------------------------------------------------------------------------------------
  2073. */
  2074. /*
  2075. * QTVRSetPrescreenImagingCompleteProc()
  2076. *
  2077. * Availability:
  2078. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  2079. * CarbonLib: in CarbonLib 1.1 and later
  2080. * Mac OS X: in version 10.0 and later
  2081. * Windows: in QTVR.lib 2.1 and later
  2082. */
  2083. EXTERN_API_C( OSErr )
  2084. QTVRSetPrescreenImagingCompleteProc(
  2085. QTVRInstance qtvr,
  2086. QTVRImagingCompleteUPP imagingCompleteProc,
  2087. SInt32 refCon,
  2088. UInt32 flags);
  2089. /*
  2090. * QTVRSetBackBufferImagingProc()
  2091. *
  2092. * Availability:
  2093. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  2094. * CarbonLib: in CarbonLib 1.1 and later
  2095. * Mac OS X: in version 10.0 and later
  2096. * Windows: in QTVR.lib 2.1 and later
  2097. */
  2098. EXTERN_API_C( OSErr )
  2099. QTVRSetBackBufferImagingProc(
  2100. QTVRInstance qtvr,
  2101. QTVRBackBufferImagingUPP backBufferImagingProc,
  2102. UInt16 numAreas,
  2103. QTVRAreaOfInterest areasOfInterest[],
  2104. SInt32 refCon);
  2105. /*
  2106. * QTVRRefreshBackBuffer()
  2107. *
  2108. * Availability:
  2109. * Non-Carbon CFM: in QuickTimeVRLib 2.0 and later
  2110. * CarbonLib: in CarbonLib 1.1 and later
  2111. * Mac OS X: in version 10.0 and later
  2112. * Windows: in QTVR.lib 2.1 and later
  2113. */
  2114. EXTERN_API_C( OSErr )
  2115. QTVRRefreshBackBuffer(
  2116. QTVRInstance qtvr,
  2117. UInt32 flags);
  2118. /*
  2119. =================================================================================================
  2120. Old Names
  2121. -------------------------------------------------------------------------------------------------
  2122. */
  2123. #if OLDROUTINENAMES
  2124. typedef QTVRCursorRecord CursorRecord;
  2125. typedef QTVRAreaOfInterest AreaOfInterest;
  2126. typedef QTVRFloatPoint FloatPoint;
  2127. typedef QTVRLeavingNodeProcPtr LeavingNodeProcPtr;
  2128. typedef QTVRLeavingNodeUPP LeavingNodeUPP;
  2129. typedef QTVREnteringNodeProcPtr EnteringNodeProcPtr;
  2130. typedef QTVREnteringNodeUPP EnteringNodeUPP;
  2131. typedef QTVRMouseOverHotSpotProcPtr MouseOverHotSpotProcPtr;
  2132. typedef QTVRMouseOverHotSpotUPP MouseOverHotSpotUPP;
  2133. typedef QTVRImagingCompleteProcPtr ImagingCompleteProcPtr;
  2134. typedef QTVRImagingCompleteUPP ImagingCompleteUPP;
  2135. typedef QTVRBackBufferImagingProcPtr BackBufferImagingProcPtr;
  2136. typedef QTVRBackBufferImagingUPP BackBufferImagingUPP;
  2137. #endif /* OLDROUTINENAMES */
  2138. #endif // !__LP64__
  2139. #if PRAGMA_STRUCT_ALIGN
  2140. #pragma options align=reset
  2141. #elif PRAGMA_STRUCT_PACKPUSH
  2142. #pragma pack(pop)
  2143. #elif PRAGMA_STRUCT_PACK
  2144. #pragma pack()
  2145. #endif
  2146. #ifdef PRAGMA_IMPORT_OFF
  2147. #pragma import off
  2148. #elif PRAGMA_IMPORT
  2149. #pragma import reset
  2150. #endif
  2151. #ifdef __cplusplus
  2152. }
  2153. #endif
  2154. #endif /* __QUICKTIMEVR__ */