OLD | NEW |
1 // Copyright 2016 PDFium Authors. All rights reserved. | 1 // Copyright 2016 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 "core/fpdfapi/fpdf_page/include/cpdf_page.h" | 7 #include "core/fpdfapi/fpdf_page/include/cpdf_page.h" |
8 | 8 |
9 #include "core/fpdfapi/fpdf_page/include/cpdf_pageobject.h" | 9 #include "core/fpdfapi/fpdf_page/include/cpdf_pageobject.h" |
10 #include "core/fpdfapi/fpdf_page/pageint.h" | 10 #include "core/fpdfapi/fpdf_page/pageint.h" |
11 #include "core/fpdfapi/fpdf_parser/include/cpdf_array.h" | 11 #include "core/fpdfapi/fpdf_parser/include/cpdf_array.h" |
12 #include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h" | 12 #include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h" |
13 #include "core/fpdfapi/fpdf_parser/include/cpdf_object.h" | 13 #include "core/fpdfapi/fpdf_parser/include/cpdf_object.h" |
14 #include "core/fpdfapi/include/cpdf_modulemgr.h" | 14 #include "core/fpdfapi/include/cpdf_modulemgr.h" |
15 #include "core/fpdfapi/ipdf_rendermodule.h" | 15 #include "core/fpdfapi/ipdf_rendermodule.h" |
16 | 16 |
17 CPDF_Object* FPDFAPI_GetPageAttr(CPDF_Dictionary* pPageDict, | 17 CPDF_Object* FPDFAPI_GetPageAttr(CPDF_Dictionary* pPageDict, |
18 const CFX_ByteStringC& name) { | 18 const CFX_ByteStringC& name) { |
19 int level = 0; | 19 int level = 0; |
20 while (1) { | 20 while (1) { |
21 CPDF_Object* pObj = pPageDict->GetElementValue(name); | 21 CPDF_Object* pObj = pPageDict->GetDirectObjectBy(name); |
22 if (pObj) { | 22 if (pObj) { |
23 return pObj; | 23 return pObj; |
24 } | 24 } |
25 CPDF_Dictionary* pParent = pPageDict->GetDictBy("Parent"); | 25 CPDF_Dictionary* pParent = pPageDict->GetDictBy("Parent"); |
26 if (!pParent || pParent == pPageDict) { | 26 if (!pParent || pParent == pPageDict) { |
27 return NULL; | 27 return NULL; |
28 } | 28 } |
29 pPageDict = pParent; | 29 pPageDict = pParent; |
30 level++; | 30 level++; |
31 if (level == 1000) { | 31 if (level == 1000) { |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 y2 = yPos; | 182 y2 = yPos; |
183 break; | 183 break; |
184 } | 184 } |
185 display_matrix.Set( | 185 display_matrix.Set( |
186 ((FX_FLOAT)(x2 - x0)) / m_PageWidth, ((FX_FLOAT)(y2 - y0)) / m_PageWidth, | 186 ((FX_FLOAT)(x2 - x0)) / m_PageWidth, ((FX_FLOAT)(y2 - y0)) / m_PageWidth, |
187 ((FX_FLOAT)(x1 - x0)) / m_PageHeight, | 187 ((FX_FLOAT)(x1 - x0)) / m_PageHeight, |
188 ((FX_FLOAT)(y1 - y0)) / m_PageHeight, (FX_FLOAT)x0, (FX_FLOAT)y0); | 188 ((FX_FLOAT)(y1 - y0)) / m_PageHeight, (FX_FLOAT)x0, (FX_FLOAT)y0); |
189 matrix = m_PageMatrix; | 189 matrix = m_PageMatrix; |
190 matrix.Concat(display_matrix); | 190 matrix.Concat(display_matrix); |
191 } | 191 } |
OLD | NEW |