InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IMediaUtils.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: wtislar
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //========================================================================================
23 
24 #ifndef __IMediaUtils_h__
25 #define __IMediaUtils_h__
26 
27 #include "IPMUnknown.h"
28 #include "IMediaAdornmentInfo.h"
29 #include "IMediaAttributes.h"
30 #include "IURIData.h"
31 
32 #include "MediaID.h"
33 #include "UIDList.h"
34 #include "Utils.h"
35 
36 class PMRect;
37 class ILinkResource;
38 class ILinkManager;
39 class IHierarchy;
40 class IMediaReadFormat;
41 class MediaLocation;
42 
46 class IMediaUtils : public IPMUnknown
47 {
48 public:
49  enum { kDefaultIID = IID_IMEDIAUTILS };
50 
57  virtual ErrorCode AddAdornments( IDataBase * db, UID itemUID, IMediaAdornmentInfo *info ) = 0;
58 
70  virtual ErrorCode AddMediaPIToGraphicFrame( IDataBase * db, UID mediaUID, UID frameUID, bool16 alignComponents = kFalse ) = 0;
71 
81  virtual ErrorCode AlignMediaComponents( UIDRef mediaRef ) = 0;
82 
87  virtual bool16 CanConvertToMediaFrame( UIDRef candidateRef ) = 0;
88 
102  virtual ErrorCode ChangeMediaLocation( UIDRef mediaRef, const MediaLocation & newLocation = MediaLocation(), IMediaReadFormat * readFormat = nil, bool16 customPosterFromMedia = kFalse, bool16 preservePoster = kFalse ) = 0;
103 
127  virtual ErrorCode ChangePoster( UIDRef mediaRef,
128  IMediaAttributes::PosterType newPosterType,
129  const IDFile * posterImageFile = nil,
130  IPMStream * posterFromMediaStream = nil,
131  bool16 customPosterFromMedia = kFalse,
132  int32 posterTime = 0,
133  bool setUndoable=false) = 0;
134 
142  virtual ErrorCode ChangePoster( UIDRef mediaRef, IMediaAttributes::PosterType newPosterType, IPMStream * imageStream ) = 0;
143 
144 
154  virtual ErrorCode CreateMediaPageItem( ClassID classID, IDataBase * db, UID frameUID, UID & outMediaUID ) = 0;
155 
165  virtual ErrorCode CreateMediaPageItem( ClassID classID, IDataBase * db, UID frameUID, PMRect bounds, UID & outMediaUID ) = 0;
166 
179  virtual ErrorCode CreateMediaWithDefaultPoster(ClassID mediaClassID, IDataBase * db, UID & outMediaUID, const ClassID formatClassID = kInvalidClass, IPMStream * mediaImportStream = nil, IURIData* uriData=nil) = 0;
180 
185  virtual IPMStream * CreatePosterLoResReadStream( UIDRef mediaRef ) = 0;
186 
191  virtual PMString ExtractMediaName( const MediaLocation & loc ) = 0;
192 
198  virtual UID FindMediaUID( UIDRef & rootUIDRef ) = 0;
199 
200  virtual UIDRef GetMediaContentRef( const UIDRef & mediaRef ) = 0;
201 
207  virtual UID GetMediaParentUID( IDataBase * db, UID mediaUID ) = 0;
208 
213  virtual UID GetParentGraphicFrameUID( const UIDRef & mediaRef ) = 0;
214 
221  virtual bool16 HasAdornments( UID itemUID, IDataBase * db, IMediaAdornmentInfo *info ) = 0;
222 
229  virtual void InvalidateMediaFrameCaches( IDataBase * db, UID mediaUID ) = 0;
230 
238  virtual bool16 IsMediaItem( ClassID classID, UID itemUID, IDataBase * db ) = 0;
239 
247  virtual bool16 GetExportableMediaFile( UIDRef mediaRef, IDFile & outFile /*, todo: specify export format*/ ) = 0;
248 
257  virtual bool16 GetExportableMediaURL(UIDRef const &mediaRef, PMString &url) const = 0;
258 
264  kAudio = 0,
269  };
270 
277  virtual bool GetInstalledVideoSkins(K2Vector<IDFile> &skins) const = 0;
278 
286  virtual bool ResolveSkinNameToFile(PMString const &skin, IDFile &file) const = 0;
287 
293  virtual bool IsLegacyMediaItem(UIDRef mediaRef) const = 0;
294 
299  virtual IMediaReadFormat* FindMediaReadFormatForClassID( ClassID readFormatClassID ) = 0;
300 
308 
315  virtual IMediaReadFormat* FindMediaReadFormatForStream( MediaType mediaType, IPMStream* iPMStream ) = 0;
316 
325  virtual ErrorCode CanAccess( const MediaLocation & loc, const MediaType mediaType ) = 0;
326 
336  virtual ErrorCode SchedulePlaceMediaFromURL( UIDRef mediaRef, const MediaLocation & loc, bool preserveExistingPoster = false, bool allowDecoding = true ) = 0;
337 
343  virtual ErrorCode SchedulePosterFromMedia( UIDRef mediaRef ) = 0;
344 
349  virtual bool IsFlashOnlyMedia(ILinkResource* iResource) = 0;
350 
354  virtual void GoToAPERemovalURL() = 0;
355 
362  virtual ErrorCode ChangeFlashFormatExtension(UID resourceUID, ILinkManager* iLinkMgr) = 0;
363 
368  virtual bool HasUnsupportedExtension(ILinkResource * iResource) = 0;
369 
370 };
371 
372 #endif // __IMediaUtils_h__
373