InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
INavigationPoints Class Referenceabstract

#include <INavigationPoints.h>

Inheritance diagram for INavigationPoints:
IPMUnknown

Classes

class  NavigationPoint
 

Public Types

enum  { kDefaultIID = IID_INAVIGATIONPOINTS }
 
enum  { kInvalidTime = 0xffffffff }
 
enum  { kInvalidNavigationPointId = 0xffffffff }
 
typedef K2Vector< uint32 > NavigationPointsIndexList
 

Public Member Functions

virtual int32 AddPoint (uint32 time, bool16 atEnd=kFalse)=0
 
virtual bool CanRemovePoint (int32 indexAt) const =0
 
virtual bool DoesNavigationPointExist (uint32 navPointID) const =0
 
virtual bool GetDisplayName (uint32 navPointID, PMString &outDisplayName) const =0
 
virtual bool GetNavigationPointById (uint32 navPointID, INavigationPoints::NavigationPoint &outNavPoint) const =0
 
virtual bool GetNextNavigationPoint (INavigationPoints::NavigationPoint &outNavPoint)=0
 
virtual bool GetNthNavigationPoint (uint32 index, INavigationPoints::NavigationPoint &outNavPoint) const =0
 
virtual bool GetNthNavigationPointTime (uint32 index, PMReal &outTime) const =0
 
virtual uint32 GetNumberOfNavigationPoints () const =0
 
virtual uint32 GetTime (uint32 navPointID) const =0
 
virtual ErrorCode RemovePoints (const INavigationPoints::NavigationPointsIndexList &indexList)=0
 
virtual void ResetIterator ()=0
 
virtual ErrorCode SetDisplayName (uint32 navPointID, const PMString &inDisplayName)=0
 
virtual ErrorCode SetTime (uint32 navPointID, PMReal time)=0
 
virtual ErrorCode ResetId (uint32 oldNavPointID, uint32 newNavPointID)=0
 
virtual ErrorCode AddPoints (NamedUint32AttributeList &list)=0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Detailed Description

This interface provides access to navigation point data for a movie page item.

A navigation point is a seek point associated with a movie page item. It consists of a time (in the range of from zero to the movie length), a name (e.g., "Chapter 1"), and a unique identifier. A navigation point is defined for a movie so that an action may be defined to seek to a specific time frame in the movie. For example, given a navigation point named "Chapter 1", one can create a button that begins playing the movie at the time associated with Chapter 1.

Navigation points are created by the INavigationPoints::AddPoint() method via scripting, the UI or during placement of a movie into a layout. For the latter case, the movie is first encoded with navigation cue points. When the movie file is placed into an InDesign layout, the cue points are extracted by the movie filter and are automatically added to the movie page item using this interface.

Member Function Documentation

virtual int32 INavigationPoints::AddPoint (uint32 time,
bool16 atEnd = kFalse 
)
pure virtual

Adds a new navigation point entry to the current list in increasing-time order.

Parameters
timeis the in 1/100s seconds.
atEndif true then the new navigation point is appended to the list regardless of the time value.
Returns
the non-negative index of the navigation point that was added; -1 if there was a failure.
virtual ErrorCode INavigationPoints::AddPoints (NamedUint32AttributeListlist)
pure virtual

Adds new navigation points from a NamedUint32AttributeList. Adds only those points that have unique time values (i.e., if a list entry has a time value that already exits, it is not added).

Parameters
listlist of cue points.
Returns
kSuccess if the list was added; otherwise returns an error code.
virtual bool INavigationPoints::CanRemovePoint (int32 indexAt) const
pure virtual

Test is a navigation point can be removed from the list.

Parameters
indexAtspecifies the index of an existing navigation point.
Returns
true if the navigation point can be removed; false otherwise.
virtual bool INavigationPoints::DoesNavigationPointExist (uint32 navPointID) const
pure virtual

Tests if a navigation point for a specified navigation point ID exists.

Parameters
navPointIDspecifies an existing NavigationPoint.fId. IDs begin at 0.
Returns
true if a navigation point exists for the ID; otherwise returns false.
virtual bool INavigationPoints::GetDisplayName (uint32 navPointID,
PMStringoutDisplayName 
) const
pure virtual

