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.
540 lines
20 KiB
540 lines
20 KiB
5 years ago
|
/*
|
||
|
File: QuickTimeVRFormat.h
|
||
|
|
||
|
Contains: QuickTime VR interfaces
|
||
|
|
||
|
Version: QuickTime 7.3
|
||
|
|
||
|
Copyright: (c) 2007 (c) 1997-2007 by Apple Inc., all rights reserved.
|
||
|
|
||
|
Bugs?: For bug reports, consult the following page on
|
||
|
the World Wide Web:
|
||
|
|
||
|
http://developer.apple.com/bugreporter/
|
||
|
|
||
|
*/
|
||
|
#ifndef __QUICKTIMEVRFORMAT__
|
||
|
#define __QUICKTIMEVRFORMAT__
|
||
|
|
||
|
#ifndef __CONDITIONALMACROS__
|
||
|
#include <ConditionalMacros.h>
|
||
|
#endif
|
||
|
|
||
|
#ifndef __MOVIES__
|
||
|
#include <Movies.h>
|
||
|
#endif
|
||
|
|
||
|
#ifndef __QUICKTIMEVR__
|
||
|
#include <QuickTimeVR.h>
|
||
|
#endif
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#if PRAGMA_ONCE
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
#if PRAGMA_IMPORT
|
||
|
#pragma import on
|
||
|
#endif
|
||
|
|
||
|
#if PRAGMA_STRUCT_ALIGN
|
||
|
#pragma options align=mac68k
|
||
|
#elif PRAGMA_STRUCT_PACKPUSH
|
||
|
#pragma pack(push, 2)
|
||
|
#elif PRAGMA_STRUCT_PACK
|
||
|
#pragma pack(2)
|
||
|
#endif
|
||
|
|
||
|
/* QuickTime is not available to 64-bit clients */
|
||
|
|
||
|
#if !__LP64__
|
||
|
|
||
|
|
||
|
/* File Format Version numbers */
|
||
|
#define kQTVRMajorVersion (2)
|
||
|
#define kQTVRMinorVersion (0)
|
||
|
|
||
|
/* User data type for the Movie Controller type specifier*/
|
||
|
enum {
|
||
|
kQTControllerType = kQTVRControllerSubType, /* Atom & ID of where our*/
|
||
|
kQTControllerID = 1 /* ...controller name is stored*/
|
||
|
};
|
||
|
|
||
|
/* VRWorld atom types*/
|
||
|
enum {
|
||
|
kQTVRWorldHeaderAtomType = FOUR_CHAR_CODE('vrsc'),
|
||
|
kQTVRImagingParentAtomType = FOUR_CHAR_CODE('imgp'),
|
||
|
kQTVRPanoImagingAtomType = FOUR_CHAR_CODE('impn'),
|
||
|
kQTVRObjectImagingAtomType = FOUR_CHAR_CODE('imob'),
|
||
|
kQTVRNodeParentAtomType = FOUR_CHAR_CODE('vrnp'),
|
||
|
kQTVRNodeIDAtomType = FOUR_CHAR_CODE('vrni'),
|
||
|
kQTVRNodeLocationAtomType = FOUR_CHAR_CODE('nloc'),
|
||
|
kQTVRCursorParentAtomType = FOUR_CHAR_CODE('vrcp'), /* New with 2.1*/
|
||
|
kQTVRCursorAtomType = FOUR_CHAR_CODE('CURS'), /* New with 2.1*/
|
||
|
kQTVRColorCursorAtomType = FOUR_CHAR_CODE('crsr') /* New with 2.1*/
|
||
|
};
|
||
|
|
||
|
/* NodeInfo atom types*/
|
||
|
enum {
|
||
|
kQTVRNodeHeaderAtomType = FOUR_CHAR_CODE('ndhd'),
|
||
|
kQTVRHotSpotParentAtomType = FOUR_CHAR_CODE('hspa'),
|
||
|
kQTVRHotSpotAtomType = FOUR_CHAR_CODE('hots'),
|
||
|
kQTVRHotSpotInfoAtomType = FOUR_CHAR_CODE('hsin'),
|
||
|
kQTVRLinkInfoAtomType = FOUR_CHAR_CODE('link')
|
||
|
};
|
||
|
|
||
|
/* Miscellaneous atom types*/
|
||
|
enum {
|
||
|
kQTVRStringAtomType = FOUR_CHAR_CODE('vrsg'),
|
||
|
kQTVRStringEncodingAtomType = FOUR_CHAR_CODE('vrse'), /* New with 2.1*/
|
||
|
kQTVRPanoSampleDataAtomType = FOUR_CHAR_CODE('pdat'),
|
||
|
kQTVRObjectInfoAtomType = FOUR_CHAR_CODE('obji'),
|
||
|
kQTVRImageTrackRefAtomType = FOUR_CHAR_CODE('imtr'), /* Parent is kQTVRObjectInfoAtomType. Required if track ref is not 1 as required by 2.0 format.*/
|
||
|
kQTVRHotSpotTrackRefAtomType = FOUR_CHAR_CODE('hstr'), /* Parent is kQTVRObjectInfoAtomType. Required if track ref is not 1 as required by 2.0 format.*/
|
||
|
kQTVRAngleRangeAtomType = FOUR_CHAR_CODE('arng'),
|
||
|
kQTVRTrackRefArrayAtomType = FOUR_CHAR_CODE('tref'),
|
||
|
kQTVRPanConstraintAtomType = FOUR_CHAR_CODE('pcon'),
|
||
|
kQTVRTiltConstraintAtomType = FOUR_CHAR_CODE('tcon'),
|
||
|
kQTVRFOVConstraintAtomType = FOUR_CHAR_CODE('fcon'),
|
||
|
kQTVRCubicViewAtomType = FOUR_CHAR_CODE('cuvw'), /* New with 5.0*/
|
||
|
kQTVRCubicFaceDataAtomType = FOUR_CHAR_CODE('cufa') /* New with 5.0*/
|
||
|
};
|
||
|
|
||
|
enum {
|
||
|
kQTVRObjectInfoAtomID = 1,
|
||
|
kQTVRObjectImageTrackRefAtomID = 1, /* New with 2.1, it adds a track reference to select between multiple image tracks*/
|
||
|
kQTVRObjectHotSpotTrackRefAtomID = 1 /* New with 2.1, it adds a track reference to select between multiple hotspot tracks*/
|
||
|
};
|
||
|
|
||
|
/* Track reference types*/
|
||
|
enum {
|
||
|
kQTVRImageTrackRefType = FOUR_CHAR_CODE('imgt'),
|
||
|
kQTVRHotSpotTrackRefType = FOUR_CHAR_CODE('hott')
|
||
|
};
|
||
|
|
||
|
/* Old hot spot types*/
|
||
|
enum {
|
||
|
kQTVRHotSpotNavigableType = FOUR_CHAR_CODE('navg')
|
||
|
};
|
||
|
|
||
|
/* Valid bits used in QTVRLinkHotSpotAtom*/
|
||
|
enum {
|
||
|
kQTVRValidPan = 1L << 0,
|
||
|
kQTVRValidTilt = 1L << 1,
|
||
|
kQTVRValidFOV = 1L << 2,
|
||
|
kQTVRValidViewCenter = 1L << 3
|
||
|
};
|
||
|
|
||
|
|
||
|
/* Values for flags field in QTVRPanoSampleAtom*/
|
||
|
enum {
|
||
|
kQTVRPanoFlagHorizontal = 1L << 0,
|
||
|
kQTVRPanoFlagLast = 1L << 31
|
||
|
};
|
||
|
|
||
|
|
||
|
/* Values for locationFlags field in QTVRNodeLocationAtom*/
|
||
|
enum {
|
||
|
kQTVRSameFile = 0
|
||
|
};
|
||
|
|
||
|
|
||
|
/* Header for QTVR track's Sample Description record (vrWorld atom container is appended)*/
|
||
|
struct QTVRSampleDescription {
|
||
|
UInt32 descSize; /* total size of the QTVRSampleDescription*/
|
||
|
UInt32 descType; /* must be 'qtvr'*/
|
||
|
|
||
|
UInt32 reserved1; /* must be zero*/
|
||
|
UInt16 reserved2; /* must be zero*/
|
||
|
UInt16 dataRefIndex; /* must be zero*/
|
||
|
|
||
|
UInt32 data; /* Will be extended to hold vrWorld QTAtomContainer*/
|
||
|
|
||
|
};
|
||
|
typedef struct QTVRSampleDescription QTVRSampleDescription;
|
||
|
typedef QTVRSampleDescription * QTVRSampleDescriptionPtr;
|
||
|
typedef QTVRSampleDescriptionPtr * QTVRSampleDescriptionHandle;
|
||
|
/*
|
||
|
=================================================================================================
|
||
|
Definitions and structures used in the VRWorld QTAtomContainer
|
||
|
-------------------------------------------------------------------------------------------------
|
||
|
*/
|
||
|
|
||
|
struct QTVRStringAtom {
|
||
|
UInt16 stringUsage;
|
||
|
UInt16 stringLength;
|
||
|
unsigned char theString[4]; /* field previously named "string"*/
|
||
|
};
|
||
|
typedef struct QTVRStringAtom QTVRStringAtom;
|
||
|
typedef QTVRStringAtom * QTVRStringAtomPtr;
|
||
|
|
||
|
struct QTVRWorldHeaderAtom {
|
||
|
UInt16 majorVersion;
|
||
|
UInt16 minorVersion;
|
||
|
|
||
|
QTAtomID nameAtomID;
|
||
|
UInt32 defaultNodeID;
|
||
|
UInt32 vrWorldFlags;
|
||
|
|
||
|
UInt32 reserved1;
|
||
|
UInt32 reserved2;
|
||
|
};
|
||
|
typedef struct QTVRWorldHeaderAtom QTVRWorldHeaderAtom;
|
||
|
typedef QTVRWorldHeaderAtom * QTVRWorldHeaderAtomPtr;
|
||
|
|
||
|
/* Valid bits used in QTVRPanoImagingAtom*/
|
||
|
enum {
|
||
|
kQTVRValidCorrection = 1L << 0,
|
||
|
kQTVRValidQuality = 1L << 1,
|
||
|
kQTVRValidDirectDraw = 1L << 2,
|
||
|
kQTVRValidFirstExtraProperty = 1L << 3
|
||
|
};
|
||
|
|
||
|
struct QTVRPanoImagingAtom {
|
||
|
UInt16 majorVersion;
|
||
|
UInt16 minorVersion;
|
||
|
|
||
|
UInt32 imagingMode;
|
||
|
UInt32 imagingValidFlags;
|
||
|
|
||
|
UInt32 correction;
|
||
|
UInt32 quality;
|
||
|
UInt32 directDraw;
|
||
|
UInt32 imagingProperties[6]; /* for future properties*/
|
||
|
|
||
|
UInt32 reserved1;
|
||
|
UInt32 reserved2;
|
||
|
};
|
||
|
typedef struct QTVRPanoImagingAtom QTVRPanoImagingAtom;
|
||
|
typedef QTVRPanoImagingAtom * QTVRPanoImagingAtomPtr;
|
||
|
struct QTVRNodeLocationAtom {
|
||
|
UInt16 majorVersion;
|
||
|
UInt16 minorVersion;
|
||
|
|
||
|
OSType nodeType;
|
||
|
UInt32 locationFlags;
|
||
|
UInt32 locationData;
|
||
|
|
||
|
UInt32 reserved1;
|
||
|
UInt32 reserved2;
|
||
|
};
|
||
|
typedef struct QTVRNodeLocationAtom QTVRNodeLocationAtom;
|
||
|
typedef QTVRNodeLocationAtom * QTVRNodeLocationAtomPtr;
|
||
|
/*
|
||
|
=================================================================================================
|
||
|
Definitions and structures used in the Nodeinfo QTAtomContainer
|
||
|
-------------------------------------------------------------------------------------------------
|
||
|
*/
|
||
|
|
||
|
struct QTVRNodeHeaderAtom {
|
||
|
UInt16 majorVersion;
|
||
|
UInt16 minorVersion;
|
||
|
|
||
|
OSType nodeType;
|
||
|
QTAtomID nodeID;
|
||
|
QTAtomID nameAtomID;
|
||
|
QTAtomID commentAtomID;
|
||
|
|
||
|
UInt32 reserved1;
|
||
|
UInt32 reserved2;
|
||
|
};
|
||
|
typedef struct QTVRNodeHeaderAtom QTVRNodeHeaderAtom;
|
||
|
typedef QTVRNodeHeaderAtom * QTVRNodeHeaderAtomPtr;
|
||
|
struct QTVRAngleRangeAtom {
|
||
|
Float32 minimumAngle;
|
||
|
Float32 maximumAngle;
|
||
|
};
|
||
|
typedef struct QTVRAngleRangeAtom QTVRAngleRangeAtom;
|
||
|
typedef QTVRAngleRangeAtom * QTVRAngleRangeAtomPtr;
|
||
|
struct QTVRHotSpotInfoAtom {
|
||
|
UInt16 majorVersion;
|
||
|
UInt16 minorVersion;
|
||
|
|
||
|
OSType hotSpotType;
|
||
|
QTAtomID nameAtomID;
|
||
|
QTAtomID commentAtomID;
|
||
|
|
||
|
SInt32 cursorID[3];
|
||
|
|
||
|
/* canonical view for this hot spot*/
|
||
|
Float32 bestPan;
|
||
|
Float32 bestTilt;
|
||
|
Float32 bestFOV;
|
||
|
QTVRFloatPoint bestViewCenter;
|
||
|
|
||
|
/* Bounding box for this hot spot*/
|
||
|
Rect hotSpotRect;
|
||
|
|
||
|
UInt32 flags;
|
||
|
UInt32 reserved1;
|
||
|
UInt32 reserved2;
|
||
|
};
|
||
|
typedef struct QTVRHotSpotInfoAtom QTVRHotSpotInfoAtom;
|
||
|
typedef QTVRHotSpotInfoAtom * QTVRHotSpotInfoAtomPtr;
|
||
|
struct QTVRLinkHotSpotAtom {
|
||
|
UInt16 majorVersion;
|
||
|
UInt16 minorVersion;
|
||
|
|
||
|
UInt32 toNodeID;
|
||
|
|
||
|
UInt32 fromValidFlags;
|
||
|
Float32 fromPan;
|
||
|
Float32 fromTilt;
|
||
|
Float32 fromFOV;
|
||
|
QTVRFloatPoint fromViewCenter;
|
||
|
|
||
|
UInt32 toValidFlags;
|
||
|
Float32 toPan;
|
||
|
Float32 toTilt;
|
||
|
Float32 toFOV;
|
||
|
QTVRFloatPoint toViewCenter;
|
||
|
|
||
|
Float32 distance;
|
||
|
|
||
|
UInt32 flags;
|
||
|
UInt32 reserved1;
|
||
|
UInt32 reserved2;
|
||
|
};
|
||
|
typedef struct QTVRLinkHotSpotAtom QTVRLinkHotSpotAtom;
|
||
|
typedef QTVRLinkHotSpotAtom * QTVRLinkHotSpotAtomPtr;
|
||
|
/*
|
||
|
=================================================================================================
|
||
|
Definitions and structures used in Panorama and Object tracks
|
||
|
-------------------------------------------------------------------------------------------------
|
||
|
*/
|
||
|
|
||
|
struct QTVRPanoSampleAtom {
|
||
|
UInt16 majorVersion;
|
||
|
UInt16 minorVersion;
|
||
|
|
||
|
UInt32 imageRefTrackIndex; /* track reference index of the full res image track*/
|
||
|
UInt32 hotSpotRefTrackIndex; /* track reference index of the full res hot spot track*/
|
||
|
|
||
|
Float32 minPan;
|
||
|
Float32 maxPan;
|
||
|
Float32 minTilt;
|
||
|
Float32 maxTilt;
|
||
|
Float32 minFieldOfView;
|
||
|
Float32 maxFieldOfView;
|
||
|
|
||
|
Float32 defaultPan;
|
||
|
Float32 defaultTilt;
|
||
|
Float32 defaultFieldOfView;
|
||
|
|
||
|
/* Info for highest res version of image track*/
|
||
|
UInt32 imageSizeX; /* pixel width of the panorama (e.g. 768)*/
|
||
|
UInt32 imageSizeY; /* pixel height of the panorama (e.g. 2496)*/
|
||
|
UInt16 imageNumFramesX; /* diced frames wide (e.g. 1)*/
|
||
|
UInt16 imageNumFramesY; /* diced frames high (e.g. 24)*/
|
||
|
|
||
|
/* Info for highest res version of hotSpot track*/
|
||
|
UInt32 hotSpotSizeX; /* pixel width of the hot spot panorama (e.g. 768)*/
|
||
|
UInt32 hotSpotSizeY; /* pixel height of the hot spot panorama (e.g. 2496)*/
|
||
|
UInt16 hotSpotNumFramesX; /* diced frames wide (e.g. 1)*/
|
||
|
UInt16 hotSpotNumFramesY; /* diced frames high (e.g. 24)*/
|
||
|
|
||
|
UInt32 flags;
|
||
|
OSType panoType;
|
||
|
UInt32 reserved2;
|
||
|
|
||
|
};
|
||
|
typedef struct QTVRPanoSampleAtom QTVRPanoSampleAtom;
|
||
|
typedef QTVRPanoSampleAtom * QTVRPanoSampleAtomPtr;
|
||
|
/*
|
||
|
View atom for cubes (since same fields in QTVRPanoSampleAtom are set to special
|
||
|
values for backwards compatibility and hence are ignored by the cubic engine)
|
||
|
*/
|
||
|
struct QTVRCubicViewAtom {
|
||
|
Float32 minPan;
|
||
|
Float32 maxPan;
|
||
|
Float32 minTilt;
|
||
|
Float32 maxTilt;
|
||
|
Float32 minFieldOfView;
|
||
|
Float32 maxFieldOfView;
|
||
|
|
||
|
Float32 defaultPan;
|
||
|
Float32 defaultTilt;
|
||
|
Float32 defaultFieldOfView;
|
||
|
};
|
||
|
typedef struct QTVRCubicViewAtom QTVRCubicViewAtom;
|
||
|
typedef QTVRCubicViewAtom * QTVRCubicViewAtomPtr;
|
||
|
struct QTVRCubicFaceData {
|
||
|
Float32 orientation[4]; /* WXYZ quaternion of absolute orientation*/
|
||
|
Float32 center[2]; /* Center of image relative to center of projection (default = (0,0)) in normalized units*/
|
||
|
Float32 aspect; /* aspect>1 => tall pixels; aspect <1 => squat pixels (default = 1)*/
|
||
|
Float32 skew; /* skew x by y (default = 0)*/
|
||
|
};
|
||
|
typedef struct QTVRCubicFaceData QTVRCubicFaceData;
|
||
|
typedef QTVRCubicFaceData * QTVRCubicFaceDataPtr;
|
||
|
/* Special resolution values for the Image Track Reference Atoms. Use only one value per track reference.*/
|
||
|
enum {
|
||
|
kQTVRFullTrackRes = kQTVRFullRes,
|
||
|
kQTVRHalfTrackRes = kQTVRHalfRes,
|
||
|
kQTVRQuarterTrackRes = kQTVRQuarterRes,
|
||
|
kQTVRPreviewTrackRes = 0x8000
|
||
|
};
|
||
|
|
||
|
struct QTVRTrackRefEntry {
|
||
|
UInt32 trackRefType;
|
||
|
UInt16 trackResolution;
|
||
|
UInt32 trackRefIndex;
|
||
|
};
|
||
|
typedef struct QTVRTrackRefEntry QTVRTrackRefEntry;
|
||
|
/*
|
||
|
=================================================================================================
|
||
|
Object File format 2.0
|
||
|
-------------------------------------------------------------------------------------------------
|
||
|
*/
|
||
|
enum {
|
||
|
kQTVRObjectAnimateViewFramesOn = (1L << 0),
|
||
|
kQTVRObjectPalindromeViewFramesOn = (1L << 1),
|
||
|
kQTVRObjectStartFirstViewFrameOn = (1L << 2),
|
||
|
kQTVRObjectAnimateViewsOn = (1L << 3),
|
||
|
kQTVRObjectPalindromeViewsOn = (1L << 4),
|
||
|
kQTVRObjectSyncViewToFrameRate = (1L << 5),
|
||
|
kQTVRObjectDontLoopViewFramesOn = (1L << 6),
|
||
|
kQTVRObjectPlayEveryViewFrameOn = (1L << 7),
|
||
|
kQTVRObjectStreamingViewsOn = (1L << 8)
|
||
|
};
|
||
|
|
||
|
enum {
|
||
|
kQTVRObjectWrapPanOn = (1L << 0),
|
||
|
kQTVRObjectWrapTiltOn = (1L << 1),
|
||
|
kQTVRObjectCanZoomOn = (1L << 2),
|
||
|
kQTVRObjectReverseHControlOn = (1L << 3),
|
||
|
kQTVRObjectReverseVControlOn = (1L << 4),
|
||
|
kQTVRObjectSwapHVControlOn = (1L << 5),
|
||
|
kQTVRObjectTranslationOn = (1L << 6)
|
||
|
};
|
||
|
|
||
|
enum {
|
||
|
kGrabberScrollerUI = 1, /* "Object" */
|
||
|
kOldJoyStickUI = 2, /* "1.0 Object as Scene" */
|
||
|
kJoystickUI = 3, /* "Object In Scene"*/
|
||
|
kGrabberUI = 4, /* "Grabber only"*/
|
||
|
kAbsoluteUI = 5 /* "Absolute pointer"*/
|
||
|
};
|
||
|
|
||
|
|
||
|
struct QTVRObjectSampleAtom {
|
||
|
UInt16 majorVersion; /* kQTVRMajorVersion*/
|
||
|
UInt16 minorVersion; /* kQTVRMinorVersion*/
|
||
|
UInt16 movieType; /* ObjectUITypes*/
|
||
|
UInt16 viewStateCount; /* The number of view states 1 based*/
|
||
|
UInt16 defaultViewState; /* The default view state number. The number must be 1 to viewStateCount*/
|
||
|
UInt16 mouseDownViewState; /* The mouse down view state. The number must be 1 to viewStateCount*/
|
||
|
UInt32 viewDuration; /* The duration of each view including all animation frames in a view*/
|
||
|
UInt32 columns; /* Number of columns in movie*/
|
||
|
UInt32 rows; /* Number rows in movie*/
|
||
|
Float32 mouseMotionScale; /* 180.0 for kStandardObject or kQTVRObjectInScene, actual degrees for kOldNavigableMovieScene.*/
|
||
|
Float32 minPan; /* Start horizontal pan angle in degrees*/
|
||
|
Float32 maxPan; /* End horizontal pan angle in degrees*/
|
||
|
Float32 defaultPan; /* Initial horizontal pan angle in degrees (poster view)*/
|
||
|
Float32 minTilt; /* Start vertical pan angle in degrees*/
|
||
|
Float32 maxTilt; /* End vertical pan angle in degrees*/
|
||
|
Float32 defaultTilt; /* Initial vertical pan angle in degrees (poster view) */
|
||
|
Float32 minFieldOfView; /* minimum field of view setting (appears as the maximum zoom effect) must be >= 1*/
|
||
|
Float32 fieldOfView; /* the field of view range must be >= 1*/
|
||
|
Float32 defaultFieldOfView; /* must be in minFieldOfView and maxFieldOfView range inclusive*/
|
||
|
Float32 defaultViewCenterH;
|
||
|
Float32 defaultViewCenterV;
|
||
|
|
||
|
Float32 viewRate;
|
||
|
Float32 frameRate;
|
||
|
UInt32 animationSettings; /* 32 reserved bit fields*/
|
||
|
UInt32 controlSettings; /* 32 reserved bit fields*/
|
||
|
|
||
|
};
|
||
|
typedef struct QTVRObjectSampleAtom QTVRObjectSampleAtom;
|
||
|
typedef QTVRObjectSampleAtom * QTVRObjectSampleAtomPtr;
|
||
|
/*
|
||
|
=================================================================================================
|
||
|
QuickTime VR Authoring Components
|
||
|
-------------------------------------------------------------------------------------------------
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
ComponentDescription constants for QTVR Export components
|
||
|
(componentType = MovieExportType; componentSubType = MovieFileType)
|
||
|
*/
|
||
|
enum {
|
||
|
kQTVRFlattenerManufacturer = FOUR_CHAR_CODE('vrwe'), /* aka QTVRFlattenerType*/
|
||
|
kQTVRSplitterManufacturer = FOUR_CHAR_CODE('vrsp'),
|
||
|
kQTVRObjExporterManufacturer = FOUR_CHAR_CODE('vrob')
|
||
|
};
|
||
|
|
||
|
/* QuickTime VR Flattener atom types*/
|
||
|
enum {
|
||
|
kQTVRFlattenerSettingsParentAtomType = FOUR_CHAR_CODE('VRWe'), /* parent of settings atoms (other than compression)*/
|
||
|
kQTVRFlattenerPreviewResAtomType = FOUR_CHAR_CODE('PRes'), /* preview resolution Int16*/
|
||
|
kQTVRFlattenerImportSpecAtomType = FOUR_CHAR_CODE('ISpe'), /* import file spec FSSpec*/
|
||
|
kQTVRFlattenerCreatePreviewAtomType = FOUR_CHAR_CODE('Prev'), /* Boolean*/
|
||
|
kQTVRFlattenerImportPreviewAtomType = FOUR_CHAR_CODE('IPre'), /* Boolean*/
|
||
|
kQTVRFlattenerBlurPreviewAtomType = FOUR_CHAR_CODE('Blur') /* Boolean*/
|
||
|
};
|
||
|
|
||
|
/* QuickTime VR Splitter atom types*/
|
||
|
enum {
|
||
|
kQTVRSplitterSettingsParentAtomType = FOUR_CHAR_CODE('VRSp'), /* parent of settings atoms (other than compression)*/
|
||
|
kQTVRSplitterGenerateHTMLAtomType = FOUR_CHAR_CODE('Ghtm'), /* Boolean*/
|
||
|
kQTVRSplitterOverwriteFilesAtomType = FOUR_CHAR_CODE('Owfi'), /* Boolean*/
|
||
|
kQTVRSplitterUseFlattenerAtomType = FOUR_CHAR_CODE('Usef'), /* Boolean*/
|
||
|
kQTVRSplitterShowControllerAtomType = FOUR_CHAR_CODE('Shco'), /* Boolean*/
|
||
|
kQTVRSplitterTargetMyselfAtomType = FOUR_CHAR_CODE('Tgtm') /* Boolean*/
|
||
|
};
|
||
|
|
||
|
/* QuickTime VR Object Exporter atom types*/
|
||
|
enum {
|
||
|
kQTVRObjExporterSettingsBlockSize = FOUR_CHAR_CODE('bsiz'), /* block size for compression*/
|
||
|
kQTVRObjExporterSettingsTargetSize = FOUR_CHAR_CODE('tsiz') /* target file size*/
|
||
|
};
|
||
|
|
||
|
|
||
|
|
||
|
#if OLDROUTINENAMES
|
||
|
typedef QTVRStringAtom VRStringAtom;
|
||
|
typedef QTVRWorldHeaderAtom VRWorldHeaderAtom;
|
||
|
typedef QTVRPanoImagingAtom VRPanoImagingAtom;
|
||
|
typedef QTVRNodeLocationAtom VRNodeLocationAtom;
|
||
|
typedef QTVRNodeHeaderAtom VRNodeHeaderAtom;
|
||
|
typedef QTVRAngleRangeAtom VRAngleRangeAtom;
|
||
|
typedef QTVRHotSpotInfoAtom VRHotSpotInfoAtom;
|
||
|
typedef QTVRLinkHotSpotAtom VRLinkHotSpotAtom;
|
||
|
typedef QTVRPanoSampleAtom VRPanoSampleAtom;
|
||
|
typedef QTVRTrackRefEntry VRTrackRefEntry;
|
||
|
typedef QTVRObjectSampleAtom VRObjectSampleAtom;
|
||
|
#endif /* OLDROUTINENAMES */
|
||
|
|
||
|
|
||
|
#endif // !__LP64__
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#if PRAGMA_STRUCT_ALIGN
|
||
|
#pragma options align=reset
|
||
|
#elif PRAGMA_STRUCT_PACKPUSH
|
||
|
#pragma pack(pop)
|
||
|
#elif PRAGMA_STRUCT_PACK
|
||
|
#pragma pack()
|
||
|
#endif
|
||
|
|
||
|
#ifdef PRAGMA_IMPORT_OFF
|
||
|
#pragma import off
|
||
|
#elif PRAGMA_IMPORT
|
||
|
#pragma import reset
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif /* __QUICKTIMEVRFORMAT__ */
|
||
|
|