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/page/cpdf_tilingpattern.h" | 7 #include "core/fpdfapi/page/cpdf_tilingpattern.h" |
8 | 8 |
9 #include "core/fpdfapi/page/cpdf_form.h" | 9 #include "core/fpdfapi/page/cpdf_form.h" |
10 #include "core/fpdfapi/parser/cpdf_dictionary.h" | 10 #include "core/fpdfapi/parser/cpdf_dictionary.h" |
11 #include "core/fpdfapi/parser/cpdf_object.h" | 11 #include "core/fpdfapi/parser/cpdf_object.h" |
12 #include "core/fpdfapi/parser/cpdf_stream.h" | 12 #include "core/fpdfapi/parser/cpdf_stream.h" |
| 13 #include "third_party/base/ptr_util.h" |
13 | 14 |
14 CPDF_TilingPattern::CPDF_TilingPattern(CPDF_Document* pDoc, | 15 CPDF_TilingPattern::CPDF_TilingPattern(CPDF_Document* pDoc, |
15 CPDF_Object* pPatternObj, | 16 CPDF_Object* pPatternObj, |
16 const CFX_Matrix& parentMatrix) | 17 const CFX_Matrix& parentMatrix) |
17 : CPDF_Pattern(TILING, pDoc, pPatternObj, parentMatrix) { | 18 : CPDF_Pattern(TILING, pDoc, pPatternObj, parentMatrix) { |
18 CPDF_Dictionary* pDict = m_pPatternObj->GetDict(); | 19 CPDF_Dictionary* pDict = m_pPatternObj->GetDict(); |
19 m_Pattern2Form = pDict->GetMatrixFor("Matrix"); | 20 m_Pattern2Form = pDict->GetMatrixFor("Matrix"); |
20 m_bColored = pDict->GetIntegerFor("PaintType") == 1; | 21 m_bColored = pDict->GetIntegerFor("PaintType") == 1; |
21 m_Pattern2Form.Concat(parentMatrix); | 22 m_Pattern2Form.Concat(parentMatrix); |
22 } | 23 } |
(...skipping 17 matching lines...) Expand all Loading... |
40 return false; | 41 return false; |
41 | 42 |
42 m_bColored = pDict->GetIntegerFor("PaintType") == 1; | 43 m_bColored = pDict->GetIntegerFor("PaintType") == 1; |
43 m_XStep = (FX_FLOAT)FXSYS_fabs(pDict->GetNumberFor("XStep")); | 44 m_XStep = (FX_FLOAT)FXSYS_fabs(pDict->GetNumberFor("XStep")); |
44 m_YStep = (FX_FLOAT)FXSYS_fabs(pDict->GetNumberFor("YStep")); | 45 m_YStep = (FX_FLOAT)FXSYS_fabs(pDict->GetNumberFor("YStep")); |
45 | 46 |
46 CPDF_Stream* pStream = m_pPatternObj->AsStream(); | 47 CPDF_Stream* pStream = m_pPatternObj->AsStream(); |
47 if (!pStream) | 48 if (!pStream) |
48 return false; | 49 return false; |
49 | 50 |
50 m_pForm.reset(new CPDF_Form(m_pDocument, nullptr, pStream)); | 51 m_pForm = pdfium::MakeUnique<CPDF_Form>(m_pDocument, nullptr, pStream); |
51 m_pForm->ParseContent(nullptr, &m_ParentMatrix, nullptr); | 52 m_pForm->ParseContent(nullptr, &m_ParentMatrix, nullptr); |
52 m_BBox = pDict->GetRectFor("BBox"); | 53 m_BBox = pDict->GetRectFor("BBox"); |
53 return true; | 54 return true; |
54 } | 55 } |
OLD | NEW |