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_TXTPROC_H_ | 7 #ifndef CORE_SRC_FPDFTEXT_TXTPROC_H_ |
8 #define CORE_SRC_FPDFTEXT_TXTPROC_H_ | 8 #define CORE_SRC_FPDFTEXT_TXTPROC_H_ |
9 | 9 |
10 class CTextColumn | 10 class CTextColumn |
(...skipping 15 matching lines...) Expand all Loading... |
26 FX_FLOAT m_FontSizeV; | 26 FX_FLOAT m_FontSizeV; |
27 CTextColumn* m_pColumn; | 27 CTextColumn* m_pColumn; |
28 }; | 28 }; |
29 class CTextBaseLine | 29 class CTextBaseLine |
30 { | 30 { |
31 public: | 31 public: |
32 CTextBaseLine(); | 32 CTextBaseLine(); |
33 ~CTextBaseLine(); | 33 ~CTextBaseLine(); |
34 void InsertTextBox(FX_FLOAT leftx, FX_FLOAT rightx, FX_FLOAT topy, FX
_FLOAT bottomy, | 34 void InsertTextBox(FX_FLOAT leftx, FX_FLOAT rightx, FX_FLOAT topy, FX
_FLOAT bottomy, |
35 FX_FLOAT spacew, FX_FLOAT fontsize_v, const CFX_WideSt
ring& str); | 35 FX_FLOAT spacew, FX_FLOAT fontsize_v, const CFX_WideSt
ring& str); |
36 FX_BOOL» GetWidth(FX_FLOAT& leftx, FX_FLOAT& rightx); | 36 bool» GetWidth(FX_FLOAT& leftx, FX_FLOAT& rightx); |
37 FX_BOOL» CanMerge(CTextBaseLine* pOther); | 37 bool» CanMerge(CTextBaseLine* pOther); |
38 void Merge(CTextBaseLine* pOther); | 38 void Merge(CTextBaseLine* pOther); |
39 void MergeBoxes(); | 39 void MergeBoxes(); |
40 void CountChars(int& count, FX_FLOAT& width, int& minchars); | 40 void CountChars(int& count, FX_FLOAT& width, int& minchars); |
41 void WriteOutput(CFX_WideString& str, FX_FLOAT leftx, FX_FLOAT width,
int iWidth); | 41 void WriteOutput(CFX_WideString& str, FX_FLOAT leftx, FX_FLOAT width,
int iWidth); |
42 FX_FLOAT m_BaseLine; | 42 FX_FLOAT m_BaseLine; |
43 FX_FLOAT m_Top; | 43 FX_FLOAT m_Top; |
44 FX_FLOAT m_Bottom; | 44 FX_FLOAT m_Bottom; |
45 FX_FLOAT m_MaxFontSizeV; | 45 FX_FLOAT m_MaxFontSizeV; |
46 CFX_PtrArray m_TextList; | 46 CFX_PtrArray m_TextList; |
47 }; | 47 }; |
48 class CPDF_PageObject; | 48 class CPDF_PageObject; |
49 class CPDF_TextObject; | 49 class CPDF_TextObject; |
50 class CTextPage | 50 class CTextPage |
51 { | 51 { |
52 public: | 52 public: |
53 CTextPage(); | 53 CTextPage(); |
54 ~CTextPage(); | 54 ~CTextPage(); |
55 void ProcessObject(CPDF_PageObject* pObj); | 55 void ProcessObject(CPDF_PageObject* pObj); |
56 CTextBaseLine* InsertTextBox(CTextBaseLine* pBaseLine, FX_FLOAT basey, FX_FL
OAT leftx, | 56 CTextBaseLine* InsertTextBox(CTextBaseLine* pBaseLine, FX_FLOAT basey, FX_FL
OAT leftx, |
57 FX_FLOAT rightx, FX_FLOAT topy, FX_FLOAT bottom
y, FX_FLOAT spacew, FX_FLOAT fontsize_v, | 57 FX_FLOAT rightx, FX_FLOAT topy, FX_FLOAT bottom
y, FX_FLOAT spacew, FX_FLOAT fontsize_v, |
58 CFX_ByteString& str, CPDF_Font* pFont); | 58 CFX_ByteString& str, CPDF_Font* pFont); |
59 void WriteOutput(CFX_WideStringArray& lines, int iMinWidth); | 59 void WriteOutput(CFX_WideStringArray& lines, int iMinWidth); |
60 FX_BOOL» m_bAutoWidth; | 60 bool» m_bAutoWidth; |
61 FX_BOOL» m_bKeepColumn; | 61 bool» m_bKeepColumn; |
62 FX_BOOL» m_bBreakSpace; | 62 bool» m_bBreakSpace; |
63 FX_BOOL» m_bOCR; | 63 bool» m_bOCR; |
64 private: | 64 private: |
65 CFX_PtrArray m_BaseLines; | 65 CFX_PtrArray m_BaseLines; |
66 CFX_PtrArray m_TextColumns; | 66 CFX_PtrArray m_TextColumns; |
67 void FindColumns(); | 67 void FindColumns(); |
68 CTextColumn* FindColumn(FX_FLOAT xpos); | 68 CTextColumn* FindColumn(FX_FLOAT xpos); |
69 void BreakSpace(CPDF_TextObject* pTextObj); | 69 void BreakSpace(CPDF_TextObject* pTextObj); |
70 }; | 70 }; |
71 | 71 |
72 #endif // CORE_SRC_FPDFTEXT_TXTPROC_H_ | 72 #endif // CORE_SRC_FPDFTEXT_TXTPROC_H_ |
OLD | NEW |