PageDrawerParameters.java
/*
* 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.pdfbox.rendering;
import java.awt.RenderingHints;
import org.apache.pdfbox.pdmodel.PDPage;
/**
* Parameters for a PageDrawer. This class ensures allows PDFRenderer and PageDrawer to share
* private implementation data in a future-proof manner, while still allowing end-users to create
* their own subclasses of PageDrawer.
*
* @author John Hewson
*/
public final class PageDrawerParameters
{
private final PDFRenderer renderer;
private final PDPage page;
private final boolean subsamplingAllowed;
private final RenderDestination destination;
private final RenderingHints renderingHints;
private final float imageDownscalingOptimizationThreshold;
/**
* Package-private constructor.
*/
PageDrawerParameters(PDFRenderer renderer, PDPage page, boolean subsamplingAllowed,
RenderDestination destination, RenderingHints renderingHints,
float imageDownscalingOptimizationThreshold)
{
this.renderer = renderer;
this.page = page;
this.subsamplingAllowed = subsamplingAllowed;
this.destination = destination;
this.renderingHints = renderingHints;
this.imageDownscalingOptimizationThreshold = imageDownscalingOptimizationThreshold;
}
/**
* Returns the page.
*/
public PDPage getPage()
{
return page;
}
/**
* Returns the renderer.
*/
PDFRenderer getRenderer()
{
return renderer;
}
/**
* Returns whether to allow subsampling of images.
*/
public boolean isSubsamplingAllowed()
{
return subsamplingAllowed;
}
/**
* @return the destination
*/
public RenderDestination getDestination()
{
return this.destination;
}
/**
* @return the rendering hints.
*/
public RenderingHints getRenderingHints()
{
return renderingHints;
}
/**
*
* @return the imageDownscalingOptimizationThreshold
*/
public float getImageDownscalingOptimizationThreshold()
{
return imageDownscalingOptimizationThreshold;
}
}