aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/org/apache/fop/render/pdf/svg
diff options
context:
space:
mode:
authorVincent Hennebert <vhennebert@apache.org>2014-07-11 17:58:59 +0000
committerVincent Hennebert <vhennebert@apache.org>2014-07-11 17:58:59 +0000
commitfd5c47183ea4a2d9bbee434b5333c539113042d1 (patch)
tree729a1cf6deefde816a3dbb1bcd8910e581645d85 /src/java/org/apache/fop/render/pdf/svg
parent27b5b411cd520f757764fcdf0bfa7694c5bf46ec (diff)
downloadxmlgraphics-fop-fd5c47183ea4a2d9bbee434b5333c539113042d1.tar.gz
xmlgraphics-fop-fd5c47183ea4a2d9bbee434b5333c539113042d1.zip
Renamed GradientFactory into GradientMaker
Moved PDF/PSGradientMaker into dedicated packages Factory stands for a pattern relating to application deployment. This is just about rendering a gradient to a certain output format. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/FOP-2393_gradient-rendering@1609758 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java/org/apache/fop/render/pdf/svg')
-rw-r--r--src/java/org/apache/fop/render/pdf/svg/PDFGradientMaker.java59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/java/org/apache/fop/render/pdf/svg/PDFGradientMaker.java b/src/java/org/apache/fop/render/pdf/svg/PDFGradientMaker.java
new file mode 100644
index 000000000..dca2801a2
--- /dev/null
+++ b/src/java/org/apache/fop/render/pdf/svg/PDFGradientMaker.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.fop.render.pdf.svg;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.fop.pdf.PDFDeviceColorSpace;
+import org.apache.fop.pdf.PDFFunction;
+import org.apache.fop.pdf.PDFPattern;
+import org.apache.fop.pdf.PDFShading;
+import org.apache.fop.render.shading.Function;
+import org.apache.fop.render.shading.GradientMaker;
+import org.apache.fop.render.shading.Shading;
+import org.apache.fop.svg.PDFGraphics2D;
+
+public class PDFGradientMaker extends GradientMaker<PDFPattern> {
+
+ private final PDFGraphics2D graphics2D;
+
+ public PDFGradientMaker(PDFGraphics2D pdfGraphics2D) {
+ this.graphics2D = pdfGraphics2D;
+ }
+
+ @Override
+ protected Shading makeShading(int shadingType, PDFDeviceColorSpace colorSpace,
+ List<Double> coords, Function function) {
+ List<PDFFunction> pdfFunctions = new ArrayList<PDFFunction>(function.getFunctions().size());
+ for (Function f : function.getFunctions()) {
+ pdfFunctions.add(graphics2D.registerFunction(new PDFFunction(f)));
+ }
+ PDFFunction pdfFunction = graphics2D.registerFunction(new PDFFunction(function, pdfFunctions));
+ PDFShading shading = new PDFShading(shadingType, colorSpace, null, null, false,
+ coords, null, pdfFunction, null);
+ return graphics2D.registerShading(shading);
+ }
+
+ @Override
+ protected PDFPattern makePattern(int patternType, Shading shading, List<Double> matrix) {
+ PDFPattern pattern = new PDFPattern(patternType, shading, null, null, matrix);
+ return graphics2D.registerPattern(pattern);
+ }
+
+}