blob: 1bdb18cf24535ded07026bbfda75e9e06549baad [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.afp;
import java.net.URI;
import org.apache.fop.afp.AFPResourceLevelDefaults;
/**
* Interface used to customize the AFP renderer or document handler.
*/
public interface AFPCustomizable {
/**
* Sets the number of bits used per pixel
*
* @param bitsPerPixel
* number of bits per pixel
*/
void setBitsPerPixel(int bitsPerPixel);
/**
* Sets whether images are color or not
*
* @param colorImages
* color image output
*/
void setColorImages(boolean colorImages);
/**
* Sets whether images are supported natively or not
*
* @param nativeImages
* native image support
*/
void setNativeImagesSupported(boolean nativeImages);
/**
* Controls whether CMYK images (IOCA FS45) are enabled. By default, support is disabled
* for wider compatibility. When disabled, any CMYK image is converted to the selected
* color format.
* @param value true to enabled CMYK images
*/
void setCMYKImagesSupported(boolean value);
/**
* Sets the shading mode for painting filled rectangles.
* @param shadingMode the shading mode
*/
void setShadingMode(AFPShadingMode shadingMode);
/**
* Sets the dithering quality setting to use when converting images to monochrome images.
* @param quality Defines the desired quality level for the conversion.
* Valid values: a value between 0.0f (fastest) and 1.0f (best)
*/
void setDitheringQuality(float quality);
/**
* Sets the image encoding quality setting to use when encoding bitmap images.
* The default setting is 1.0 which means loss-less encoding. Settings of less than 1.0
* allow loss-less encoding schemes like JPEG. The value serves as quality setting for
* the encoders in that case.
* @param quality Defines the desired quality level.
* Valid values: a value between 0.0f (lowest) and 1.0f (best, loss-less)
*/
void setBitmapEncodingQuality(float quality);
/**
* Sets the output/device resolution
*
* @param resolution
* the output resolution (dpi)
*/
void setResolution(int resolution);
/**
* Sets the line width correction
*
* @param correction the line width multiplying factor correction
*/
void setLineWidthCorrection(float correction);
/**
* Sets whether FS11 and FS45 non-inline images should be wrapped in a page segment
* @param pSeg true iff images should be wrapped
*/
void setWrapPSeg(boolean pSeg);
/**
* set true if images should be FS45
* @param fs45 true iff images should be FS45
*/
void setFS45(boolean fs45);
/**
* gets whether FS11 and FS45 non-inline images should be wrapped in a page segment
* @return true iff images should be wrapped
*/
boolean getWrapPSeg();
/**
* gets whether images should be FS45
* @return true iff images should be FS45
*/
boolean getFS45();
/**
* Returns the output/device resolution.
*
* @return the resolution in dpi
*/
int getResolution();
/**
* Controls whether GOCA is enabled or disabled.
* @param enabled true if GOCA is enabled, false if it is disabled
*/
void setGOCAEnabled(boolean enabled);
/**
* Indicates whether GOCA is enabled or disabled.
* @return true if GOCA is enabled, false if GOCA is disabled
*/
boolean isGOCAEnabled();
/**
* Controls whether to stroke text in GOCA mode or to use text operators where possible.
* @param stroke true to stroke, false to paint with text operators where possible
*/
void setStrokeGOCAText(boolean stroke);
/**
* Indicates whether to stroke text in GOCA mode or to use text operators where possible.
* @return true to stroke, false to paint with text operators where possible
*/
boolean isStrokeGOCAText();
/**
* Sets the default resource group URI
* @param uri the default resource group URI
*/
void setDefaultResourceGroupUri(URI uri);
/**
* Sets the resource level defaults. The object passed in provides information which resource
* level shall be used by default for various kinds of resources.
* @param defaults the resource level defaults
*/
void setResourceLevelDefaults(AFPResourceLevelDefaults defaults);
/**
* Sets whether or not to JPEG images can be embedded in the AFP document.
*
* @param canEmbed whether or not to embed JPEG image
*/
void canEmbedJpeg(boolean canEmbed);
}