summaryrefslogtreecommitdiff
path: root/core/fpdfapi/page/cpdf_pageobjectholder.cpp
diff options
context:
space:
mode:
authorNicolas Pena <npm@chromium.org>2017-06-28 15:31:56 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-06-28 19:58:25 +0000
commit9ba8fbc02e86a6b7cb5c4142d9481ae3238c1ec4 (patch)
tree3121a73de34a92edd84b982e04b2b900a878e90c /core/fpdfapi/page/cpdf_pageobjectholder.cpp
parentd4fb57a4e23ccc2e374c64ea5d5705f492fdd083 (diff)
downloadpdfium-9ba8fbc02e86a6b7cb5c4142d9481ae3238c1ec4.tar.xz
Set default graphics before generating page contents
In this CL, the content generator sets some default graphics states before processing the page objects. In particular, a default ExtGState is now set before processing, and the last CTM is now stored right after parsing finishes: the only command to change matrix is ctm, and it concatenates, so inverting requires knowing the current value. Bug: pdfium:779 Change-Id: I35b1c07550ce91839fb0e20fbf717e3e80c9b9d6 Reviewed-on: https://pdfium-review.googlesource.com/7070 Commit-Queue: Nicolás Peña <npm@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'core/fpdfapi/page/cpdf_pageobjectholder.cpp')
-rw-r--r--core/fpdfapi/page/cpdf_pageobjectholder.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/core/fpdfapi/page/cpdf_pageobjectholder.cpp b/core/fpdfapi/page/cpdf_pageobjectholder.cpp
index 50ef780396..614fa34d2b 100644
--- a/core/fpdfapi/page/cpdf_pageobjectholder.cpp
+++ b/core/fpdfapi/page/cpdf_pageobjectholder.cpp
@@ -8,6 +8,7 @@
#include <algorithm>
+#include "core/fpdfapi/page/cpdf_allstates.h"
#include "core/fpdfapi/page/cpdf_contentparser.h"
#include "core/fpdfapi/page/cpdf_pageobject.h"
#include "core/fpdfapi/parser/cpdf_dictionary.h"
@@ -38,6 +39,8 @@ void CPDF_PageObjectHolder::ContinueParse(IFX_Pause* pPause) {
return;
m_ParseState = CONTENT_PARSED;
+ if (m_pParser->GetParser() && m_pParser->GetParser()->GetCurStates())
+ m_LastCTM = m_pParser->GetParser()->GetCurStates()->m_CTM;
m_pParser.reset();
}