From cec01808e8b155f598b2a9ea527736ce774e76a2 Mon Sep 17 00:00:00 2001 From: rbpotter Date: Mon, 17 Apr 2017 09:10:21 -0700 Subject: Render image masks individually instead of rendering the entire page as a bitmap in order to reduce spool sizes. BUG=682156, 674771 Change-Id: Ic743ba729a7b9609be18fb620a5eb6bc440aed6a Reviewed-on: https://pdfium-review.googlesource.com/2916 Commit-Queue: Lei Zhang Reviewed-by: Lei Zhang --- core/fpdfapi/page/cpdf_pageobjectholder.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'core/fpdfapi/page/cpdf_pageobjectholder.h') diff --git a/core/fpdfapi/page/cpdf_pageobjectholder.h b/core/fpdfapi/page/cpdf_pageobjectholder.h index aee7617c1f..0b88a86518 100644 --- a/core/fpdfapi/page/cpdf_pageobjectholder.h +++ b/core/fpdfapi/page/cpdf_pageobjectholder.h @@ -8,6 +8,7 @@ #define CORE_FPDFAPI_PAGE_CPDF_PAGEOBJECTHOLDER_H_ #include +#include #include "core/fpdfapi/page/cpdf_pageobjectlist.h" #include "core/fxcrt/fx_coordinates.h" @@ -41,9 +42,11 @@ class CPDF_PageObjectHolder { m_bBackgroundAlphaNeeded = needed; } - bool HasImageMask() const { return m_bHasImageMask; } - void SetHasImageMask(bool value) { m_bHasImageMask = value; } - + bool HasImageMask() const { return !m_MaskBoundingBoxes.empty(); } + const std::vector& GetMaskBoundingBoxes() const { + return m_MaskBoundingBoxes; + } + void AddImageMaskBoundingBox(const CFX_FloatRect& box); void Transform(const CFX_Matrix& matrix); CFX_FloatRect CalcBoundingBox() const; @@ -61,7 +64,7 @@ class CPDF_PageObjectHolder { void LoadTransInfo(); bool m_bBackgroundAlphaNeeded; - bool m_bHasImageMask; + std::vector m_MaskBoundingBoxes; ParseState m_ParseState; std::unique_ptr m_pParser; CPDF_PageObjectList m_PageObjectList; -- cgit v1.2.3