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_SRC_FPDFTEXT_TEXT_INT_H_ | 7 #ifndef CORE_SRC_FPDFTEXT_TEXT_INT_H_ |
8 #define CORE_SRC_FPDFTEXT_TEXT_INT_H_ | 8 #define CORE_SRC_FPDFTEXT_TEXT_INT_H_ |
9 | 9 |
10 #include <deque> | 10 #include <deque> |
11 #include <vector> | 11 #include <vector> |
12 | 12 |
| 13 #include "core/include/fpdfapi/fpdf_page.h" |
13 #include "core/include/fpdftext/fpdf_text.h" | 14 #include "core/include/fpdftext/fpdf_text.h" |
14 #include "core/include/fxcrt/fx_basic.h" | 15 #include "core/include/fxcrt/fx_basic.h" |
15 | 16 |
16 class CFX_BidiChar; | 17 class CFX_BidiChar; |
17 class CPDF_DocProgressiveSearch; | 18 class CPDF_DocProgressiveSearch; |
18 class CPDF_FormObject; | 19 class CPDF_FormObject; |
19 class CPDF_LinkExtract; | 20 class CPDF_LinkExtract; |
20 class CPDF_TextPageFind; | 21 class CPDF_TextPageFind; |
21 | 22 |
22 #define FPDFTEXT_CHAR_ERROR -1 | 23 #define FPDFTEXT_CHAR_ERROR -1 |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 private: | 101 private: |
101 FX_BOOL IsHyphen(FX_WCHAR curChar); | 102 FX_BOOL IsHyphen(FX_WCHAR curChar); |
102 bool IsControlChar(const PAGECHAR_INFO& charInfo); | 103 bool IsControlChar(const PAGECHAR_INFO& charInfo); |
103 FX_BOOL GetBaselineRotate(int start, int end, int& Rotate); | 104 FX_BOOL GetBaselineRotate(int start, int end, int& Rotate); |
104 void ProcessObject(); | 105 void ProcessObject(); |
105 void ProcessFormObject(CPDF_FormObject* pFormObj, | 106 void ProcessFormObject(CPDF_FormObject* pFormObj, |
106 const CFX_Matrix& formMatrix); | 107 const CFX_Matrix& formMatrix); |
107 void ProcessTextObject(PDFTEXT_Obj pObj); | 108 void ProcessTextObject(PDFTEXT_Obj pObj); |
108 void ProcessTextObject(CPDF_TextObject* pTextObj, | 109 void ProcessTextObject(CPDF_TextObject* pTextObj, |
109 const CFX_Matrix& formMatrix, | 110 const CFX_Matrix& formMatrix, |
110 FX_POSITION ObjPos); | 111 const CPDF_PageObjectList* pObjList, |
| 112 CPDF_PageObjectList::const_iterator ObjPos); |
111 int ProcessInsertObject(const CPDF_TextObject* pObj, | 113 int ProcessInsertObject(const CPDF_TextObject* pObj, |
112 const CFX_Matrix& formMatrix); | 114 const CFX_Matrix& formMatrix); |
113 FX_BOOL GenerateCharInfo(FX_WCHAR unicode, PAGECHAR_INFO& info); | 115 FX_BOOL GenerateCharInfo(FX_WCHAR unicode, PAGECHAR_INFO& info); |
114 FX_BOOL IsSameAsPreTextObject(CPDF_TextObject* pTextObj, FX_POSITION ObjPos); | 116 FX_BOOL IsSameAsPreTextObject(CPDF_TextObject* pTextObj, |
| 117 const CPDF_PageObjectList* pObjList, |
| 118 CPDF_PageObjectList::const_iterator ObjPos); |
115 FX_BOOL IsSameTextObject(CPDF_TextObject* pTextObj1, | 119 FX_BOOL IsSameTextObject(CPDF_TextObject* pTextObj1, |
116 CPDF_TextObject* pTextObj2); | 120 CPDF_TextObject* pTextObj2); |
117 int GetCharWidth(FX_DWORD charCode, CPDF_Font* pFont) const; | 121 int GetCharWidth(FX_DWORD charCode, CPDF_Font* pFont) const; |
118 void CloseTempLine(); | 122 void CloseTempLine(); |
119 void OnPiece(CFX_BidiChar* pBidi, CFX_WideString& str); | 123 void OnPiece(CFX_BidiChar* pBidi, CFX_WideString& str); |
120 int32_t PreMarkedContent(PDFTEXT_Obj pObj); | 124 int32_t PreMarkedContent(PDFTEXT_Obj pObj); |
121 void ProcessMarkedContent(PDFTEXT_Obj pObj); | 125 void ProcessMarkedContent(PDFTEXT_Obj pObj); |
122 void CheckMarkedContentObject(int32_t& start, int32_t& nCount) const; | 126 void CheckMarkedContentObject(int32_t& start, int32_t& nCount) const; |
123 void FindPreviousTextObject(void); | 127 void FindPreviousTextObject(void); |
124 void AddCharInfoByLRDirection(FX_WCHAR wChar, PAGECHAR_INFO info); | 128 void AddCharInfoByLRDirection(FX_WCHAR wChar, PAGECHAR_INFO info); |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
232 private: | 236 private: |
233 LINK_InfoArray m_LinkList; | 237 LINK_InfoArray m_LinkList; |
234 const CPDF_TextPage* m_pTextPage; | 238 const CPDF_TextPage* m_pTextPage; |
235 CFX_WideString m_strPageText; | 239 CFX_WideString m_strPageText; |
236 bool m_bIsParsed; | 240 bool m_bIsParsed; |
237 }; | 241 }; |
238 | 242 |
239 FX_STRSIZE FX_Unicode_GetNormalization(FX_WCHAR wch, FX_WCHAR* pDst); | 243 FX_STRSIZE FX_Unicode_GetNormalization(FX_WCHAR wch, FX_WCHAR* pDst); |
240 | 244 |
241 #endif // CORE_SRC_FPDFTEXT_TEXT_INT_H_ | 245 #endif // CORE_SRC_FPDFTEXT_TEXT_INT_H_ |
OLD | NEW |