All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Highlights.h
Go to the documentation of this file.
1 //---------------------------------------------------------------------------------------
2 // Copyright (c) 2001-2020 by PDFTron Systems Inc. All Rights Reserved.
3 // Consult legal.txt regarding legal and license information.
4 //---------------------------------------------------------------------------------------
5 #ifndef PDFTRON_H_CPPHighlights
6 #define PDFTRON_H_CPPHighlights
7 
8 #include <Common/UString.h>
9 #include <C/PDF/TRN_Highlights.h>
10 
11 namespace pdftron {
12  namespace PDF {
13 
14 struct Highlight
15 {
17  {
18  page_num = 0; //invalid
19  position = 0;
20  length = 0;
21  }
22 
23  Highlight(int pg, int pos, int len) : page_num(pg), position(pos), length(len)
24  {}
25 
27  {}
28 
29  int page_num;
30  int position;
31  int length;
32 };
33 
68 class Highlights
69 {
70  friend class PDFView;
71  friend class PDFViewCtrl;
72  friend class TextSearch;
73 public:
74 
79  Highlights();
80  ~Highlights();
84  Highlights(const Highlights& hlts);
85 
89  Highlights& operator = ( const Highlights& hlts );
90 
97  void Load( const UString& file_name );
98 
104  void Save( const UString& file_name );
105 
111  void Add( const Highlights& hlts );
112 
116  void Clear();
117 
126  void Begin(PDFDoc& doc);
127 
131  bool HasNext() const;
132 
136  void Next();
137 
141  int GetCurrentPageNumber() const;
142 
156  std::vector<QuadPoint> GetCurrentQuads() const;
157 
158 #ifndef SWIG
159  int GetCurrentQuads(const double* &quads) const;
160 #endif
161 
165  void Destroy();
166 
167 
168  //for xamarin use only
169  static Highlights* CreateInternal(ptrdiff_t impl);
170  ptrdiff_t GetHandleInternal();
171 
172 #ifndef SWIGHIDDEN
173 
174 //private:
175  TRN_Highlights mp_highlights;
176  //for xamarin use only
177  Highlights(TRN_Highlights impl) : mp_highlights(impl) {}
178 #endif
179 };
180 
181 
182 #include <Impl/Highlights.inl>
183 
184  } // namespace PDF
185 } // namespace pdftron
186 
187 #endif // PDFTRON_H_CPPHighlights
std::vector< QuadPoint > GetCurrentQuads() const
TRN_Highlights mp_highlights
Definition: Highlights.h:175
void Save(const UString &file_name)
ptrdiff_t GetHandleInternal()
Highlight(const Highlight &hlt)
Definition: Highlights.h:26
static Highlights * CreateInternal(ptrdiff_t impl)
pdftron::PDF::Highlight Highlight
Definition: Highlights.h:75
void Load(const UString &file_name)
void Add(const Highlights &hlts)
int GetCurrentPageNumber() const
Highlight(int pg, int pos, int len)
Definition: Highlights.h:23
void Begin(PDFDoc &doc)
Highlights(TRN_Highlights impl)
Definition: Highlights.h:177
Highlights & operator=(const Highlights &hlts)