Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(410)

Side by Side Diff: core/src/fpdftext/text_int.h

Issue 1513363002: Remove CFX_AffineMatrix/CPDF_Matrix (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Nits Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « core/src/fpdftext/fpdf_text_search.cpp ('k') | core/src/fxge/agg/include/fx_agg_driver.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 16 matching lines...) Expand all
27 #define FPDFTEXT_MC_DELAY 2 27 #define FPDFTEXT_MC_DELAY 2
28 28
29 typedef struct _PAGECHAR_INFO { 29 typedef struct _PAGECHAR_INFO {
30 int m_CharCode; 30 int m_CharCode;
31 FX_WCHAR m_Unicode; 31 FX_WCHAR m_Unicode;
32 FX_FLOAT m_OriginX; 32 FX_FLOAT m_OriginX;
33 FX_FLOAT m_OriginY; 33 FX_FLOAT m_OriginY;
34 int32_t m_Flag; 34 int32_t m_Flag;
35 CFX_FloatRect m_CharBox; 35 CFX_FloatRect m_CharBox;
36 CPDF_TextObject* m_pTextObj; 36 CPDF_TextObject* m_pTextObj;
37 CFX_AffineMatrix m_Matrix; 37 CFX_Matrix m_Matrix;
38 int m_Index; 38 int m_Index;
39 } PAGECHAR_INFO; 39 } PAGECHAR_INFO;
40 typedef CFX_SegmentedArray<PAGECHAR_INFO> PAGECHAR_InfoArray; 40 typedef CFX_SegmentedArray<PAGECHAR_INFO> PAGECHAR_InfoArray;
41 typedef struct { 41 typedef struct {
42 int m_Start; 42 int m_Start;
43 int m_nCount; 43 int m_nCount;
44 } FPDF_SEGMENT; 44 } FPDF_SEGMENT;
45 typedef CFX_ArrayTemplate<FPDF_SEGMENT> SEGMENT_Array; 45 typedef CFX_ArrayTemplate<FPDF_SEGMENT> SEGMENT_Array;
46 typedef struct { 46 typedef struct {
47 CPDF_TextObject* m_pTextObj; 47 CPDF_TextObject* m_pTextObj;
48 CFX_AffineMatrix 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;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 static FX_BOOL IsRectIntersect(const CFX_FloatRect& rect1, 96 static FX_BOOL IsRectIntersect(const CFX_FloatRect& rect1,
97 const CFX_FloatRect& rect2); 97 const CFX_FloatRect& rect2);
98 static FX_BOOL IsLetter(FX_WCHAR unicode); 98 static FX_BOOL IsLetter(FX_WCHAR unicode);
99 99
100 private: 100 private:
101 FX_BOOL IsHyphen(FX_WCHAR curChar); 101 FX_BOOL IsHyphen(FX_WCHAR curChar);
102 bool IsControlChar(const PAGECHAR_INFO& charInfo); 102 bool IsControlChar(const PAGECHAR_INFO& charInfo);
103 FX_BOOL GetBaselineRotate(int start, int end, int& Rotate); 103 FX_BOOL GetBaselineRotate(int start, int end, int& Rotate);
104 void ProcessObject(); 104 void ProcessObject();
105 void ProcessFormObject(CPDF_FormObject* pFormObj, 105 void ProcessFormObject(CPDF_FormObject* pFormObj,
106 const CFX_AffineMatrix& formMatrix); 106 const CFX_Matrix& formMatrix);
107 void ProcessTextObject(PDFTEXT_Obj pObj); 107 void ProcessTextObject(PDFTEXT_Obj pObj);
108 void ProcessTextObject(CPDF_TextObject* pTextObj, 108 void ProcessTextObject(CPDF_TextObject* pTextObj,
109 const CFX_AffineMatrix& formMatrix, 109 const CFX_Matrix& formMatrix,
110 FX_POSITION ObjPos); 110 FX_POSITION ObjPos);
111 int ProcessInsertObject(const CPDF_TextObject* pObj, 111 int ProcessInsertObject(const CPDF_TextObject* pObj,
112 const CFX_AffineMatrix& formMatrix); 112 const CFX_Matrix& formMatrix);
113 FX_BOOL GenerateCharInfo(FX_WCHAR unicode, PAGECHAR_INFO& info); 113 FX_BOOL GenerateCharInfo(FX_WCHAR unicode, PAGECHAR_INFO& info);
114 FX_BOOL IsSameAsPreTextObject(CPDF_TextObject* pTextObj, FX_POSITION ObjPos); 114 FX_BOOL IsSameAsPreTextObject(CPDF_TextObject* pTextObj, FX_POSITION ObjPos);
115 FX_BOOL IsSameTextObject(CPDF_TextObject* pTextObj1, 115 FX_BOOL IsSameTextObject(CPDF_TextObject* pTextObj1,
116 CPDF_TextObject* pTextObj2); 116 CPDF_TextObject* pTextObj2);
117 int GetCharWidth(FX_DWORD charCode, CPDF_Font* pFont) const; 117 int GetCharWidth(FX_DWORD charCode, CPDF_Font* pFont) const;
118 void CloseTempLine(); 118 void CloseTempLine();
119 void OnPiece(CFX_BidiChar* pBidi, CFX_WideString& str); 119 void OnPiece(CFX_BidiChar* pBidi, CFX_WideString& str);
120 int32_t PreMarkedContent(PDFTEXT_Obj pObj); 120 int32_t PreMarkedContent(PDFTEXT_Obj pObj);
121 void ProcessMarkedContent(PDFTEXT_Obj pObj); 121 void ProcessMarkedContent(PDFTEXT_Obj pObj);
122 void CheckMarkedContentObject(int32_t& start, int32_t& nCount) const; 122 void CheckMarkedContentObject(int32_t& start, int32_t& nCount) const;
123 void FindPreviousTextObject(void); 123 void FindPreviousTextObject(void);
124 void AddCharInfoByLRDirection(CFX_WideString& str, int i); 124 void AddCharInfoByLRDirection(CFX_WideString& str, int i);
125 void AddCharInfoByRLDirection(CFX_WideString& str, int i); 125 void AddCharInfoByRLDirection(CFX_WideString& str, int i);
126 int32_t GetTextObjectWritingMode(const CPDF_TextObject* pTextObj); 126 int32_t GetTextObjectWritingMode(const CPDF_TextObject* pTextObj);
127 int32_t FindTextlineFlowDirection(); 127 int32_t FindTextlineFlowDirection();
128 void SwapTempTextBuf(int32_t iCharListStartAppend, int32_t iBufStartAppend); 128 void SwapTempTextBuf(int32_t iCharListStartAppend, int32_t iBufStartAppend);
129 FX_BOOL IsRightToLeft(const CPDF_TextObject* pTextObj, 129 FX_BOOL IsRightToLeft(const CPDF_TextObject* pTextObj,
130 const CPDF_Font* pFont, 130 const CPDF_Font* pFont,
131 int nItems) const; 131 int nItems) const;
132 132
133 CPDFText_ParseOptions m_ParseOptions; 133 CPDFText_ParseOptions m_ParseOptions;
134 CFX_WordArray m_CharIndex; 134 CFX_WordArray m_CharIndex;
135 const CPDF_PageObjects* const m_pPage; 135 const CPDF_PageObjects* const m_pPage;
136 PAGECHAR_InfoArray m_charList; 136 PAGECHAR_InfoArray m_charList;
137 CFX_WideTextBuf m_TextBuf; 137 CFX_WideTextBuf m_TextBuf;
138 PAGECHAR_InfoArray m_TempCharList; 138 PAGECHAR_InfoArray m_TempCharList;
139 CFX_WideTextBuf m_TempTextBuf; 139 CFX_WideTextBuf m_TempTextBuf;
140 const int m_parserflag; 140 const int m_parserflag;
141 CPDF_TextObject* m_pPreTextObj; 141 CPDF_TextObject* m_pPreTextObj;
142 CFX_AffineMatrix m_perMatrix; 142 CFX_Matrix m_perMatrix;
143 bool m_bIsParsed; 143 bool m_bIsParsed;
144 CFX_AffineMatrix m_DisplayMatrix; 144 CFX_Matrix m_DisplayMatrix;
145 SEGMENT_Array m_Segment; 145 SEGMENT_Array m_Segment;
146 CFX_RectArray m_SelRects; 146 CFX_RectArray m_SelRects;
147 LINEOBJ m_LineObj; 147 LINEOBJ m_LineObj;
148 int32_t m_TextlineDir; 148 int32_t m_TextlineDir;
149 CFX_FloatRect m_CurlineRect; 149 CFX_FloatRect m_CurlineRect;
150 }; 150 };
151 151
152 class CPDF_TextPageFind : public IPDF_TextPageFind { 152 class CPDF_TextPageFind : public IPDF_TextPageFind {
153 public: 153 public:
154 explicit CPDF_TextPageFind(const IPDF_TextPage* pTextPage); 154 explicit CPDF_TextPageFind(const IPDF_TextPage* pTextPage);
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 238
239 FX_STRSIZE FX_Unicode_GetNormalization(FX_WCHAR wch, FX_WCHAR* pDst); 239 FX_STRSIZE FX_Unicode_GetNormalization(FX_WCHAR wch, FX_WCHAR* pDst);
240 void NormalizeString(CFX_WideString& str); 240 void NormalizeString(CFX_WideString& str);
241 void NormalizeCompositeChar(FX_WCHAR wChar, CFX_WideString& sDest); 241 void NormalizeCompositeChar(FX_WCHAR wChar, CFX_WideString& sDest);
242 void GetTextStream_Unicode(CFX_WideTextBuf& buffer, 242 void GetTextStream_Unicode(CFX_WideTextBuf& buffer,
243 CPDF_PageObjects* pPage, 243 CPDF_PageObjects* pPage,
244 FX_BOOL bUseLF, 244 FX_BOOL bUseLF,
245 CFX_PtrArray* pObjArray); 245 CFX_PtrArray* pObjArray);
246 246
247 #endif // CORE_SRC_FPDFTEXT_TEXT_INT_H_ 247 #endif // CORE_SRC_FPDFTEXT_TEXT_INT_H_
OLDNEW
« no previous file with comments | « core/src/fpdftext/fpdf_text_search.cpp ('k') | core/src/fxge/agg/include/fx_agg_driver.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698