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

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

Issue 1519693002: Merge to XFA: Remove CFX_AffineMatrix/CPDF_Matrix (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: XFA-specific changes 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
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;
(...skipping 10 matching lines...) Expand all
133 133
134 CPDFText_ParseOptions m_ParseOptions; 134 CPDFText_ParseOptions m_ParseOptions;
135 CFX_WordArray m_CharIndex; 135 CFX_WordArray m_CharIndex;
136 const CPDF_PageObjects* const m_pPage; 136 const CPDF_PageObjects* const m_pPage;
137 PAGECHAR_InfoArray m_charList; 137 PAGECHAR_InfoArray m_charList;
138 CFX_WideTextBuf m_TextBuf; 138 CFX_WideTextBuf m_TextBuf;
139 PAGECHAR_InfoArray m_TempCharList; 139 PAGECHAR_InfoArray m_TempCharList;
140 CFX_WideTextBuf m_TempTextBuf; 140 CFX_WideTextBuf m_TempTextBuf;
141 const int m_parserflag; 141 const int m_parserflag;
142 CPDF_TextObject* m_pPreTextObj; 142 CPDF_TextObject* m_pPreTextObj;
143 CFX_AffineMatrix m_perMatrix; 143 CFX_Matrix m_perMatrix;
144 bool m_bIsParsed; 144 bool m_bIsParsed;
145 CFX_AffineMatrix m_DisplayMatrix; 145 CFX_Matrix m_DisplayMatrix;
146 SEGMENT_Array m_Segment; 146 SEGMENT_Array m_Segment;
147 CFX_RectArray m_SelRects; 147 CFX_RectArray m_SelRects;
148 LINEOBJ m_LineObj; 148 LINEOBJ m_LineObj;
149 int32_t m_TextlineDir; 149 int32_t m_TextlineDir;
150 CFX_FloatRect m_CurlineRect; 150 CFX_FloatRect m_CurlineRect;
151 }; 151 };
152 152
153 class CPDF_TextPageFind : public IPDF_TextPageFind { 153 class CPDF_TextPageFind : public IPDF_TextPageFind {
154 public: 154 public:
155 explicit CPDF_TextPageFind(const IPDF_TextPage* pTextPage); 155 explicit CPDF_TextPageFind(const IPDF_TextPage* pTextPage);
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 239
240 FX_STRSIZE FX_Unicode_GetNormalization(FX_WCHAR wch, FX_WCHAR* pDst); 240 FX_STRSIZE FX_Unicode_GetNormalization(FX_WCHAR wch, FX_WCHAR* pDst);
241 void NormalizeString(CFX_WideString& str); 241 void NormalizeString(CFX_WideString& str);
242 void NormalizeCompositeChar(FX_WCHAR wChar, CFX_WideString& sDest); 242 void NormalizeCompositeChar(FX_WCHAR wChar, CFX_WideString& sDest);
243 void GetTextStream_Unicode(CFX_WideTextBuf& buffer, 243 void GetTextStream_Unicode(CFX_WideTextBuf& buffer,
244 CPDF_PageObjects* pPage, 244 CPDF_PageObjects* pPage,
245 FX_BOOL bUseLF, 245 FX_BOOL bUseLF,
246 CFX_PtrArray* pObjArray); 246 CFX_PtrArray* pObjArray);
247 247
248 #endif // CORE_SRC_FPDFTEXT_TEXT_INT_H_ 248 #endif // CORE_SRC_FPDFTEXT_TEXT_INT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698