InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IStructureMarks.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Steve Flenniken
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 __ISTRUCTUREMARKS__
25 #define __ISTRUCTUREMARKS__
26 
27 #include "BravoForwardDecl.h"
28 
29 class IDocument;
30 class ICompositionStyle;
31 class IStyleInfo;
32 class IDrawingStyle;
33 class IWaxLine;
34 class IPDFFlattenerParams;
35 class PMRect;
36 class PMMatrix;
37 class IWaxRun;
39 
40 #include "LanguageID.h"
41 #include "IPDFHyperlinks.h"
42 #include "PDFID.h"
43 
44 typedef struct _t_PDDoc *PDDoc;
45 typedef struct _t_PDPage *PDPage;
46 typedef struct _t_PDEElement *PDEElement;
47 typedef struct OPAQUE_64_BITS CosObj;
48 
55 {
56  public:
57  enum { kDefaultIID = IID_ISTRUCTUREMARKS };
58 
63  {
65  kBodyRow = 0,
70  };
71 
75  enum ListType
76  {
78  kNone = 0,
83  };
84 
92  virtual ErrorCode BeginBook(int32 docInfoIndex, DocPageIndexList docIndexList, bool16 readerSpreads) = 0;
98  virtual ErrorCode EndBook() = 0;
99 
105  virtual ErrorCode BeginDocument(IDataBase *db) = 0;
111  virtual ErrorCode EndDocument() = 0;
112 
119  virtual ErrorCode BeginPage(int32 indexPageInfo, UID pageUID) = 0;
125  virtual ErrorCode EndPage() = 0;
126 
131  virtual ErrorCode BeginNestedContent() = 0;
137  virtual ErrorCode EndNestedContent() = 0;
138 
144  virtual ErrorCode BeginTextFrame(const IMultiColumnTextFrame* mcFrame) = 0;
151  virtual ErrorCode EndTextFrame(const IMultiColumnTextFrame* mcFrame) = 0;
152 
167  virtual ErrorCode BeginParagraph(ICompositionStyle *compositionStyle, IWaxLine *waxLine, const IWaxRun* waxRun, IStyleInfo *styleInfo, IDrawingStyle *drawingStyle,
168  IStructureMarks::ListType listType = IStructureMarks::kNone, int32 listLevel = 0, bool isStartWithEndnote = false, UID endnoteUID = kInvalidUID) = 0;
169 
174  virtual ErrorCode BeginHyperlink() = 0;
180  virtual ErrorCode AddLinkAnnotation(int32 annotation) = 0;
186  virtual ErrorCode EndHyperlink() = 0;
187 
198  virtual ErrorCode BeginTextRun(IWaxRun *waxRun, IDrawingStyle *drawingStyle, LanguageID languageID, bool32 oneCharSpan, textchar oneChar, UID paragraphStyleUID) = 0;
204  virtual ErrorCode AddTextElement(int32 element) = 0;
210  virtual ErrorCode EndTextRun() = 0;
211 
217  virtual ErrorCode BeginFigure() = 0;
225  virtual ErrorCode EndFigure(IDataBase *db, UID pageItemUID) = 0;
226 
235  virtual ErrorCode BeginTableFrame(PMRect &bbox, bool32 firstTableFrame, bool32 oneFrameTable) = 0;
248  virtual ErrorCode BeginTableCell(int32 spanWidth, int32 spanHeight) = 0;
257  virtual ErrorCode EndTableFrame(bool32 lastTableFrame, IDataBase *db, UID pageItemUID) = 0;
258 
265  virtual void BeginPageItemDrawing(IPMUnknown *pageItem, const PMMatrix &matrix) = 0;
272  virtual void EndPageItemDrawing(IPMUnknown *pageItem) = 0;
273 
279  virtual void BeginArtifacts() = 0;
285  virtual void EndArtifacts() = 0;
286 
291  virtual ErrorCode BeginLayer(CosObj layerInfo) = 0;
297  virtual ErrorCode EndLayer() = 0;
298 
303  virtual bool32 RecordingStructure() = 0;
304 
309  virtual bool32 RecordingHyperlinks() = 0;
310 
315  virtual ErrorCode BeginFootnoteReference() = 0;
321  virtual ErrorCode EndFootnoteReference() = 0;
322 
327  virtual ErrorCode BeginEndnoteReference() = 0;
333  virtual ErrorCode EndEndnoteReference() = 0;
334 
339  virtual ErrorCode BeginFootnote() = 0;
345  virtual ErrorCode EndFootnote() = 0;
346 
351  virtual ErrorCode BeginTableCellHyperlink() = 0;
352 
358  virtual void SetTagIndexOnce(bool16 setValue) = 0;
359 
364  virtual void BeginAnchoredObject(IDataBase* db, UID pageItemUID) = 0;
365 
371  virtual void EndAnchoredObject(IDataBase* db, UID pagetItemUID) = 0;
372 
373 
378  virtual ErrorCode BeginEndnote() = 0;
379 
385  virtual ErrorCode EndEndnote() = 0;
386 
391  virtual bool IsEndnoteRun() = 0;
392 
398  virtual void AddAnchoredObjectMarker(const IPMUnknown *inlineData, TextIndex textIndex) = 0;
399 
405  virtual ErrorCode AddEndnoteLinkAnnotation(int32 annotation) = 0;
406 
407 };
408 #endif