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 "core/include/fpdftext/fpdf_text.h" | 10 #include "core/include/fpdftext/fpdf_text.h" |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 CPDF_TextObject* m_pTextObj; | 47 CPDF_TextObject* m_pTextObj; |
48 CFX_Matrix m_formMatrix; | 48 CFX_Matrix m_formMatrix; |
49 } PDFTEXT_Obj; | 49 } PDFTEXT_Obj; |
50 typedef CFX_ArrayTemplate<PDFTEXT_Obj> LINEOBJ; | 50 typedef CFX_ArrayTemplate<PDFTEXT_Obj> LINEOBJ; |
51 | 51 |
52 class CPDF_TextPage : public IPDF_TextPage { | 52 class CPDF_TextPage : public IPDF_TextPage { |
53 public: | 53 public: |
54 CPDF_TextPage(const CPDF_Page* pPage, int flags); | 54 CPDF_TextPage(const CPDF_Page* pPage, int flags); |
55 ~CPDF_TextPage() override {} | 55 ~CPDF_TextPage() override {} |
56 | 56 |
57 // IPDF_TextPage | 57 // IPDF_TextPage: |
58 FX_BOOL ParseTextPage() override; | 58 FX_BOOL ParseTextPage() override; |
59 void NormalizeObjects(FX_BOOL bNormalize) override; | |
60 bool IsParsed() const override { return m_bIsParsed; } | 59 bool IsParsed() const override { return m_bIsParsed; } |
61 int CharIndexFromTextIndex(int TextIndex) const override; | 60 int CharIndexFromTextIndex(int TextIndex) const override; |
62 int TextIndexFromCharIndex(int CharIndex) const override; | 61 int TextIndexFromCharIndex(int CharIndex) const override; |
63 int CountChars() const override; | 62 int CountChars() const override; |
64 void GetCharInfo(int index, FPDF_CHAR_INFO* info) const override; | 63 void GetCharInfo(int index, FPDF_CHAR_INFO* info) const override; |
65 void GetRectArray(int start, | 64 void GetRectArray(int start, |
66 int nCount, | 65 int nCount, |
67 CFX_RectArray& rectArray) const override; | 66 CFX_RectArray& rectArray) const override; |
68 int GetIndexAtPos(CPDF_Point point, | 67 int GetIndexAtPos(CPDF_Point point, |
69 FX_FLOAT xTolerance, | 68 FX_FLOAT xTolerance, |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 void AddCharInfoByLRDirection(CFX_WideString& str, int i); | 123 void AddCharInfoByLRDirection(CFX_WideString& str, int i); |
125 void AddCharInfoByRLDirection(CFX_WideString& str, int i); | 124 void AddCharInfoByRLDirection(CFX_WideString& str, int i); |
126 int32_t GetTextObjectWritingMode(const CPDF_TextObject* pTextObj); | 125 int32_t GetTextObjectWritingMode(const CPDF_TextObject* pTextObj); |
127 int32_t FindTextlineFlowDirection(); | 126 int32_t FindTextlineFlowDirection(); |
128 | 127 |
129 void SwapTempTextBuf(int32_t iCharListStartAppend, int32_t iBufStartAppend); | 128 void SwapTempTextBuf(int32_t iCharListStartAppend, int32_t iBufStartAppend); |
130 FX_BOOL IsRightToLeft(const CPDF_TextObject* pTextObj, | 129 FX_BOOL IsRightToLeft(const CPDF_TextObject* pTextObj, |
131 const CPDF_Font* pFont, | 130 const CPDF_Font* pFont, |
132 int nItems) const; | 131 int nItems) const; |
133 | 132 |
134 CPDFText_ParseOptions m_ParseOptions; | |
135 CFX_WordArray m_CharIndex; | 133 CFX_WordArray m_CharIndex; |
136 const CPDF_PageObjectList* const m_pPage; | 134 const CPDF_PageObjectList* const m_pPage; |
137 PAGECHAR_InfoArray m_charList; | 135 PAGECHAR_InfoArray m_charList; |
138 CFX_WideTextBuf m_TextBuf; | 136 CFX_WideTextBuf m_TextBuf; |
139 PAGECHAR_InfoArray m_TempCharList; | 137 PAGECHAR_InfoArray m_TempCharList; |
140 CFX_WideTextBuf m_TempTextBuf; | 138 CFX_WideTextBuf m_TempTextBuf; |
141 const int m_parserflag; | 139 const int m_parserflag; |
142 CPDF_TextObject* m_pPreTextObj; | 140 CPDF_TextObject* m_pPreTextObj; |
143 CFX_Matrix m_perMatrix; | 141 CFX_Matrix m_perMatrix; |
144 bool m_bIsParsed; | 142 bool m_bIsParsed; |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
239 | 237 |
240 FX_STRSIZE FX_Unicode_GetNormalization(FX_WCHAR wch, FX_WCHAR* pDst); | 238 FX_STRSIZE FX_Unicode_GetNormalization(FX_WCHAR wch, FX_WCHAR* pDst); |
241 void NormalizeString(CFX_WideString& str); | 239 void NormalizeString(CFX_WideString& str); |
242 void NormalizeCompositeChar(FX_WCHAR wChar, CFX_WideString& sDest); | 240 void NormalizeCompositeChar(FX_WCHAR wChar, CFX_WideString& sDest); |
243 void GetTextStream_Unicode(CFX_WideTextBuf& buffer, | 241 void GetTextStream_Unicode(CFX_WideTextBuf& buffer, |
244 CPDF_PageObjectList* pPage, | 242 CPDF_PageObjectList* pPage, |
245 FX_BOOL bUseLF, | 243 FX_BOOL bUseLF, |
246 CFX_PtrArray* pObjArray); | 244 CFX_PtrArray* pObjArray); |
247 | 245 |
248 #endif // CORE_SRC_FPDFTEXT_TEXT_INT_H_ | 246 #endif // CORE_SRC_FPDFTEXT_TEXT_INT_H_ |
OLD | NEW |