QuickTimeVRFormat.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:23k
源码类别:

多媒体编程

开发平台:

Visual C++

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