1 // Copyright 2016 PDFium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #include "core/fpdfapi/page/cpdf_pageobject.h" 8 9 CPDF_PageObject::CPDF_PageObject() {} 10 11 CPDF_PageObject::~CPDF_PageObject() {} 12 13 bool CPDF_PageObject::IsText() const { 14 return false; 15 } 16 17 bool CPDF_PageObject::IsPath() const { 18 return false; 19 } 20 21 bool CPDF_PageObject::IsImage() const { 22 return false; 23 } 24 25 bool CPDF_PageObject::IsShading() const { 26 return false; 27 } 28 29 bool CPDF_PageObject::IsForm() const { 30 return false; 31 } 32 33 CPDF_TextObject* CPDF_PageObject::AsText() { 34 return nullptr; 35 } 36 37 const CPDF_TextObject* CPDF_PageObject::AsText() const { 38 return nullptr; 39 } 40 41 CPDF_PathObject* CPDF_PageObject::AsPath() { 42 return nullptr; 43 } 44 45 const CPDF_PathObject* CPDF_PageObject::AsPath() const { 46 return nullptr; 47 } 48 49 CPDF_ImageObject* CPDF_PageObject::AsImage() { 50 return nullptr; 51 } 52 53 const CPDF_ImageObject* CPDF_PageObject::AsImage() const { 54 return nullptr; 55 } 56 57 CPDF_ShadingObject* CPDF_PageObject::AsShading() { 58 return nullptr; 59 } 60 61 const CPDF_ShadingObject* CPDF_PageObject::AsShading() const { 62 return nullptr; 63 } 64 65 CPDF_FormObject* CPDF_PageObject::AsForm() { 66 return nullptr; 67 } 68 69 const CPDF_FormObject* CPDF_PageObject::AsForm() const { 70 return nullptr; 71 } 72 73 void CPDF_PageObject::CopyData(const CPDF_PageObject* pSrc) { 74 CopyStates(*pSrc); 75 m_Left = pSrc->m_Left; 76 m_Right = pSrc->m_Right; 77 m_Top = pSrc->m_Top; 78 m_Bottom = pSrc->m_Bottom; 79 } 80 81 void CPDF_PageObject::TransformClipPath(CFX_Matrix& matrix) { 82 if (!m_ClipPath) 83 return; 84 m_ClipPath.Transform(matrix); 85 } 86 87 void CPDF_PageObject::TransformGeneralState(CFX_Matrix& matrix) { 88 if (!m_GeneralState) 89 return; 90 m_GeneralState.GetMutableMatrix()->Concat(matrix); 91 } 92 93 FX_RECT CPDF_PageObject::GetBBox(const CFX_Matrix* pMatrix) const { 94 CFX_FloatRect rect(m_Left, m_Bottom, m_Right, m_Top); 95 if (pMatrix) { 96 pMatrix->TransformRect(rect); 97 } 98 return rect.GetOuterRect(); 99 } 100