You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2011/06/13 17:08:54 UTC
svn commit: r1135129 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator:
SetNonStrokingSeparation.java SetStrokingSeparation.java
Author: lehmi
Date: Mon Jun 13 15:08:54 2011
New Revision: 1135129
URL: http://svn.apache.org/viewvc?rev=1135129&view=rev
Log:
PDFBOX-963: the function to map the color values within a separation colorspace was only used on the first call
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetNonStrokingSeparation.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingSeparation.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetNonStrokingSeparation.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetNonStrokingSeparation.java?rev=1135129&r1=1135128&r2=1135129&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetNonStrokingSeparation.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetNonStrokingSeparation.java Mon Jun 13 15:08:54 2011
@@ -19,16 +19,10 @@ package org.apache.pdfbox.util.operator;
import java.io.IOException;
import java.util.List;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.apache.pdfbox.cos.COSArray;
import org.apache.pdfbox.cos.COSBase;
-import org.apache.pdfbox.pdmodel.graphics.color.PDCalRGB;
import org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace;
import org.apache.pdfbox.pdmodel.graphics.color.PDColorState;
-import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceCMYK;
-import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceGray;
-import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB;
-import org.apache.pdfbox.pdmodel.graphics.color.PDICCBased;
import org.apache.pdfbox.pdmodel.graphics.color.PDSeparation;
import org.apache.pdfbox.util.PDFOperator;
@@ -41,12 +35,6 @@ public class SetNonStrokingSeparation ex
{
/**
- * Log instance.
- */
- private static final Log log =
- LogFactory.getLog(SetNonStrokingSeparation.class);
-
- /**
* scn Set color space for non stroking operations.
* @param operator The operator that is being executed.
* @param arguments List
@@ -59,48 +47,10 @@ public class SetNonStrokingSeparation ex
if (colorSpace != null)
{
- List<COSBase> argList = arguments;
- OperatorProcessor newOperator = null;
-
- if (colorSpace instanceof PDSeparation) {
- PDSeparation sep = (PDSeparation) colorSpace;
- colorSpace = sep.getAlternateColorSpace();
- argList = sep.calculateColorValues(arguments.get(0)).toList();
- }
-
- if (colorSpace instanceof PDDeviceGray)
- {
- newOperator = new SetNonStrokingGrayColor();
- }
- else if (colorSpace instanceof PDDeviceRGB)
- {
- newOperator = new SetNonStrokingRGBColor();
- }
- else if (colorSpace instanceof PDDeviceCMYK)
- {
- newOperator = new SetNonStrokingCMYKColor();
- }
- else if (colorSpace instanceof PDICCBased)
- {
- newOperator = new SetNonStrokingICCBasedColor();
- }
- else if (colorSpace instanceof PDCalRGB)
- {
- newOperator = new SetNonStrokingCalRGBColor();
- }
-
- if (newOperator != null)
- {
- colorInstance.setColorSpace(colorSpace);
- newOperator.setContext(getContext());
- newOperator.process(operator, argList);
- }
- else
- {
- log.warn("Not supported colorspace "+colorSpace.getName()
- + " within operator "+operator.getOperation());
- }
+ PDSeparation sep = (PDSeparation) colorSpace;
+ colorSpace = sep.getAlternateColorSpace();
+ COSArray values = sep.calculateColorValues(arguments.get(0));
+ colorInstance.setColorSpaceValue(values.toFloatArray());
}
-
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingSeparation.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingSeparation.java?rev=1135129&r1=1135128&r2=1135129&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingSeparation.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingSeparation.java Mon Jun 13 15:08:54 2011
@@ -19,16 +19,10 @@ package org.apache.pdfbox.util.operator;
import java.io.IOException;
import java.util.List;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.apache.pdfbox.cos.COSArray;
import org.apache.pdfbox.cos.COSBase;
-import org.apache.pdfbox.pdmodel.graphics.color.PDCalRGB;
import org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace;
import org.apache.pdfbox.pdmodel.graphics.color.PDColorState;
-import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceCMYK;
-import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceGray;
-import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB;
-import org.apache.pdfbox.pdmodel.graphics.color.PDICCBased;
import org.apache.pdfbox.pdmodel.graphics.color.PDSeparation;
import org.apache.pdfbox.util.PDFOperator;
@@ -41,12 +35,6 @@ public class SetStrokingSeparation exten
{
/**
- * Log instance.
- */
- private static final Log log =
- LogFactory.getLog(SetStrokingSeparation.class);
-
- /**
* scn Set color space for non stroking operations.
* @param operator The operator that is being executed.
* @param arguments List
@@ -54,53 +42,15 @@ public class SetStrokingSeparation exten
*/
public void process(PDFOperator operator, List<COSBase> arguments) throws IOException
{
- PDColorState color = context.getGraphicsState().getStrokingColor();
- PDColorSpace colorSpace = color.getColorSpace();
+ PDColorState colorInstance = context.getGraphicsState().getStrokingColor();
+ PDColorSpace colorSpace = colorInstance.getColorSpace();
if (colorSpace != null)
{
- OperatorProcessor newOperator = null;
- List<COSBase> argList = arguments;
-
- if (colorSpace instanceof PDSeparation)
- {
- PDSeparation sep = (PDSeparation) colorSpace;
- colorSpace = sep.getAlternateColorSpace();
- argList = sep.calculateColorValues(arguments.get(0)).toList();
- }
-
- if (colorSpace instanceof PDDeviceGray)
- {
- newOperator = new SetStrokingGrayColor();
- }
- else if (colorSpace instanceof PDDeviceRGB)
- {
- newOperator = new SetStrokingRGBColor();
- }
- else if (colorSpace instanceof PDDeviceCMYK)
- {
- newOperator = new SetStrokingCMYKColor();
- }
- else if (colorSpace instanceof PDICCBased)
- {
- newOperator = new SetStrokingICCBasedColor();
- }
- else if (colorSpace instanceof PDCalRGB)
- {
- newOperator = new SetStrokingCalRGBColor();
- }
-
- if (newOperator != null)
- {
- color.setColorSpace(colorSpace);
- newOperator.setContext(getContext());
- newOperator.process(operator, argList);
- }
- else
- {
- log.warn("Not supported colorspace "+colorSpace.getName()
- + " within operator "+operator.getOperation());
- }
+ PDSeparation sep = (PDSeparation) colorSpace;
+ colorSpace = sep.getAlternateColorSpace();
+ COSArray values = sep.calculateColorValues(arguments.get(0));
+ colorInstance.setColorSpaceValue(values.toFloatArray());
}
}
}