OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef CORE_INCLUDE_FPDFTEXT_FPDF_TEXT_H_ | 7 #ifndef CORE_INCLUDE_FPDFTEXT_FPDF_TEXT_H_ |
8 #define CORE_INCLUDE_FPDFTEXT_FPDF_TEXT_H_ | 8 #define CORE_INCLUDE_FPDFTEXT_FPDF_TEXT_H_ |
9 | 9 |
10 #include "core/include/fpdfapi/fpdf_parser.h" | 10 #include "core/include/fpdfapi/fpdf_parser.h" |
11 | 11 |
12 class CPDF_Page; | 12 class CPDF_Page; |
13 class CPDF_PageObjectList; | |
14 class CPDF_TextObject; | 13 class CPDF_TextObject; |
15 class IPDF_LinkExtract; | 14 class IPDF_LinkExtract; |
16 class IPDF_ReflowedPage; | 15 class IPDF_ReflowedPage; |
17 class IPDF_TextPage; | 16 class IPDF_TextPage; |
18 class IPDF_TextPageFind; | 17 class IPDF_TextPageFind; |
19 | 18 |
20 #define CHAR_ERROR -1 | 19 #define CHAR_ERROR -1 |
21 #define CHAR_NORMAL 0 | 20 #define CHAR_NORMAL 0 |
22 #define CHAR_GENERATED 1 | 21 #define CHAR_GENERATED 1 |
23 #define CHAR_UNUNICODE 2 | 22 #define CHAR_UNUNICODE 2 |
(...skipping 19 matching lines...) Expand all Loading... |
43 #define FPDFTEXT_RIGHT 1 | 42 #define FPDFTEXT_RIGHT 1 |
44 #define FPDFTEXT_UP -2 | 43 #define FPDFTEXT_UP -2 |
45 #define FPDFTEXT_DOWN 2 | 44 #define FPDFTEXT_DOWN 2 |
46 | 45 |
47 class IPDF_TextPage { | 46 class IPDF_TextPage { |
48 public: | 47 public: |
49 static IPDF_TextPage* CreateTextPage(const CPDF_Page* pPage, int flags = 0); | 48 static IPDF_TextPage* CreateTextPage(const CPDF_Page* pPage, int flags = 0); |
50 static IPDF_TextPage* CreateReflowTextPage(IPDF_ReflowedPage* pRefPage); | 49 static IPDF_TextPage* CreateReflowTextPage(IPDF_ReflowedPage* pRefPage); |
51 virtual ~IPDF_TextPage() {} | 50 virtual ~IPDF_TextPage() {} |
52 | 51 |
53 virtual FX_BOOL ParseTextPage() = 0; | 52 virtual void ParseTextPage() = 0; |
54 virtual bool IsParsed() const = 0; | 53 virtual bool IsParsed() const = 0; |
55 virtual int CharIndexFromTextIndex(int TextIndex) const = 0; | 54 virtual int CharIndexFromTextIndex(int TextIndex) const = 0; |
56 virtual int TextIndexFromCharIndex(int CharIndex) const = 0; | 55 virtual int TextIndexFromCharIndex(int CharIndex) const = 0; |
57 virtual int CountChars() const = 0; | 56 virtual int CountChars() const = 0; |
58 virtual void GetCharInfo(int index, FPDF_CHAR_INFO* info) const = 0; | 57 virtual void GetCharInfo(int index, FPDF_CHAR_INFO* info) const = 0; |
59 virtual void GetRectArray(int start, | 58 virtual void GetRectArray(int start, |
60 int nCount, | 59 int nCount, |
61 CFX_RectArray& rectArray) const = 0; | 60 CFX_RectArray& rectArray) const = 0; |
62 virtual int GetIndexAtPos(CPDF_Point point, | 61 virtual int GetIndexAtPos(CPDF_Point point, |
63 FX_FLOAT xTolerance, | 62 FX_FLOAT xTolerance, |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 virtual ~IPDF_LinkExtract() {} | 111 virtual ~IPDF_LinkExtract() {} |
113 | 112 |
114 virtual FX_BOOL ExtractLinks(const IPDF_TextPage* pTextPage) = 0; | 113 virtual FX_BOOL ExtractLinks(const IPDF_TextPage* pTextPage) = 0; |
115 virtual int CountLinks() const = 0; | 114 virtual int CountLinks() const = 0; |
116 virtual CFX_WideString GetURL(int index) const = 0; | 115 virtual CFX_WideString GetURL(int index) const = 0; |
117 virtual void GetBoundedSegment(int index, int& start, int& count) const = 0; | 116 virtual void GetBoundedSegment(int index, int& start, int& count) const = 0; |
118 virtual void GetRects(int index, CFX_RectArray& rects) const = 0; | 117 virtual void GetRects(int index, CFX_RectArray& rects) const = 0; |
119 }; | 118 }; |
120 | 119 |
121 #endif // CORE_INCLUDE_FPDFTEXT_FPDF_TEXT_H_ | 120 #endif // CORE_INCLUDE_FPDFTEXT_FPDF_TEXT_H_ |
OLD | NEW |