blob: 4363f1d5e9c1a1584157c181c7478a97028f5ac6 [file] [log] [blame]
/*
* 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);
}
}