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

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

Issue 1172793002: Merge to XFA: Use stdint.h types throughout PDFium. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 5 years, 6 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/reflowedpage.h ('k') | core/src/reflow/reflowedtextpage.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 #include "../../include/reflow/reflowengine.h" 7 #include "../../include/reflow/reflowengine.h"
8 #include "reflowedpage.h" 8 #include "reflowedpage.h"
9 CPDF_ProgressiveReflowPageParser::CPDF_ProgressiveReflowPageParser() 9 CPDF_ProgressiveReflowPageParser::CPDF_ProgressiveReflowPageParser()
10 { 10 {
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 } 144 }
145 if (FALSE == RetainPageObjsMemberShip()) { 145 if (FALSE == RetainPageObjsMemberShip()) {
146 return NULL; 146 return NULL;
147 } 147 }
148 CRF_PageInfo* pPageInfo = (CRF_PageInfo*)m_pPageInfos->GetValueAt(pObj); 148 CRF_PageInfo* pPageInfo = (CRF_PageInfo*)m_pPageInfos->GetValueAt(pObj);
149 if (NULL == pPageInfo) { 149 if (NULL == pPageInfo) {
150 return NULL; 150 return NULL;
151 } 151 }
152 return pPageInfo->GetFormDict(); 152 return pPageInfo->GetFormDict();
153 } 153 }
154 void CPDF_ReflowedPage::GetDisplayMatrix(CFX_AffineMatrix& matrix, FX_INT32 xPos , FX_INT32 yPos, FX_INT32 xSize, FX_INT32 ySize, FX_INT32 iRotate, const CFX_Aff ineMatrix* pPageMatrix) 154 void CPDF_ReflowedPage::GetDisplayMatrix(CFX_AffineMatrix& matrix, int32_t xPos, int32_t yPos, int32_t xSize, int32_t ySize, int32_t iRotate, const CFX_AffineMa trix* pPageMatrix)
155 { 155 {
156 CFX_AffineMatrix display_matrix; 156 CFX_AffineMatrix display_matrix;
157 if(m_PageHeight == 0) { 157 if(m_PageHeight == 0) {
158 matrix.Set(1, 0, 0, -1, 0, 0); 158 matrix.Set(1, 0, 0, -1, 0, 0);
159 return; 159 return;
160 } 160 }
161 FX_INT32 x0, y0, x1, y1, x2, y2; 161 int32_t x0, y0, x1, y1, x2, y2;
162 iRotate %= 4; 162 iRotate %= 4;
163 switch (iRotate) { 163 switch (iRotate) {
164 case 0: 164 case 0:
165 x0 = xPos; 165 x0 = xPos;
166 y0 = yPos; 166 y0 = yPos;
167 x1 = xPos; 167 x1 = xPos;
168 y1 = yPos + ySize; 168 y1 = yPos + ySize;
169 x2 = xPos + xSize; 169 x2 = xPos + xSize;
170 y2 = yPos; 170 y2 = yPos;
171 break; 171 break;
(...skipping 28 matching lines...) Expand all
200 FXSYS_Div((FX_FLOAT)(y1 - y0), m_PageHeight), 200 FXSYS_Div((FX_FLOAT)(y1 - y0), m_PageHeight),
201 (FX_FLOAT)(x0), (FX_FLOAT)(y0)); 201 (FX_FLOAT)(x0), (FX_FLOAT)(y0));
202 matrix.Set(1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f); 202 matrix.Set(1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f);
203 matrix.Concat(display_matrix); 203 matrix.Concat(display_matrix);
204 return; 204 return;
205 } 205 }
206 FX_FLOAT CPDF_ReflowedPage::GetPageHeight() 206 FX_FLOAT CPDF_ReflowedPage::GetPageHeight()
207 { 207 {
208 return m_PageHeight; 208 return m_PageHeight;
209 } 209 }
210 void CPDF_ReflowedPage::FocusGetData(const CFX_AffineMatrix matrix, FX_INT32 x, FX_INT32 y, CFX_ByteString& str) 210 void CPDF_ReflowedPage::FocusGetData(const CFX_AffineMatrix matrix, int32_t x, i nt32_t y, CFX_ByteString& str)
211 { 211 {
212 if (NULL == m_pReflowed) { 212 if (NULL == m_pReflowed) {
213 return; 213 return;
214 } 214 }
215 CFX_AffineMatrix revMatrix; 215 CFX_AffineMatrix revMatrix;
216 revMatrix.SetReverse(matrix); 216 revMatrix.SetReverse(matrix);
217 FX_FLOAT x1, y1; 217 FX_FLOAT x1, y1;
218 revMatrix.Transform((float)x, (float)y, x1, y1); 218 revMatrix.Transform((float)x, (float)y, x1, y1);
219 int count = m_pReflowed->GetSize(); 219 int count = m_pReflowed->GetSize();
220 FX_FLOAT dx = 1000, dy = 1000; 220 FX_FLOAT dx = 1000, dy = 1000;
221 FX_INT32 pos = 0; 221 int32_t pos = 0;
222 FX_INT32 i; 222 int32_t i;
223 for(i = 0; i < count; i++) { 223 for(i = 0; i < count; i++) {
224 CRF_Data* pData = (*m_pReflowed)[i]; 224 CRF_Data* pData = (*m_pReflowed)[i];
225 FX_FLOAT tempdy = FXSYS_fabs(pData->m_PosY - y1); 225 FX_FLOAT tempdy = FXSYS_fabs(pData->m_PosY - y1);
226 if(FXSYS_fabs(tempdy - dy) < 1) { 226 if(FXSYS_fabs(tempdy - dy) < 1) {
227 continue; 227 continue;
228 } 228 }
229 CFX_FloatRect rect (0, pData->m_PosY + pData->m_Height, this->m_PageWidt h, pData->m_PosY); 229 CFX_FloatRect rect (0, pData->m_PosY + pData->m_Height, this->m_PageWidt h, pData->m_PosY);
230 if(rect.Contains(x1, y1)) { 230 if(rect.Contains(x1, y1)) {
231 pos = i; 231 pos = i;
232 dx = 0; 232 dx = 0;
(...skipping 26 matching lines...) Expand all
259 FX_FLOAT tempdx = FXSYS_fabs(pData->m_PosX - x1); 259 FX_FLOAT tempdx = FXSYS_fabs(pData->m_PosX - x1);
260 if(tempdx < dx) { 260 if(tempdx < dx) {
261 dx = tempdx; 261 dx = tempdx;
262 pos = i; 262 pos = i;
263 } 263 }
264 } 264 }
265 } 265 }
266 } 266 }
267 str.Format("%d", pos); 267 str.Format("%d", pos);
268 } 268 }
269 FX_BOOL CPDF_ReflowedPage::FocusGetPosition(const CFX_AffineMatrix matrix, CFX_B yteString str, FX_INT32& x, FX_INT32& y) 269 FX_BOOL CPDF_ReflowedPage::FocusGetPosition(const CFX_AffineMatrix matrix, CFX_B yteString str, int32_t& x, int32_t& y)
270 { 270 {
271 if (NULL == m_pReflowed) { 271 if (NULL == m_pReflowed) {
272 return FALSE; 272 return FALSE;
273 } 273 }
274 FX_INT32 pos = FXSYS_atoi(str); 274 int32_t pos = FXSYS_atoi(str);
275 if(pos < 0 || pos >= m_pReflowed->GetSize()) { 275 if(pos < 0 || pos >= m_pReflowed->GetSize()) {
276 return FALSE; 276 return FALSE;
277 } 277 }
278 CRF_Data* pData = (*m_pReflowed)[pos]; 278 CRF_Data* pData = (*m_pReflowed)[pos];
279 FX_FLOAT x1, y1; 279 FX_FLOAT x1, y1;
280 matrix.Transform(pData->m_PosX, pData->m_PosY + pData->m_Height, x1, y1); 280 matrix.Transform(pData->m_PosX, pData->m_PosY + pData->m_Height, x1, y1);
281 x = (int)x1; 281 x = (int)x1;
282 y = (int)y1; 282 y = (int)y1;
283 return TRUE; 283 return TRUE;
284 } 284 }
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
419 } 419 }
420 CPDF_ProgressiveReflowPageRender::CPDF_ProgressiveReflowPageRender() 420 CPDF_ProgressiveReflowPageRender::CPDF_ProgressiveReflowPageRender()
421 { 421 {
422 m_Status = Ready; 422 m_Status = Ready;
423 m_pReflowPage = NULL; 423 m_pReflowPage = NULL;
424 m_pDisplayMatrix = NULL; 424 m_pDisplayMatrix = NULL;
425 m_CurrNum = 0; 425 m_CurrNum = 0;
426 m_pFontEncoding = NULL; 426 m_pFontEncoding = NULL;
427 m_DisplayColor = -1; 427 m_DisplayColor = -1;
428 } 428 }
429 static FX_FLOAT _CIDTransformToFloat(FX_BYTE ch) 429 static FX_FLOAT _CIDTransformToFloat(uint8_t ch)
430 { 430 {
431 if (ch < 128) { 431 if (ch < 128) {
432 return ch * 1.0f / 127; 432 return ch * 1.0f / 127;
433 } 433 }
434 return (-255 + ch) * 1.0f / 127; 434 return (-255 + ch) * 1.0f / 127;
435 } 435 }
436 int CPDF_ProgressiveReflowPageRender::GetPosition() 436 int CPDF_ProgressiveReflowPageRender::GetPosition()
437 { 437 {
438 if(m_CurrNum == 0 || NULL == m_pReflowPage) { 438 if(m_CurrNum == 0 || NULL == m_pReflowPage) {
439 return 0; 439 return 0;
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 { 613 {
614 if (m_pDisplayMatrix) { 614 if (m_pDisplayMatrix) {
615 delete m_pDisplayMatrix; 615 delete m_pDisplayMatrix;
616 } 616 }
617 m_pDisplayMatrix = NULL; 617 m_pDisplayMatrix = NULL;
618 m_pReflowPage = NULL; 618 m_pReflowPage = NULL;
619 m_pFXDevice = NULL; 619 m_pFXDevice = NULL;
620 m_CurrNum = 0; 620 m_CurrNum = 0;
621 m_Status = Ready; 621 m_Status = Ready;
622 } 622 }
OLDNEW
« no previous file with comments | « core/src/reflow/reflowedpage.h ('k') | core/src/reflow/reflowedtextpage.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698