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);