Foxit PDF SDK
fs_tabordermgr.h
Go to the documentation of this file.
1 
15 #ifndef FS_TABORDERMGR_H_
16 #define FS_TABORDERMGR_H_
17 
18 #include "common/fs_common.h"
19 #include "pdf/annots/fs_annot.h"
20 #include "pdf/fs_pdfpage.h"
21 
27 namespace foxit {
31 namespace pdf {
54 class TabOrderMgr FS_FINAL : public Base {
55  public:
61  typedef enum _OrderType {
63  e_None = 0x0000,
65  e_Row = 0x0001,
67  e_Column = 0x0002,
69  e_Structure = 0x0003
70  } OrderType;
71 
77  explicit TabOrderMgr(const PDFPage& page);
78 
84  TabOrderMgr(const TabOrderMgr& other);
92  TabOrderMgr& operator = (const TabOrderMgr& other);
93 
101  bool operator == (const TabOrderMgr& other) const;
109  bool operator != (const TabOrderMgr& other) const;
110 
118  bool IsEmpty() const;
120  ~TabOrderMgr();
121 
137  void Reload();
138 
145  OrderType GetOrderType() const;
146 
161  void SetOrderType(OrderType order_type);
162 
170 
178 
189 
200 
218  bool AdjustStructureOrder(const annots::AnnotArray& annot_array);
219 
220  // User is strongly recommended NOT to use this method; otherwise unknown situation may occur.
221  explicit TabOrderMgr(FS_HANDLE handle = NULL);
222 };
223 } // namespace pdf
224 } // namespace foxit
225 #endif // FS_TABORDERMGR_H_
226 
Definition: fs_tabordermgr.h:54
Definition: fs_annot.h:1352
annots::Annot GetPrevAnnot(const annots::Annot &annot)
Get the previous annotation of specified annotation in current tab order.
S (structure order): Annotations are visited in the order in which they appear in the structure tree.
Definition: fs_tabordermgr.h:69
void Reload()
Reload the tab order of annotations.
annots::Annot GetLastAnnot()
Get the last annotation in current tab order.
None (index order): Annotations are visited in annotation's index across the page.
Definition: fs_tabordermgr.h:63
R (row order): Annotations are visited in rows running horizontally across the page.
Definition: fs_tabordermgr.h:65
~TabOrderMgr()
Destructor.
bool AdjustStructureOrder(const annots::AnnotArray &annot_array)
Adjust the structure order with specified annotations, and tab order type will be set to TabOrderMgr:...
bool operator==(const TabOrderMgr &other) const
Equal operator.
Header file for annotation related definitions and classes.
TabOrderMgr & operator=(const TabOrderMgr &other)
Assign operator.
bool operator!=(const TabOrderMgr &other) const
Not equal operator.
OrderType
Enumeration for tab order type.
Definition: fs_tabordermgr.h:61
Definition: fs_pdfpage.h:313
void * FS_HANDLE
Handle type.
Definition: fs_basictypes.h:216
TabOrderMgr(const PDFPage &page)
Constructor, from a PDF page object.
Header file for common definitions and classes.
annots::Annot GetFirstAnnot()
Get the first annotation in current tab order.
bool IsEmpty() const
Check whether current object is empty or not.
Definition: fs_basictypes.h:375
void SetOrderType(OrderType order_type)
Set the tab order type.
Header file for PDF page related definitions and classes.
Definition: fs_annot.h:749
Foxit namespace.
Definition: fs_compare.h:27
OrderType GetOrderType() const
Get the tab order type.
annots::Annot GetNextAnnot(const annots::Annot &annot)
Get the next annotation of specified annotation in current tab order.
#define NULL
The null-pointer value.
Definition: fx_system.h:771
C (column order): Annotations are visited in columns running vertically up and down the page.
Definition: fs_tabordermgr.h:67