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

Side by Side Diff: core/src/reflow/reflowedpage.h

Issue 1088733002: Kill CFX_Object. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Rebase. Created 5 years, 8 months 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/reflow/layoutprovider_taggedpdf.h ('k') | fpdfsdk/include/fsdk_baseannot.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 _REFLOWED_PAGE_H 7 #ifndef _REFLOWED_PAGE_H
8 #define _REFLOWED_PAGE_H 8 #define _REFLOWED_PAGE_H
9 #include "../../include/reflow/reflowengine.h" 9 #include "../../include/reflow/reflowengine.h"
10 #define GET_SIGNED(a) ( (a)>0 ? a/a : (a==0 ? 0 : -a/a) ) 10 #define GET_SIGNED(a) ( (a)>0 ? a/a : (a==0 ? 0 : -a/a) )
11 class CRF_Data; 11 class CRF_Data;
12 class CRF_LineData; 12 class CRF_LineData;
13 class CRF_CharData; 13 class CRF_CharData;
14 class CRF_PathData; 14 class CRF_PathData;
15 class CRF_ImageData; 15 class CRF_ImageData;
16 class CRF_Table; 16 class CRF_Table;
17 class CRF_AttrOperation; 17 class CRF_AttrOperation;
18 class CRF_OperationDate; 18 class CRF_OperationDate;
19 class CPDF_ReflowedPage; 19 class CPDF_ReflowedPage;
20 class CPDF_Rect; 20 class CPDF_Rect;
21 class CFX_Object;
22 typedef CFX_SegmentedArray<CRF_Data*> CRF_DataPtrArray; 21 typedef CFX_SegmentedArray<CRF_Data*> CRF_DataPtrArray;
23 class CRF_CharState; 22 class CRF_CharState;
24 typedef CFX_SegmentedArray<CRF_CharState> CRF_CharStateArray; 23 typedef CFX_SegmentedArray<CRF_CharState> CRF_CharStateArray;
25 #define SST_GE 1 24 #define SST_GE 1
26 #define SST_BLSE 2 25 #define SST_BLSE 2
27 #define SST_ILSE 3 26 #define SST_ILSE 3
28 #define SST_IE 4 27 #define SST_IE 4
29 class CPDF_LayoutProcessor_Reflow : public IPDF_LayoutProcessor, public CFX_Obje ct 28 class CPDF_LayoutProcessor_Reflow : public IPDF_LayoutProcessor
30 { 29 {
31 public: 30 public:
32 CPDF_LayoutProcessor_Reflow(); 31 CPDF_LayoutProcessor_Reflow();
33 ~CPDF_LayoutProcessor_Reflow(); 32 ~CPDF_LayoutProcessor_Reflow();
34 void Init(FX_FLOAT TopIndent, FX_FLOAT fWidth, FX_FLOAT fHeight, CPDF_Reflow edPage* pReflowedPage, int flags, FX_FLOAT lineSpace); 33 void Init(FX_FLOAT TopIndent, FX_FLOAT fWidth, FX_FLOAT fHeight, CPDF_Reflow edPage* pReflowedPage, int flags, FX_FLOAT lineSpace);
35 34
36 LayoutStatus StartProcess(IPDF_LayoutElement* pElement, IFX_Pause* pP ause, const CFX_AffineMatrix* pPDFMatrix = NULL); 35 LayoutStatus StartProcess(IPDF_LayoutElement* pElement, IFX_Pause* pP ause, const CFX_AffineMatrix* pPDFMatrix = NULL);
37 LayoutStatus Continue(); 36 LayoutStatus Continue();
38 int GetPosition(); 37 int GetPosition();
39 protected: 38 protected:
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 FX_FLOAT m_PosX; 98 FX_FLOAT m_PosX;
100 FX_FLOAT m_PosY; 99 FX_FLOAT m_PosY;
101 FX_FLOAT m_CellWidth; 100 FX_FLOAT m_CellWidth;
102 FX_FLOAT m_CellHeight; 101 FX_FLOAT m_CellHeight;
103 int m_RowSpan; 102 int m_RowSpan;
104 int m_ColSpan; 103 int m_ColSpan;
105 LayoutEnum m_BlockAlign; 104 LayoutEnum m_BlockAlign;
106 LayoutEnum m_InlineAlign; 105 LayoutEnum m_InlineAlign;
107 }; 106 };
108 typedef CFX_ArrayTemplate<RF_TableCell*> CRF_TableCellArray; 107 typedef CFX_ArrayTemplate<RF_TableCell*> CRF_TableCellArray;
109 class CRF_Table : public CFX_Object 108 class CRF_Table
110 { 109 {
111 public: 110 public:
112 CRF_Table() 111 CRF_Table()
113 { 112 {
114 m_TableWidth = 0; 113 m_TableWidth = 0;
115 m_nCol = 0; 114 m_nCol = 0;
116 } 115 }
117 CRF_TableCellArray m_pCellArray; 116 CRF_TableCellArray m_pCellArray;
118 CFX_WordArray m_nCell; 117 CFX_WordArray m_nCell;
119 int m_nCol; 118 int m_nCol;
120 FX_FLOAT m_TableWidth; 119 FX_FLOAT m_TableWidth;
121 FX_FLOAT m_ReflowPageHeight; 120 FX_FLOAT m_ReflowPageHeight;
122 }; 121 };
123 class CRF_CharState : public CFX_Object 122 class CRF_CharState
124 { 123 {
125 public: 124 public:
126 CPDF_Font* m_pFont; 125 CPDF_Font* m_pFont;
127 FX_ARGB m_Color; 126 FX_ARGB m_Color;
128 FX_BOOL m_bVert; 127 FX_BOOL m_bVert;
129 FX_FLOAT m_fFontSize; 128 FX_FLOAT m_fFontSize;
130 FX_FLOAT m_fAscent; 129 FX_FLOAT m_fAscent;
131 FX_FLOAT m_fDescent; 130 FX_FLOAT m_fDescent;
132 131
133 CPDF_TextObject* m_pTextObj; 132 CPDF_TextObject* m_pTextObj;
134 }; 133 };
135 class CRF_PageInfo : public CFX_Object 134 class CRF_PageInfo
136 { 135 {
137 public: 136 public:
138 CRF_PageInfo(CPDF_PageObject* pPageObj, CRF_PageInfo* pParent = NULL) 137 CRF_PageInfo(CPDF_PageObject* pPageObj, CRF_PageInfo* pParent = NULL)
139 : m_pPageObj(pPageObj) , m_pParent(pParent) 138 : m_pPageObj(pPageObj) , m_pParent(pParent)
140 { 139 {
141 } 140 }
142 CPDF_PageObject* GetPageObj() 141 CPDF_PageObject* GetPageObj()
143 { 142 {
144 return m_pPageObj; 143 return m_pPageObj;
145 } 144 }
146 CPDF_Dictionary* GetFormDict() 145 CPDF_Dictionary* GetFormDict()
147 { 146 {
148 if (NULL == m_pParent) { 147 if (NULL == m_pParent) {
149 return NULL; 148 return NULL;
150 } 149 }
151 CPDF_PageObject* pParentObj = m_pParent->GetPageObj(); 150 CPDF_PageObject* pParentObj = m_pParent->GetPageObj();
152 if (NULL == pParentObj || PDFPAGE_FORM != pParentObj->m_Type) { 151 if (NULL == pParentObj || PDFPAGE_FORM != pParentObj->m_Type) {
153 return NULL; 152 return NULL;
154 } 153 }
155 return ((CPDF_FormObject*)pParentObj)->m_pForm->m_pResources; 154 return ((CPDF_FormObject*)pParentObj)->m_pForm->m_pResources;
156 } 155 }
157 protected: 156 protected:
158 CPDF_PageObject* m_pPageObj; 157 CPDF_PageObject* m_pPageObj;
159 CRF_PageInfo* m_pParent; 158 CRF_PageInfo* m_pParent;
160 }; 159 };
161 class CPDF_ReflowedPage : public IPDF_ReflowedPage, public CFX_PrivateData, publ ic CFX_Object 160 class CPDF_ReflowedPage : public IPDF_ReflowedPage, public CFX_PrivateData
162 { 161 {
163 public: 162 public:
164 163
165 CPDF_ReflowedPage(CFX_GrowOnlyPool* pMemoryPool); 164 CPDF_ReflowedPage(CFX_GrowOnlyPool* pMemoryPool);
166 ~CPDF_ReflowedPage(); 165 ~CPDF_ReflowedPage();
167 CFX_PrivateData* GetPrivateDataCtrl() 166 CFX_PrivateData* GetPrivateDataCtrl()
168 { 167 {
169 return this; 168 return this;
170 }; 169 };
171 void GetDisplayMatrix(CFX_AffineMatrix& matrix, FX_INT32 xPos , FX_INT32 yPos, FX_INT32 xSize, FX_INT32 ySize, FX_INT32 iRotate, const CFX_Aff ineMatrix* pPageMatrix); 170 void GetDisplayMatrix(CFX_AffineMatrix& matrix, FX_INT32 xPos , FX_INT32 yPos, FX_INT32 xSize, FX_INT32 ySize, FX_INT32 iRotate, const CFX_Aff ineMatrix* pPageMatrix);
(...skipping 13 matching lines...) Expand all
185 CFX_GrowOnlyPool* m_pMemoryPool; 184 CFX_GrowOnlyPool* m_pMemoryPool;
186 FX_BOOL m_bCreateMemoryPool; 185 FX_BOOL m_bCreateMemoryPool;
187 CPDF_Page* m_pPDFPage; 186 CPDF_Page* m_pPDFPage;
188 FX_BOOL RetainPageObjsMemberShip(); 187 FX_BOOL RetainPageObjsMemberShip();
189 void MarkPageObjMemberShip(CPDF_PageO bject* pObj, CRF_PageInfo* pParent); 188 void MarkPageObjMemberShip(CPDF_PageO bject* pObj, CRF_PageInfo* pParent);
190 void ReleasePageObjsMemberShip(); 189 void ReleasePageObjsMemberShip();
191 CPDF_Dictionary* GetFormResDict(CPDF_PageObject* pObj); 190 CPDF_Dictionary* GetFormResDict(CPDF_PageObject* pObj);
192 191
193 CFX_MapPtrToPtr* m_pPageInfos; 192 CFX_MapPtrToPtr* m_pPageInfos;
194 }; 193 };
195 class CPDF_ProgressiveReflowPageParser : public IPDF_ProgressiveReflowPageParser , public CFX_Object 194 class CPDF_ProgressiveReflowPageParser : public IPDF_ProgressiveReflowPageParser
196 { 195 {
197 public: 196 public:
198 CPDF_ProgressiveReflowPageParser(); 197 CPDF_ProgressiveReflowPageParser();
199 ~CPDF_ProgressiveReflowPageParser() ; 198 ~CPDF_ProgressiveReflowPageParser() ;
200 void Init(); 199 void Init();
201 200
202 ParseStatus GetStatus() 201 ParseStatus GetStatus()
203 { 202 {
204 return m_Status; 203 return m_Status;
205 }; 204 };
(...skipping 14 matching lines...) Expand all
220 IFX_Pause* m_pPause; 219 IFX_Pause* m_pPause;
221 CPDF_ReflowedPage* m_pReflowPage; 220 CPDF_ReflowedPage* m_pReflowPage;
222 FX_FLOAT m_TopIndent; 221 FX_FLOAT m_TopIndent;
223 FX_FLOAT m_ReflowedWidth; 222 FX_FLOAT m_ReflowedWidth;
224 FX_FLOAT m_fScreenHeight; 223 FX_FLOAT m_fScreenHeight;
225 IPDF_LayoutProvider* m_pProvider; 224 IPDF_LayoutProvider* m_pProvider;
226 IPDF_LayoutProcessor* m_pReflowEngine; 225 IPDF_LayoutProcessor* m_pReflowEngine;
227 int m_nObjProcessed; 226 int m_nObjProcessed;
228 int m_flags; 227 int m_flags;
229 }; 228 };
230 class CPDF_ProgressiveReflowPageRender : public IPDF_ProgressiveReflowPageRender , public CFX_Object 229 class CPDF_ProgressiveReflowPageRender : public IPDF_ProgressiveReflowPageRender
231 { 230 {
232 public: 231 public:
233 CPDF_ProgressiveReflowPageRender(); 232 CPDF_ProgressiveReflowPageRender();
234 ~CPDF_ProgressiveReflowPageRender() ; 233 ~CPDF_ProgressiveReflowPageRender() ;
235 234
236 RenderStatus GetStatus() 235 RenderStatus GetStatus()
237 { 236 {
238 return m_Status; 237 return m_Status;
239 }; 238 };
240 239
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 return false; 284 return false;
286 } 285 }
287 return true; 286 return true;
288 }; 287 };
289 }; 288 };
290 #define TYPE_UNKNOW 0 289 #define TYPE_UNKNOW 0
291 #define TYPE_TEXT 1 290 #define TYPE_TEXT 1
292 #define TYPE_PATH 2 291 #define TYPE_PATH 2
293 #define TYPE_IMAGE 3 292 #define TYPE_IMAGE 3
294 #define TYPE_LINE 4 293 #define TYPE_LINE 4
295 class CRF_Data : public CFX_Object 294 class CRF_Data
296 { 295 {
297 public: 296 public:
298 typedef enum {Unknow, Text, Image, Path, Line, paragraph} RF_DataType; 297 typedef enum {Unknow, Text, Image, Path, Line, paragraph} RF_DataType;
299 CRF_Data() 298 CRF_Data()
300 { 299 {
301 m_Type = Unknow; 300 m_Type = Unknow;
302 m_Width = 0; 301 m_Width = 0;
303 m_PosY = 0; 302 m_PosY = 0;
304 m_PosX = 0; 303 m_PosX = 0;
305 m_Height = 0; 304 m_Height = 0;
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 ~CRF_PathData() {}; 362 ~CRF_PathData() {};
364 FX_BOOL m_bDecoration; 363 FX_BOOL m_bDecoration;
365 CPDF_Path m_pPathData; 364 CPDF_Path m_pPathData;
366 CFX_AffineMatrix m_pPath2Device; 365 CFX_AffineMatrix m_pPath2Device;
367 CPDF_GraphState m_pGraphState; 366 CPDF_GraphState m_pGraphState;
368 FX_ARGB m_fill_argb; 367 FX_ARGB m_fill_argb;
369 FX_ARGB m_stroke_argb; 368 FX_ARGB m_stroke_argb;
370 int m_fill_mode; 369 int m_fill_mode;
371 }; 370 };
372 #endif 371 #endif
OLDNEW
« no previous file with comments | « core/src/reflow/layoutprovider_taggedpdf.h ('k') | fpdfsdk/include/fsdk_baseannot.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698