| /* |
| * 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. |
| */ |
| |
| /* $Id$ */ |
| |
| package org.apache.fop.render.bitmap; |
| |
| import org.apache.xmlgraphics.image.writer.ImageWriterParams; |
| |
| import org.apache.fop.render.java2d.Java2DRenderingSettings; |
| |
| import static org.apache.fop.render.bitmap.BitmapRendererOption.ANTI_ALIASING; |
| import static org.apache.fop.render.bitmap.BitmapRendererOption.COLOR_MODE; |
| import static org.apache.fop.render.bitmap.BitmapRendererOption.RENDERING_QUALITY; |
| |
| /** |
| * This class holds settings used when rendering to bitmaps. |
| */ |
| public class BitmapRenderingSettings extends Java2DRenderingSettings { |
| |
| /** ImageWriter parameters */ |
| private ImageWriterParams writerParams; |
| |
| /** Image Type as parameter for the BufferedImage constructor (see BufferedImage.TYPE_*) */ |
| private int bufferedImageType = (Integer) COLOR_MODE.getDefaultValue(); |
| |
| /** true if anti-aliasing is set */ |
| private boolean antialiasing = (Boolean) ANTI_ALIASING.getDefaultValue(); |
| |
| /** true if qualityRendering is set */ |
| private boolean qualityRendering = (Boolean) RENDERING_QUALITY.getDefaultValue(); |
| |
| /** |
| * Default constructor. Initializes the settings to their default values. |
| */ |
| public BitmapRenderingSettings() { |
| writerParams = new ImageWriterParams(); |
| } |
| |
| /** |
| * Returns the image writer parameters used for encoding the bitmap images. |
| * @return the image writer parameters |
| */ |
| public ImageWriterParams getWriterParams() { |
| return this.writerParams; |
| } |
| |
| /** |
| * Returns the BufferedImage type. |
| * @return one of BufferedImage.TYPE_* |
| */ |
| public int getBufferedImageType() { |
| return this.bufferedImageType; |
| } |
| |
| /** |
| * Sets the type of the BufferedImage to use when preparing a new instance. |
| * @param bufferedImageType a BufferImage.TYPE_* value |
| */ |
| public void setBufferedImageType(int bufferedImageType) { |
| this.bufferedImageType = bufferedImageType; |
| } |
| |
| /** |
| * Enables or disables anti-aliasing. |
| * @param value true to enable anti-aliasing |
| */ |
| public void setAntiAliasing(boolean value) { |
| this.antialiasing = value; |
| } |
| |
| /** |
| * Indicates whether anti-aliasing is enabled. |
| * @return true if anti-aliasing is enabled |
| */ |
| public boolean isAntiAliasingEnabled() { |
| return this.antialiasing; |
| } |
| |
| /** |
| * Controls whether to optimize rendering for speed or for quality. |
| * @param quality true to optimize for quality, false to optimize for speed |
| */ |
| public void setQualityRendering(boolean quality) { |
| this.qualityRendering = quality; |
| } |
| |
| /** |
| * Indicates whether quality rendering is enabled. |
| * @return true indicates optimization for quality, false indicates optimization for speed |
| */ |
| public boolean isQualityRenderingEnabled() { |
| return this.qualityRendering; |
| } |
| |
| /** |
| * Sets the compression method for the image writer. |
| * @param compressionMethod the compression method name |
| */ |
| public void setCompressionMethod(String compressionMethod) { |
| writerParams.setCompressionMethod(compressionMethod); |
| } |
| |
| /** |
| * Returns the compression method being used by the image writer. |
| * @return the compression method in use |
| */ |
| public String getCompressionMethod() { |
| return writerParams.getCompressionMethod(); |
| } |
| |
| /** |
| * Sets the resolution of the output image. |
| * @param dpi the dots-per-inch of the image |
| */ |
| public void setResolution(int dpi) { |
| writerParams.setResolution(dpi); |
| } |
| } |