Retrieves the NavigationPoint.fDisplayName for a specified navigation point ID.

Parameters
navPointIDspecifies an existing NavigationPoint.fId. IDs begin at 0.
outDisplayNameis populated with the NavigationPoint.fDisplayName.
Returns
true if the displayName exists for the ID; otherwise returns false.
virtual bool INavigationPoints::GetNavigationPointById (uint32 navPointID,
INavigationPoints::NavigationPointoutNavPoint 
) const
pure virtual

Retrieves a navigation point for a specified NavigationPoint.fId.

Parameters
navPointIDspecifies an existing NavigationPoint.fId. IDs begin at 0.
outNavPointis populated with the navigation point data.
virtual bool INavigationPoints::GetNextNavigationPoint (INavigationPoints::NavigationPointoutNavPoint)
pure virtual

Retrieves the next navigation point or none if iteration has passed the end of the list. Caution: this method is not guaranteed to be undo/redo safe! If an undo/redo is done that affects navigation points, ResetIterator() must be called before calling this method. (In most normal uses of this method, such as refreshing UI or exporting, undo/redo conflicts will not occur during iteration.)

Parameters
outNavPointis populated with the next navigation point data.
Returns
true if the next navigation point was available; otherwise returns false.
virtual bool INavigationPoints::GetNthNavigationPoint (uint32 index,
INavigationPoints::NavigationPointoutNavPoint 
) const
pure virtual

Retrieves a navigation point by index. Navigation point indices begin at 0.

Parameters
indexis a number from 0 to GetNumberOfNavigationPoints() - 1.
outNavPointis populated with the next navigation point data.
Returns
true if the indexed navigation point was available; otherwise returns false.
virtual bool INavigationPoints::GetNthNavigationPointTime (uint32 index,
PMRealoutTime 
) const
pure virtual

Retrieves a navigation point time by index. Navigation point indices begin at 0.

Parameters
indexis a number from 0 to GetNumberOfNavigationPoints() - 1.
outTimeis populated with the time value with a precision of .01 seconds.
Returns
true if the indexed navigation point and time are available; otherwise returns false.
virtual uint32 INavigationPoints::GetNumberOfNavigationPoints () const
pure virtual

Retrieves the number of NavigationPoint entries (objects) currently in the list.

Returns
an integer >= 0;
virtual uint32 INavigationPoints::GetTime (uint32 navPointID) const
pure virtual

Retrieves the time value for a specified navigation point ID.

Parameters
navPointIDspecifies an existing NavigationPoint.fId. IDs begin at 0.
Returns
a valid time value if the navigation point exists for the ID; otherwise returns INavigationPoints::kInvalidTime.
virtual ErrorCode INavigationPoints::RemovePoints (const INavigationPoints::NavigationPointsIndexListindexList)
pure virtual

Removes one or more NavigationPoint entries from the list.

Parameters
indexListis a list of iterator indices of the navigation points to remove. An iterator index is not the same as the NavigationPoint.fId. E.g., a list of 0,2,3 removes the first, third and fourth navigation points.
Returns
kSuccess if the navigation points were removed; kFalse otherwise.
virtual ErrorCode INavigationPoints::ResetId (uint32 oldNavPointID,
uint32 newNavPointID 
)
pure virtual

This method is for internal scripting use

virtual void INavigationPoints::ResetIterator ()
pure virtual

Resets the list iterator so that the next call to GetNextNavigationPoint() returns the first navigation point in the list.

virtual ErrorCode INavigationPoints::SetDisplayName (uint32 navPointID,
const PMStringinDisplayName 
)
pure virtual

Sets the display name for a navigation point.

Parameters
navPointIDspecifies an existing NavigationPoint.fId. IDs begin at 0.
inDisplayNameis the new display name.
Returns
kSuccess if the display name was set; otherwise returns an error code.
virtual ErrorCode INavigationPoints::SetTime (uint32 navPointID,
PMReal time 
)
pure virtual

Sets the time for a navigation point.

Parameters
navPointIDspecifies an existing NavigationPoint.fId. IDs begin at 0.
timeis the new time value. It is up to the caller to assure that the time falls within the range of the video.
Returns
kSuccess if the time was set; otherwise returns an error code.