diff options
author | Tom Sepez <tsepez@chromium.org> | 2016-01-26 13:20:26 -0800 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2016-01-26 13:20:26 -0800 |
commit | 8e5cd19d174f259bfda5f7a9699b08fdc4289b56 (patch) | |
tree | 6c2382c4cfe0475ecbfafc1af981dcaa0a801c35 /core/src/fpdfapi/fpdf_page/fpdf_page.cpp | |
parent | d834d55f902ccd18cba85f93ecf51e30c5e7e47b (diff) | |
download | pdfium-8e5cd19d174f259bfda5f7a9699b08fdc4289b56.tar.xz |
Merge to XFA: War on #defines, part 1.
Contains additional XFA-specific changes.
Original Review URL: https://codereview.chromium.org/1632143002 .
(cherry picked from commit 66a9dc9dd65ed2b9c7ede448d046b770140f16d5)
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1636503006 .
Diffstat (limited to 'core/src/fpdfapi/fpdf_page/fpdf_page.cpp')
-rw-r--r-- | core/src/fpdfapi/fpdf_page/fpdf_page.cpp | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page.cpp index b1bd277bb5..5ec79000ac 100644 --- a/core/src/fpdfapi/fpdf_page/fpdf_page.cpp +++ b/core/src/fpdfapi/fpdf_page/fpdf_page.cpp @@ -11,15 +11,15 @@ CPDF_PageObject* CPDF_PageObject::Create(int type) { switch (type) { - case PDFPAGE_TEXT: + case TEXT: return new CPDF_TextObject; - case PDFPAGE_IMAGE: + case IMAGE: return new CPDF_ImageObject; - case PDFPAGE_PATH: + case PATH: return new CPDF_PathObject; - case PDFPAGE_SHADING: + case SHADING: return new CPDF_ShadingObject; - case PDFPAGE_FORM: + case FORM: return new CPDF_FormObject; } return NULL; @@ -54,15 +54,17 @@ void CPDF_PageObject::RemoveClipPath() { } void CPDF_PageObject::RecalcBBox() { switch (m_Type) { - case PDFPAGE_TEXT: + case TEXT: ((CPDF_TextObject*)this)->RecalcPositionData(); break; - case PDFPAGE_PATH: + case PATH: ((CPDF_PathObject*)this)->CalcBoundingBox(); break; - case PDFPAGE_SHADING: + case SHADING: ((CPDF_ShadingObject*)this)->CalcBoundingBox(); break; + default: + break; } } void CPDF_PageObject::TransformClipPath(CFX_Matrix& matrix) { @@ -88,13 +90,12 @@ FX_RECT CPDF_PageObject::GetBBox(const CFX_Matrix* pMatrix) const { } CPDF_TextObject::CPDF_TextObject() - : m_PosX(0), + : CPDF_PageObject(TEXT), + m_PosX(0), m_PosY(0), m_nChars(0), m_pCharCodes(nullptr), - m_pCharPos(nullptr) { - m_Type = PDFPAGE_TEXT; -} + m_pCharPos(nullptr) {} CPDF_TextObject::~CPDF_TextObject() { if (m_nChars > 1) { @@ -607,11 +608,11 @@ void CPDF_TextObject::SetTextState(CPDF_TextState TextState) { CalcPositionData(nullptr, nullptr, 0); } -CPDF_ShadingObject::CPDF_ShadingObject() { - m_pShading = NULL; - m_Type = PDFPAGE_SHADING; -} +CPDF_ShadingObject::CPDF_ShadingObject() + : CPDF_PageObject(SHADING), m_pShading(nullptr) {} + CPDF_ShadingObject::~CPDF_ShadingObject() {} + void CPDF_ShadingObject::CopyData(const CPDF_PageObject* pSrc) { CPDF_ShadingObject* pSrcObj = (CPDF_ShadingObject*)pSrc; m_pShading = pSrcObj->m_pShading; @@ -623,6 +624,7 @@ void CPDF_ShadingObject::CopyData(const CPDF_PageObject* pSrc) { } m_Matrix = pSrcObj->m_Matrix; } + void CPDF_ShadingObject::Transform(const CFX_Matrix& matrix) { if (!m_ClipPath.IsNull()) { m_ClipPath.GetModify(); @@ -635,6 +637,7 @@ void CPDF_ShadingObject::Transform(const CFX_Matrix& matrix) { matrix.TransformRect(m_Left, m_Right, m_Top, m_Bottom); } } + void CPDF_ShadingObject::CalcBoundingBox() { if (m_ClipPath.IsNull()) { return; @@ -645,6 +648,7 @@ void CPDF_ShadingObject::CalcBoundingBox() { m_Right = rect.right; m_Top = rect.top; } + CPDF_FormObject::~CPDF_FormObject() { delete m_pForm; } |