QuickTimeVRFormat.pas 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527
  1. {
  2. File: QuickTimeVRFormat.p
  3. Contains: QuickTime VR interfaces
  4. Version: Technology: QuickTime VR 5.0
  5. Release: Universal Interfaces 3.4.2
  6. Copyright: © 1997-2002 by Apple Computer, Inc., all rights reserved.
  7. Bugs?: For bug reports, consult the following page on
  8. the World Wide Web:
  9. http://www.freepascal.org/bugs.html
  10. }
  11. {
  12. Modified for use with Free Pascal
  13. Version 200
  14. Please report any bugs to <[email protected]>
  15. }
  16. {$mode macpas}
  17. {$packenum 1}
  18. {$macro on}
  19. {$inline on}
  20. {$CALLING MWPASCAL}
  21. unit QuickTimeVRFormat;
  22. interface
  23. {$setc UNIVERSAL_INTERFACES_VERSION := $0342}
  24. {$setc GAP_INTERFACES_VERSION := $0200}
  25. {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  26. {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  27. {$endc}
  28. {$ifc defined CPUPOWERPC and defined CPUI386}
  29. {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  30. {$endc}
  31. {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  32. {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  33. {$endc}
  34. {$ifc not defined __ppc__ and defined CPUPOWERPC}
  35. {$setc __ppc__ := 1}
  36. {$elsec}
  37. {$setc __ppc__ := 0}
  38. {$endc}
  39. {$ifc not defined __i386__ and defined CPUI386}
  40. {$setc __i386__ := 1}
  41. {$elsec}
  42. {$setc __i386__ := 0}
  43. {$endc}
  44. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  45. {$error Conflicting definitions for __ppc__ and __i386__}
  46. {$endc}
  47. {$ifc defined __ppc__ and __ppc__}
  48. {$setc TARGET_CPU_PPC := TRUE}
  49. {$setc TARGET_CPU_X86 := FALSE}
  50. {$elifc defined __i386__ and __i386__}
  51. {$setc TARGET_CPU_PPC := FALSE}
  52. {$setc TARGET_CPU_X86 := TRUE}
  53. {$elsec}
  54. {$error Neither __ppc__ nor __i386__ is defined.}
  55. {$endc}
  56. {$setc TARGET_CPU_PPC_64 := FALSE}
  57. {$ifc defined FPC_BIG_ENDIAN}
  58. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  59. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  60. {$elifc defined FPC_LITTLE_ENDIAN}
  61. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  62. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  63. {$elsec}
  64. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  65. {$endc}
  66. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  67. {$setc CALL_NOT_IN_CARBON := FALSE}
  68. {$setc OLDROUTINENAMES := FALSE}
  69. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  70. {$setc OPAQUE_UPP_TYPES := TRUE}
  71. {$setc OTCARBONAPPLICATION := TRUE}
  72. {$setc OTKERNEL := FALSE}
  73. {$setc PM_USE_SESSION_APIS := TRUE}
  74. {$setc TARGET_API_MAC_CARBON := TRUE}
  75. {$setc TARGET_API_MAC_OS8 := FALSE}
  76. {$setc TARGET_API_MAC_OSX := TRUE}
  77. {$setc TARGET_CARBON := TRUE}
  78. {$setc TARGET_CPU_68K := FALSE}
  79. {$setc TARGET_CPU_MIPS := FALSE}
  80. {$setc TARGET_CPU_SPARC := FALSE}
  81. {$setc TARGET_OS_MAC := TRUE}
  82. {$setc TARGET_OS_UNIX := FALSE}
  83. {$setc TARGET_OS_WIN32 := FALSE}
  84. {$setc TARGET_RT_MAC_68881 := FALSE}
  85. {$setc TARGET_RT_MAC_CFM := FALSE}
  86. {$setc TARGET_RT_MAC_MACHO := TRUE}
  87. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  88. {$setc TYPE_BOOL := FALSE}
  89. {$setc TYPE_EXTENDED := FALSE}
  90. {$setc TYPE_LONGLONG := TRUE}
  91. uses MacTypes,Files,ConditionalMacros,Movies,QuickTimeVR;
  92. {$ALIGN MAC68K}
  93. { User data type for the Movie Controller type specifier }
  94. const
  95. kQTControllerType = $63747970 (* 'ctyp' *); { Atom & ID of where our }
  96. kQTControllerID = 1; { ...controller name is stored }
  97. { VRWorld atom types }
  98. kQTVRWorldHeaderAtomType = $76727363 (* 'vrsc' *);
  99. kQTVRImagingParentAtomType = $696D6770 (* 'imgp' *);
  100. kQTVRPanoImagingAtomType = $696D706E (* 'impn' *);
  101. kQTVRObjectImagingAtomType = $696D6F62 (* 'imob' *);
  102. kQTVRNodeParentAtomType = $76726E70 (* 'vrnp' *);
  103. kQTVRNodeIDAtomType = $76726E69 (* 'vrni' *);
  104. kQTVRNodeLocationAtomType = $6E6C6F63 (* 'nloc' *);
  105. kQTVRCursorParentAtomType = $76726370 (* 'vrcp' *); { New with 2.1 }
  106. kQTVRCursorAtomType = $43555253 (* 'CURS' *); { New with 2.1 }
  107. kQTVRColorCursorAtomType = $63727372 (* 'crsr' *); { New with 2.1 }
  108. { NodeInfo atom types }
  109. kQTVRNodeHeaderAtomType = $6E646864 (* 'ndhd' *);
  110. kQTVRHotSpotParentAtomType = $68737061 (* 'hspa' *);
  111. kQTVRHotSpotAtomType = $686F7473 (* 'hots' *);
  112. kQTVRHotSpotInfoAtomType = $6873696E (* 'hsin' *);
  113. kQTVRLinkInfoAtomType = $6C696E6B (* 'link' *);
  114. { Miscellaneous atom types }
  115. kQTVRStringAtomType = $76727367 (* 'vrsg' *);
  116. kQTVRStringEncodingAtomType = $76727365 (* 'vrse' *); { New with 2.1 }
  117. kQTVRPanoSampleDataAtomType = $70646174 (* 'pdat' *);
  118. kQTVRObjectInfoAtomType = $6F626A69 (* 'obji' *);
  119. kQTVRImageTrackRefAtomType = $696D7472 (* 'imtr' *); { Parent is kQTVRObjectInfoAtomType. Required if track ref is not 1 as required by 2.0 format. }
  120. kQTVRHotSpotTrackRefAtomType = $68737472 (* 'hstr' *); { Parent is kQTVRObjectInfoAtomType. Required if track ref is not 1 as required by 2.0 format. }
  121. kQTVRAngleRangeAtomType = $61726E67 (* 'arng' *);
  122. kQTVRTrackRefArrayAtomType = $74726566 (* 'tref' *);
  123. kQTVRPanConstraintAtomType = $70636F6E (* 'pcon' *);
  124. kQTVRTiltConstraintAtomType = $74636F6E (* 'tcon' *);
  125. kQTVRFOVConstraintAtomType = $66636F6E (* 'fcon' *);
  126. kQTVRCubicViewAtomType = $63757677 (* 'cuvw' *); { New with 5.0 }
  127. kQTVRCubicFaceDataAtomType = $63756661 (* 'cufa' *); { New with 5.0 }
  128. kQTVRObjectInfoAtomID = 1;
  129. kQTVRObjectImageTrackRefAtomID = 1; { New with 2.1, it adds a track reference to select between multiple image tracks }
  130. kQTVRObjectHotSpotTrackRefAtomID = 1; { New with 2.1, it adds a track reference to select between multiple hotspot tracks }
  131. { Track reference types }
  132. kQTVRImageTrackRefType = $696D6774 (* 'imgt' *);
  133. kQTVRHotSpotTrackRefType = $686F7474 (* 'hott' *);
  134. { Old hot spot types }
  135. kQTVRHotSpotNavigableType = $6E617667 (* 'navg' *);
  136. { Valid bits used in QTVRLinkHotSpotAtom }
  137. kQTVRValidPan = $00000001;
  138. kQTVRValidTilt = $00000002;
  139. kQTVRValidFOV = $00000004;
  140. kQTVRValidViewCenter = $00000008;
  141. { Values for flags field in QTVRPanoSampleAtom }
  142. kQTVRPanoFlagHorizontal = $00000001;
  143. kQTVRPanoFlagLast = $80000000;
  144. { Values for locationFlags field in QTVRNodeLocationAtom }
  145. kQTVRSameFile = 0;
  146. { Header for QTVR track's Sample Description record (vrWorld atom container is appended) }
  147. type
  148. QTVRSampleDescriptionPtr = ^QTVRSampleDescription;
  149. QTVRSampleDescription = record
  150. descSize: UInt32; { total size of the QTVRSampleDescription }
  151. descType: UInt32; { must be 'qtvr' }
  152. reserved1: UInt32; { must be zero }
  153. reserved2: UInt16; { must be zero }
  154. dataRefIndex: UInt16; { must be zero }
  155. data: UInt32; { Will be extended to hold vrWorld QTAtomContainer }
  156. end;
  157. QTVRSampleDescriptionHandle = ^QTVRSampleDescriptionPtr;
  158. {
  159. =================================================================================================
  160. Definitions and structures used in the VRWorld QTAtomContainer
  161. -------------------------------------------------------------------------------------------------
  162. }
  163. QTVRStringAtomPtr = ^QTVRStringAtom;
  164. QTVRStringAtom = record
  165. stringUsage: UInt16;
  166. stringLength: UInt16;
  167. theString: packed array [0..3] of UInt8; { field previously named "string" }
  168. end;
  169. QTVRWorldHeaderAtomPtr = ^QTVRWorldHeaderAtom;
  170. QTVRWorldHeaderAtom = record
  171. majorVersion: UInt16;
  172. minorVersion: UInt16;
  173. nameAtomID: QTAtomID;
  174. defaultNodeID: UInt32;
  175. vrWorldFlags: UInt32;
  176. reserved1: UInt32;
  177. reserved2: UInt32;
  178. end;
  179. { Valid bits used in QTVRPanoImagingAtom }
  180. const
  181. kQTVRValidCorrection = $00000001;
  182. kQTVRValidQuality = $00000002;
  183. kQTVRValidDirectDraw = $00000004;
  184. kQTVRValidFirstExtraProperty = $00000008;
  185. type
  186. QTVRPanoImagingAtomPtr = ^QTVRPanoImagingAtom;
  187. QTVRPanoImagingAtom = record
  188. majorVersion: UInt16;
  189. minorVersion: UInt16;
  190. imagingMode: UInt32;
  191. imagingValidFlags: UInt32;
  192. correction: UInt32;
  193. quality: UInt32;
  194. directDraw: UInt32;
  195. imagingProperties: array [0..5] of UInt32; { for future properties }
  196. reserved1: UInt32;
  197. reserved2: UInt32;
  198. end;
  199. QTVRNodeLocationAtomPtr = ^QTVRNodeLocationAtom;
  200. QTVRNodeLocationAtom = record
  201. majorVersion: UInt16;
  202. minorVersion: UInt16;
  203. nodeType: OSType;
  204. locationFlags: UInt32;
  205. locationData: UInt32;
  206. reserved1: UInt32;
  207. reserved2: UInt32;
  208. end;
  209. {
  210. =================================================================================================
  211. Definitions and structures used in the Nodeinfo QTAtomContainer
  212. -------------------------------------------------------------------------------------------------
  213. }
  214. QTVRNodeHeaderAtomPtr = ^QTVRNodeHeaderAtom;
  215. QTVRNodeHeaderAtom = record
  216. majorVersion: UInt16;
  217. minorVersion: UInt16;
  218. nodeType: OSType;
  219. nodeID: QTAtomID;
  220. nameAtomID: QTAtomID;
  221. commentAtomID: QTAtomID;
  222. reserved1: UInt32;
  223. reserved2: UInt32;
  224. end;
  225. QTVRAngleRangeAtomPtr = ^QTVRAngleRangeAtom;
  226. QTVRAngleRangeAtom = record
  227. minimumAngle: Float32;
  228. maximumAngle: Float32;
  229. end;
  230. QTVRHotSpotInfoAtomPtr = ^QTVRHotSpotInfoAtom;
  231. QTVRHotSpotInfoAtom = record
  232. majorVersion: UInt16;
  233. minorVersion: UInt16;
  234. hotSpotType: OSType;
  235. nameAtomID: QTAtomID;
  236. commentAtomID: QTAtomID;
  237. cursorID: array [0..2] of SInt32;
  238. { canonical view for this hot spot }
  239. bestPan: Float32;
  240. bestTilt: Float32;
  241. bestFOV: Float32;
  242. bestViewCenter: QTVRFloatPoint;
  243. { Bounding box for this hot spot }
  244. hotSpotRect: Rect;
  245. flags: UInt32;
  246. reserved1: UInt32;
  247. reserved2: UInt32;
  248. end;
  249. QTVRLinkHotSpotAtomPtr = ^QTVRLinkHotSpotAtom;
  250. QTVRLinkHotSpotAtom = record
  251. majorVersion: UInt16;
  252. minorVersion: UInt16;
  253. toNodeID: UInt32;
  254. fromValidFlags: UInt32;
  255. fromPan: Float32;
  256. fromTilt: Float32;
  257. fromFOV: Float32;
  258. fromViewCenter: QTVRFloatPoint;
  259. toValidFlags: UInt32;
  260. toPan: Float32;
  261. toTilt: Float32;
  262. toFOV: Float32;
  263. toViewCenter: QTVRFloatPoint;
  264. distance: Float32;
  265. flags: UInt32;
  266. reserved1: UInt32;
  267. reserved2: UInt32;
  268. end;
  269. {
  270. =================================================================================================
  271. Definitions and structures used in Panorama and Object tracks
  272. -------------------------------------------------------------------------------------------------
  273. }
  274. QTVRPanoSampleAtomPtr = ^QTVRPanoSampleAtom;
  275. QTVRPanoSampleAtom = record
  276. majorVersion: UInt16;
  277. minorVersion: UInt16;
  278. imageRefTrackIndex: UInt32; { track reference index of the full res image track }
  279. hotSpotRefTrackIndex: UInt32; { track reference index of the full res hot spot track }
  280. minPan: Float32;
  281. maxPan: Float32;
  282. minTilt: Float32;
  283. maxTilt: Float32;
  284. minFieldOfView: Float32;
  285. maxFieldOfView: Float32;
  286. defaultPan: Float32;
  287. defaultTilt: Float32;
  288. defaultFieldOfView: Float32;
  289. { Info for highest res version of image track }
  290. imageSizeX: UInt32; { pixel width of the panorama (e.g. 768) }
  291. imageSizeY: UInt32; { pixel height of the panorama (e.g. 2496) }
  292. imageNumFramesX: UInt16; { diced frames wide (e.g. 1) }
  293. imageNumFramesY: UInt16; { diced frames high (e.g. 24) }
  294. { Info for highest res version of hotSpot track }
  295. hotSpotSizeX: UInt32; { pixel width of the hot spot panorama (e.g. 768) }
  296. hotSpotSizeY: UInt32; { pixel height of the hot spot panorama (e.g. 2496) }
  297. hotSpotNumFramesX: UInt16; { diced frames wide (e.g. 1) }
  298. hotSpotNumFramesY: UInt16; { diced frames high (e.g. 24) }
  299. flags: UInt32;
  300. panoType: OSType;
  301. reserved2: UInt32;
  302. end;
  303. {
  304. View atom for cubes (since same fields in QTVRPanoSampleAtom are set to special
  305. values for backwards compatibility and hence are ignored by the cubic engine)
  306. }
  307. QTVRCubicViewAtomPtr = ^QTVRCubicViewAtom;
  308. QTVRCubicViewAtom = record
  309. minPan: Float32;
  310. maxPan: Float32;
  311. minTilt: Float32;
  312. maxTilt: Float32;
  313. minFieldOfView: Float32;
  314. maxFieldOfView: Float32;
  315. defaultPan: Float32;
  316. defaultTilt: Float32;
  317. defaultFieldOfView: Float32;
  318. end;
  319. QTVRCubicFaceDataPtr = ^QTVRCubicFaceData;
  320. QTVRCubicFaceData = record
  321. orientation: array [0..3] of Float32; { WXYZ quaternion of absolute orientation }
  322. center: array [0..1] of Float32; { Center of image relative to center of projection (default = (0,0)) in normalized units }
  323. aspect: Float32; { aspect>1 => tall pixels; aspect <1 => squat pixels (default = 1) }
  324. skew: Float32; { skew x by y (default = 0) }
  325. end;
  326. { Special resolution values for the Image Track Reference Atoms. Use only one value per track reference. }
  327. const
  328. kQTVRFullTrackRes = $00000001;
  329. kQTVRHalfTrackRes = $00000002;
  330. kQTVRQuarterTrackRes = $00000004;
  331. kQTVRPreviewTrackRes = $8000;
  332. type
  333. QTVRTrackRefEntryPtr = ^QTVRTrackRefEntry;
  334. QTVRTrackRefEntry = record
  335. trackRefType: UInt32;
  336. trackResolution: UInt16;
  337. trackRefIndex: UInt32;
  338. end;
  339. {
  340. =================================================================================================
  341. Object File format 2.0
  342. -------------------------------------------------------------------------------------------------
  343. }
  344. const
  345. kQTVRObjectAnimateViewFramesOn = $00000001;
  346. kQTVRObjectPalindromeViewFramesOn = $00000002;
  347. kQTVRObjectStartFirstViewFrameOn = $00000004;
  348. kQTVRObjectAnimateViewsOn = $00000008;
  349. kQTVRObjectPalindromeViewsOn = $00000010;
  350. kQTVRObjectSyncViewToFrameRate = $00000020;
  351. kQTVRObjectDontLoopViewFramesOn = $00000040;
  352. kQTVRObjectPlayEveryViewFrameOn = $00000080;
  353. kQTVRObjectStreamingViewsOn = $00000100;
  354. kQTVRObjectWrapPanOn = $00000001;
  355. kQTVRObjectWrapTiltOn = $00000002;
  356. kQTVRObjectCanZoomOn = $00000004;
  357. kQTVRObjectReverseHControlOn = $00000008;
  358. kQTVRObjectReverseVControlOn = $00000010;
  359. kQTVRObjectSwapHVControlOn = $00000020;
  360. kQTVRObjectTranslationOn = $00000040;
  361. kGrabberScrollerUI = 1; { "Object" }
  362. kOldJoyStickUI = 2; { "1.0 Object as Scene" }
  363. kJoystickUI = 3; { "Object In Scene" }
  364. kGrabberUI = 4; { "Grabber only" }
  365. kAbsoluteUI = 5; { "Absolute pointer" }
  366. type
  367. QTVRObjectSampleAtomPtr = ^QTVRObjectSampleAtom;
  368. QTVRObjectSampleAtom = record
  369. majorVersion: UInt16; { kQTVRMajorVersion }
  370. minorVersion: UInt16; { kQTVRMinorVersion }
  371. movieType: UInt16; { ObjectUITypes }
  372. viewStateCount: UInt16; { The number of view states 1 based }
  373. defaultViewState: UInt16; { The default view state number. The number must be 1 to viewStateCount }
  374. mouseDownViewState: UInt16; { The mouse down view state. The number must be 1 to viewStateCount }
  375. viewDuration: UInt32; { The duration of each view including all animation frames in a view }
  376. columns: UInt32; { Number of columns in movie }
  377. rows: UInt32; { Number rows in movie }
  378. mouseMotionScale: Float32; { 180.0 for kStandardObject or kQTVRObjectInScene, actual degrees for kOldNavigableMovieScene. }
  379. minPan: Float32; { Start horizontal pan angle in degrees }
  380. maxPan: Float32; { End horizontal pan angle in degrees }
  381. defaultPan: Float32; { Initial horizontal pan angle in degrees (poster view) }
  382. minTilt: Float32; { Start vertical pan angle in degrees }
  383. maxTilt: Float32; { End vertical pan angle in degrees }
  384. defaultTilt: Float32; { Initial vertical pan angle in degrees (poster view) }
  385. minFieldOfView: Float32; { minimum field of view setting (appears as the maximum zoom effect) must be >= 1 }
  386. fieldOfView: Float32; { the field of view range must be >= 1 }
  387. defaultFieldOfView: Float32; { must be in minFieldOfView and maxFieldOfView range inclusive }
  388. defaultViewCenterH: Float32;
  389. defaultViewCenterV: Float32;
  390. viewRate: Float32;
  391. frameRate: Float32;
  392. animationSettings: UInt32; { 32 reserved bit fields }
  393. controlSettings: UInt32; { 32 reserved bit fields }
  394. end;
  395. {
  396. =================================================================================================
  397. QuickTime VR Authoring Components
  398. -------------------------------------------------------------------------------------------------
  399. }
  400. {
  401. ComponentDescription constants for QTVR Export components
  402. (componentType = MovieExportType; componentSubType = MovieFileType)
  403. }
  404. const
  405. kQTVRFlattenerManufacturer = $76727765 (* 'vrwe' *); { aka QTVRFlattenerType }
  406. kQTVRSplitterManufacturer = $76727370 (* 'vrsp' *);
  407. kQTVRObjExporterManufacturer = $76726F62 (* 'vrob' *);
  408. { QuickTime VR Flattener atom types }
  409. kQTVRFlattenerSettingsParentAtomType = $56525765 (* 'VRWe' *); { parent of settings atoms (other than compression) }
  410. kQTVRFlattenerPreviewResAtomType = $50526573 (* 'PRes' *); { preview resolution Int16 }
  411. kQTVRFlattenerImportSpecAtomType = $49537065 (* 'ISpe' *); { import file spec FSSpec }
  412. kQTVRFlattenerCreatePreviewAtomType = $50726576 (* 'Prev' *); { Boolean }
  413. kQTVRFlattenerImportPreviewAtomType = $49507265 (* 'IPre' *); { Boolean }
  414. kQTVRFlattenerBlurPreviewAtomType = $426C7572 (* 'Blur' *); { Boolean }
  415. { QuickTime VR Splitter atom types }
  416. kQTVRSplitterSettingsParentAtomType = $56525370 (* 'VRSp' *); { parent of settings atoms (other than compression) }
  417. kQTVRSplitterGenerateHTMLAtomType = $4768746D (* 'Ghtm' *); { Boolean }
  418. kQTVRSplitterOverwriteFilesAtomType = $4F776669 (* 'Owfi' *); { Boolean }
  419. kQTVRSplitterUseFlattenerAtomType = $55736566 (* 'Usef' *); { Boolean }
  420. kQTVRSplitterShowControllerAtomType = $5368636F (* 'Shco' *); { Boolean }
  421. kQTVRSplitterTargetMyselfAtomType = $5467746D (* 'Tgtm' *); { Boolean }
  422. { QuickTime VR Object Exporter atom types }
  423. kQTVRObjExporterSettingsBlockSize = $6273697A (* 'bsiz' *); { block size for compression }
  424. kQTVRObjExporterSettingsTargetSize = $7473697A (* 'tsiz' *); { target file size }
  425. {$ifc OLDROUTINENAMES}
  426. type
  427. VRStringAtom = QTVRStringAtom;
  428. VRStringAtomPtr = ^VRStringAtom;
  429. VRWorldHeaderAtom = QTVRWorldHeaderAtom;
  430. VRWorldHeaderAtomPtr = ^VRWorldHeaderAtom;
  431. VRPanoImagingAtom = QTVRPanoImagingAtom;
  432. VRPanoImagingAtomPtr = ^VRPanoImagingAtom;
  433. VRNodeLocationAtom = QTVRNodeLocationAtom;
  434. VRNodeLocationAtomPtr = ^VRNodeLocationAtom;
  435. VRNodeHeaderAtom = QTVRNodeHeaderAtom;
  436. VRNodeHeaderAtomPtr = ^VRNodeHeaderAtom;
  437. VRAngleRangeAtom = QTVRAngleRangeAtom;
  438. VRAngleRangeAtomPtr = ^VRAngleRangeAtom;
  439. VRHotSpotInfoAtom = QTVRHotSpotInfoAtom;
  440. VRHotSpotInfoAtomPtr = ^VRHotSpotInfoAtom;
  441. VRLinkHotSpotAtom = QTVRLinkHotSpotAtom;
  442. VRLinkHotSpotAtomPtr = ^VRLinkHotSpotAtom;
  443. VRPanoSampleAtom = QTVRPanoSampleAtom;
  444. VRPanoSampleAtomPtr = ^VRPanoSampleAtom;
  445. VRTrackRefEntry = QTVRTrackRefEntry;
  446. VRTrackRefEntryPtr = ^VRTrackRefEntry;
  447. VRObjectSampleAtom = QTVRObjectSampleAtom;
  448. VRObjectSampleAtomPtr = ^VRObjectSampleAtom;
  449. {$endc} {OLDROUTINENAMES}
  450. {$ALIGN MAC68K}
  451. end.