OLD | NEW |
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 "fpdfsdk/include/fpdfxfa/fpdfxfa_doc.h" | 7 #include "fpdfsdk/include/fpdfxfa/fpdfxfa_doc.h" |
8 #include "fpdfsdk/include/fpdfxfa/fpdfxfa_page.h" | 8 #include "fpdfsdk/include/fpdfxfa/fpdfxfa_page.h" |
9 #include "fpdfsdk/include/fpdfxfa/fpdfxfa_util.h" | 9 #include "fpdfsdk/include/fpdfxfa/fpdfxfa_util.h" |
10 #include "fpdfsdk/include/fsdk_define.h" | 10 #include "fpdfsdk/include/fsdk_define.h" |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 delete m_pPDFPage; | 111 delete m_pPDFPage; |
112 | 112 |
113 m_pPDFPage = new CPDF_Page(); | 113 m_pPDFPage = new CPDF_Page(); |
114 m_pPDFPage->Load(m_pDocument->GetPDFDoc(), pageDict); | 114 m_pPDFPage->Load(m_pDocument->GetPDFDoc(), pageDict); |
115 m_pPDFPage->ParseContent(nullptr); | 115 m_pPDFPage->ParseContent(nullptr); |
116 | 116 |
117 return TRUE; | 117 return TRUE; |
118 } | 118 } |
119 | 119 |
120 FX_FLOAT CPDFXFA_Page::GetPageWidth() { | 120 FX_FLOAT CPDFXFA_Page::GetPageWidth() { |
121 ASSERT(m_pDocument != NULL); | |
122 | |
123 if (!m_pPDFPage && !m_pXFAPageView) | 121 if (!m_pPDFPage && !m_pXFAPageView) |
124 return 0.0f; | 122 return 0.0f; |
125 | 123 |
126 int nDocType = m_pDocument->GetDocType(); | 124 int nDocType = m_pDocument->GetDocType(); |
127 switch (nDocType) { | 125 switch (nDocType) { |
128 case DOCTYPE_DYNAMIC_XFA: { | 126 case DOCTYPE_DYNAMIC_XFA: { |
129 if (m_pXFAPageView) { | 127 if (m_pXFAPageView) { |
130 CFX_RectF rect; | 128 CFX_RectF rect; |
131 m_pXFAPageView->GetPageViewRect(rect); | 129 m_pXFAPageView->GetPageViewRect(rect); |
132 return rect.width; | 130 return rect.width; |
133 } | 131 } |
134 } break; | 132 } break; |
135 case DOCTYPE_STATIC_XFA: | 133 case DOCTYPE_STATIC_XFA: |
136 case DOCTYPE_PDF: { | 134 case DOCTYPE_PDF: { |
137 if (m_pPDFPage) | 135 if (m_pPDFPage) |
138 return m_pPDFPage->GetPageWidth(); | 136 return m_pPDFPage->GetPageWidth(); |
139 } break; | 137 } break; |
140 default: | 138 default: |
141 return 0.0f; | 139 return 0.0f; |
142 } | 140 } |
143 | 141 |
144 return 0.0f; | 142 return 0.0f; |
145 } | 143 } |
146 | 144 |
147 FX_FLOAT CPDFXFA_Page::GetPageHeight() { | 145 FX_FLOAT CPDFXFA_Page::GetPageHeight() { |
148 ASSERT(m_pDocument != NULL); | |
149 | |
150 if (!m_pPDFPage && !m_pXFAPageView) | 146 if (!m_pPDFPage && !m_pXFAPageView) |
151 return 0.0f; | 147 return 0.0f; |
152 | 148 |
153 int nDocType = m_pDocument->GetDocType(); | 149 int nDocType = m_pDocument->GetDocType(); |
154 switch (nDocType) { | 150 switch (nDocType) { |
155 case DOCTYPE_PDF: | 151 case DOCTYPE_PDF: |
156 case DOCTYPE_STATIC_XFA: { | 152 case DOCTYPE_STATIC_XFA: { |
157 if (m_pPDFPage) | 153 if (m_pPDFPage) |
158 return m_pPDFPage->GetPageHeight(); | 154 return m_pPDFPage->GetPageHeight(); |
159 } break; | 155 } break; |
(...skipping 13 matching lines...) Expand all Loading... |
173 | 169 |
174 void CPDFXFA_Page::DeviceToPage(int start_x, | 170 void CPDFXFA_Page::DeviceToPage(int start_x, |
175 int start_y, | 171 int start_y, |
176 int size_x, | 172 int size_x, |
177 int size_y, | 173 int size_y, |
178 int rotate, | 174 int rotate, |
179 int device_x, | 175 int device_x, |
180 int device_y, | 176 int device_y, |
181 double* page_x, | 177 double* page_x, |
182 double* page_y) { | 178 double* page_y) { |
183 ASSERT(m_pDocument != NULL); | |
184 | |
185 if (!m_pPDFPage && !m_pXFAPageView) | 179 if (!m_pPDFPage && !m_pXFAPageView) |
186 return; | 180 return; |
187 | 181 |
188 CFX_Matrix page2device; | 182 CFX_Matrix page2device; |
189 CFX_Matrix device2page; | 183 CFX_Matrix device2page; |
190 FX_FLOAT page_x_f, page_y_f; | 184 FX_FLOAT page_x_f, page_y_f; |
191 | 185 |
192 GetDisplayMatrix(page2device, start_x, start_y, size_x, size_y, rotate); | 186 GetDisplayMatrix(page2device, start_x, start_y, size_x, size_y, rotate); |
193 | 187 |
194 device2page.SetReverse(page2device); | 188 device2page.SetReverse(page2device); |
(...skipping 27 matching lines...) Expand all Loading... |
222 *device_x = FXSYS_round(device_x_f); | 216 *device_x = FXSYS_round(device_x_f); |
223 *device_y = FXSYS_round(device_y_f); | 217 *device_y = FXSYS_round(device_y_f); |
224 } | 218 } |
225 | 219 |
226 void CPDFXFA_Page::GetDisplayMatrix(CFX_Matrix& matrix, | 220 void CPDFXFA_Page::GetDisplayMatrix(CFX_Matrix& matrix, |
227 int xPos, | 221 int xPos, |
228 int yPos, | 222 int yPos, |
229 int xSize, | 223 int xSize, |
230 int ySize, | 224 int ySize, |
231 int iRotate) const { | 225 int iRotate) const { |
232 ASSERT(m_pDocument != NULL); | |
233 | |
234 if (!m_pPDFPage && !m_pXFAPageView) | 226 if (!m_pPDFPage && !m_pXFAPageView) |
235 return; | 227 return; |
236 | 228 |
237 int nDocType = m_pDocument->GetDocType(); | 229 int nDocType = m_pDocument->GetDocType(); |
238 switch (nDocType) { | 230 switch (nDocType) { |
239 case DOCTYPE_DYNAMIC_XFA: { | 231 case DOCTYPE_DYNAMIC_XFA: { |
240 if (m_pXFAPageView) { | 232 if (m_pXFAPageView) { |
241 CFX_Rect rect; | 233 CFX_Rect rect; |
242 rect.Set(xPos, yPos, xSize, ySize); | 234 rect.Set(xPos, yPos, xSize, ySize); |
243 m_pXFAPageView->GetDisplayMatrix(matrix, rect, iRotate); | 235 m_pXFAPageView->GetDisplayMatrix(matrix, rect, iRotate); |
244 } | 236 } |
245 } break; | 237 } break; |
246 case DOCTYPE_PDF: | 238 case DOCTYPE_PDF: |
247 case DOCTYPE_STATIC_XFA: { | 239 case DOCTYPE_STATIC_XFA: { |
248 if (m_pPDFPage) { | 240 if (m_pPDFPage) { |
249 m_pPDFPage->GetDisplayMatrix(matrix, xPos, yPos, xSize, ySize, iRotate); | 241 m_pPDFPage->GetDisplayMatrix(matrix, xPos, yPos, xSize, ySize, iRotate); |
250 } | 242 } |
251 } break; | 243 } break; |
252 default: | 244 default: |
253 return; | 245 return; |
254 } | 246 } |
255 } | 247 } |
OLD | NEW |