1 // Copyright 2016 The PDFium Authors 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 #include "core/fxcrt/fx_coordinates.h" 10 CPDF_PageObject(int32_t content_stream)11CPDF_PageObject::CPDF_PageObject(int32_t content_stream) 12 : m_ContentStream(content_stream) {} 13 14 CPDF_PageObject::~CPDF_PageObject() = default; 15 IsText() const16bool CPDF_PageObject::IsText() const { 17 return false; 18 } 19 IsPath() const20bool CPDF_PageObject::IsPath() const { 21 return false; 22 } 23 IsImage() const24bool CPDF_PageObject::IsImage() const { 25 return false; 26 } 27 IsShading() const28bool CPDF_PageObject::IsShading() const { 29 return false; 30 } 31 IsForm() const32bool CPDF_PageObject::IsForm() const { 33 return false; 34 } 35 AsText()36CPDF_TextObject* CPDF_PageObject::AsText() { 37 return nullptr; 38 } 39 AsText() const40const CPDF_TextObject* CPDF_PageObject::AsText() const { 41 return nullptr; 42 } 43 AsPath()44CPDF_PathObject* CPDF_PageObject::AsPath() { 45 return nullptr; 46 } 47 AsPath() const48const CPDF_PathObject* CPDF_PageObject::AsPath() const { 49 return nullptr; 50 } 51 AsImage()52CPDF_ImageObject* CPDF_PageObject::AsImage() { 53 return nullptr; 54 } 55 AsImage() const56const CPDF_ImageObject* CPDF_PageObject::AsImage() const { 57 return nullptr; 58 } 59 AsShading()60CPDF_ShadingObject* CPDF_PageObject::AsShading() { 61 return nullptr; 62 } 63 AsShading() const64const CPDF_ShadingObject* CPDF_PageObject::AsShading() const { 65 return nullptr; 66 } 67 AsForm()68CPDF_FormObject* CPDF_PageObject::AsForm() { 69 return nullptr; 70 } 71 AsForm() const72const CPDF_FormObject* CPDF_PageObject::AsForm() const { 73 return nullptr; 74 } 75 CopyData(const CPDF_PageObject * pSrc)76void CPDF_PageObject::CopyData(const CPDF_PageObject* pSrc) { 77 CopyStates(*pSrc); 78 m_Rect = pSrc->m_Rect; 79 m_bDirty = true; 80 } 81 TransformClipPath(const CFX_Matrix & matrix)82void CPDF_PageObject::TransformClipPath(const CFX_Matrix& matrix) { 83 if (!m_ClipPath.HasRef()) 84 return; 85 m_ClipPath.Transform(matrix); 86 SetDirty(true); 87 } 88 TransformGeneralState(const CFX_Matrix & matrix)89void CPDF_PageObject::TransformGeneralState(const CFX_Matrix& matrix) { 90 if (!m_GeneralState.HasRef()) 91 return; 92 m_GeneralState.GetMutableMatrix()->Concat(matrix); 93 SetDirty(true); 94 } 95 GetBBox() const96FX_RECT CPDF_PageObject::GetBBox() const { 97 return GetRect().GetOuterRect(); 98 } 99 GetTransformedBBox(const CFX_Matrix & matrix) const100FX_RECT CPDF_PageObject::GetTransformedBBox(const CFX_Matrix& matrix) const { 101 return matrix.TransformRect(GetRect()).GetOuterRect(); 102 } 103