diff options
author | Vincent Hennebert <vhennebert@apache.org> | 2014-07-11 17:58:59 +0000 |
---|---|---|
committer | Vincent Hennebert <vhennebert@apache.org> | 2014-07-11 17:58:59 +0000 |
commit | fd5c47183ea4a2d9bbee434b5333c539113042d1 (patch) | |
tree | 729a1cf6deefde816a3dbb1bcd8910e581645d85 /src/java/org/apache/fop/render/pdf/svg | |
parent | 27b5b411cd520f757764fcdf0bfa7694c5bf46ec (diff) | |
download | xmlgraphics-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.java | 59 |
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); + } + +} |