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

Side by Side Diff: fpdfsdk/src/fpdfxfa/fpdfxfa_page.cpp

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 #include "../../include/fsdk_define.h" 7 #include "../../include/fsdk_define.h"
8 #include "../../include/fsdk_mgr.h" 8 #include "../../include/fsdk_mgr.h"
9 #include "../../include/fpdfxfa/fpdfxfa_util.h" 9 #include "../../include/fpdfxfa/fpdfxfa_util.h"
10 #include "../../include/fpdfxfa/fpdfxfa_doc.h" 10 #include "../../include/fpdfxfa/fpdfxfa_doc.h"
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 int rotate, 178 int rotate,
179 int device_x, 179 int device_x,
180 int device_y, 180 int device_y,
181 double* page_x, 181 double* page_x,
182 double* page_y) { 182 double* page_y) {
183 ASSERT(m_pDocument != NULL); 183 ASSERT(m_pDocument != NULL);
184 184
185 if (!m_pPDFPage && !m_pXFAPageView) 185 if (!m_pPDFPage && !m_pXFAPageView)
186 return; 186 return;
187 187
188 CPDF_Matrix page2device; 188 CFX_Matrix page2device;
189 CPDF_Matrix device2page; 189 CFX_Matrix device2page;
190 FX_FLOAT page_x_f, page_y_f; 190 FX_FLOAT page_x_f, page_y_f;
191 191
192 GetDisplayMatrix(page2device, start_x, start_y, size_x, size_y, rotate); 192 GetDisplayMatrix(page2device, start_x, start_y, size_x, size_y, rotate);
193 193
194 device2page.SetReverse(page2device); 194 device2page.SetReverse(page2device);
195 device2page.Transform((FX_FLOAT)(device_x), (FX_FLOAT)(device_y), page_x_f, 195 device2page.Transform((FX_FLOAT)(device_x), (FX_FLOAT)(device_y), page_x_f,
196 page_y_f); 196 page_y_f);
197 197
198 *page_x = (page_x_f); 198 *page_x = (page_x_f);
199 *page_y = (page_y_f); 199 *page_y = (page_y_f);
200 } 200 }
201 201
202 void CPDFXFA_Page::PageToDevice(int start_x, 202 void CPDFXFA_Page::PageToDevice(int start_x,
203 int start_y, 203 int start_y,
204 int size_x, 204 int size_x,
205 int size_y, 205 int size_y,
206 int rotate, 206 int rotate,
207 double page_x, 207 double page_x,
208 double page_y, 208 double page_y,
209 int* device_x, 209 int* device_x,
210 int* device_y) { 210 int* device_y) {
211 if (!m_pPDFPage && !m_pXFAPageView) 211 if (!m_pPDFPage && !m_pXFAPageView)
212 return; 212 return;
213 213
214 CPDF_Matrix page2device; 214 CFX_Matrix page2device;
215 FX_FLOAT device_x_f, device_y_f; 215 FX_FLOAT device_x_f, device_y_f;
216 216
217 GetDisplayMatrix(page2device, start_x, start_y, size_x, size_y, rotate); 217 GetDisplayMatrix(page2device, start_x, start_y, size_x, size_y, rotate);
218 218
219 page2device.Transform(((FX_FLOAT)page_x), ((FX_FLOAT)page_y), device_x_f, 219 page2device.Transform(((FX_FLOAT)page_x), ((FX_FLOAT)page_y), device_x_f,
220 device_y_f); 220 device_y_f);
221 221
222 *device_x = FXSYS_round(device_x_f); 222 *device_x = FXSYS_round(device_x_f);
223 *device_y = FXSYS_round(device_y_f); 223 *device_y = FXSYS_round(device_y_f);
224 } 224 }
225 225
226 void CPDFXFA_Page::GetDisplayMatrix(CFX_AffineMatrix& matrix, 226 void CPDFXFA_Page::GetDisplayMatrix(CFX_Matrix& matrix,
227 int xPos, 227 int xPos,
228 int yPos, 228 int yPos,
229 int xSize, 229 int xSize,
230 int ySize, 230 int ySize,
231 int iRotate) const { 231 int iRotate) const {
232 ASSERT(m_pDocument != NULL); 232 ASSERT(m_pDocument != NULL);
233 233
234 if (!m_pPDFPage && !m_pXFAPageView) 234 if (!m_pPDFPage && !m_pXFAPageView)
235 return; 235 return;
236 236
237 int nDocType = m_pDocument->GetDocType(); 237 int nDocType = m_pDocument->GetDocType();
238 switch (nDocType) { 238 switch (nDocType) {
239 case DOCTYPE_DYNAMIC_XFA: { 239 case DOCTYPE_DYNAMIC_XFA: {
240 if (m_pXFAPageView) { 240 if (m_pXFAPageView) {
241 CFX_Rect rect; 241 CFX_Rect rect;
242 rect.Set(xPos, yPos, xSize, ySize); 242 rect.Set(xPos, yPos, xSize, ySize);
243 m_pXFAPageView->GetDisplayMatrix(matrix, rect, iRotate); 243 m_pXFAPageView->GetDisplayMatrix(matrix, rect, iRotate);
244 } 244 }
245 } break; 245 } break;
246 case DOCTYPE_PDF: 246 case DOCTYPE_PDF:
247 case DOCTYPE_STATIC_XFA: { 247 case DOCTYPE_STATIC_XFA: {
248 if (m_pPDFPage) { 248 if (m_pPDFPage) {
249 m_pPDFPage->GetDisplayMatrix(matrix, xPos, yPos, xSize, ySize, iRotate); 249 m_pPDFPage->GetDisplayMatrix(matrix, xPos, yPos, xSize, ySize, iRotate);
250 } 250 }
251 } break; 251 } break;
252 default: 252 default:
253 return; 253 return;
254 } 254 }
255 } 255 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698