You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2017/01/09 17:51:05 UTC
svn commit: r1778017 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/contentstream/PDFStreamEngine.java
Author: tilman
Date: Mon Jan 9 17:51:05 2017
New Revision: 1778017
URL: http://svn.apache.org/viewvc?rev=1778017&view=rev
Log:
PDFBOX-3000: set initialMatrix for transparency groups
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/contentstream/PDFStreamEngine.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/contentstream/PDFStreamEngine.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/contentstream/PDFStreamEngine.java?rev=1778017&r1=1778016&r2=1778017&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/contentstream/PDFStreamEngine.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/contentstream/PDFStreamEngine.java Mon Jan 9 17:51:05 2017
@@ -208,6 +208,11 @@ public abstract class PDFStreamEngine
PDResources parent = pushResources(group);
Stack<PDGraphicsState> savedStack = saveGraphicsStack();
+
+ Matrix parentMatrix = initialMatrix;
+
+ // the stream's initial matrix includes the parent CTM, e.g. this allows a scaled form
+ initialMatrix = getGraphicsState().getCurrentTransformationMatrix().clone();
// transform the CTM using the stream's matrix
getGraphicsState().getCurrentTransformationMatrix().concatenate(group.getMatrix());
@@ -224,6 +229,8 @@ public abstract class PDFStreamEngine
clipToRect(group.getBBox());
processStreamOperators(group);
+
+ initialMatrix = parentMatrix;
restoreGraphicsStack(savedStack);
popResources(parent);