public class RenderableImageOp extends Object implements RenderableImage
This class handles the renderable aspects of an operation with help from its associated instance of a ContextualRenderedImageFactory.
HINTS_OBSERVED
public RenderableImageOp(ContextualRenderedImageFactory CRIF, ParameterBlock paramBlock)
Constructs a RenderedImageOp given a ContextualRenderedImageFactory object, and a ParameterBlock containing RenderableImage sources and other parameters. Any RenderedImage sources referenced by the ParameterBlock will be ignored.
CRIF
- a ContextualRenderedImageFactory objectparamBlock
- a ParameterBlock containing this operation's source images and other parameters necessary for the operation to run.public Vector<RenderableImage> getSources()
Returns a vector of RenderableImages that are the sources of image data for this RenderableImage. Note that this method may return an empty vector, to indicate that the image has no sources, or null, to indicate that no information is available.
getSources
in interface RenderableImage
public Object getProperty(String name)
Gets a property from the property set of this image. If the property name is not recognized, java.awt.Image.UndefinedProperty will be returned.
getProperty
in interface RenderableImage
name
- the name of the property to get, as a String.public String[] getPropertyNames()
Return a list of names recognized by getProperty.
getPropertyNames
in interface RenderableImage
public boolean isDynamic()
Returns true if successive renderings (that is, calls to createRendering() or createScaledRendering()) with the same arguments may produce different results. This method may be used to determine whether an existing rendering may be cached and reused. The CRIF's isDynamic method will be called.
isDynamic
in interface RenderableImage
true
if successive renderings with the same arguments might produce different results; false
otherwise.public float getWidth()
Gets the width in user coordinate space. By convention, the usual width of a RenderableImage is equal to the image's aspect ratio (width divided by height).
getWidth
in interface RenderableImage
public float getHeight()
Gets the height in user coordinate space. By convention, the usual height of a RenderedImage is equal to 1.0F.
getHeight
in interface RenderableImage
public float getMinX()
Gets the minimum X coordinate of the rendering-independent image data.
getMinX
in interface RenderableImage
public float getMinY()
Gets the minimum Y coordinate of the rendering-independent image data.
getMinY
in interface RenderableImage
public ParameterBlock setParameterBlock(ParameterBlock paramBlock)
Change the current ParameterBlock of the operation, allowing editing of image rendering chains. The effects of such a change will be visible when a new rendering is created from this RenderableImageOp or any dependent RenderableImageOp.
paramBlock
- the new ParameterBlock.getParameterBlock()
public ParameterBlock getParameterBlock()
Returns a reference to the current parameter block.
ParameterBlock
of this RenderableImageOp
.setParameterBlock(ParameterBlock)
public RenderedImage createScaledRendering(int w, int h, RenderingHints hints)
Creates a RenderedImage instance of this image with width w, and height h in pixels. The RenderContext is built automatically with an appropriate usr2dev transform and an area of interest of the full image. All the rendering hints come from hints passed in.
If w == 0, it will be taken to equal Math.round(h*(getWidth()/getHeight())). Similarly, if h == 0, it will be taken to equal Math.round(w*(getHeight()/getWidth())). One of w or h must be non-zero or else an IllegalArgumentException will be thrown.
The created RenderedImage may have a property identified by the String HINTS_OBSERVED to indicate which RenderingHints were used to create the image. In addition any RenderedImages that are obtained via the getSources() method on the created RenderedImage may have such a property.
createScaledRendering
in interface RenderableImage
w
- the width of rendered image in pixels, or 0.h
- the height of rendered image in pixels, or 0.hints
- a RenderingHints object containing hints.public RenderedImage createDefaultRendering()
Gets a RenderedImage instance of this image with a default width and height in pixels. The RenderContext is built automatically with an appropriate usr2dev transform and an area of interest of the full image. All the rendering hints come from hints passed in. Implementors of this interface must be sure that there is a defined default width and height.
createDefaultRendering
in interface RenderableImage
public RenderedImage createRendering(RenderContext renderContext)
Creates a RenderedImage which represents this RenderableImageOp (including its Renderable sources) rendered according to the given RenderContext.
This method supports chaining of either Renderable or RenderedImage operations. If sources in the ParameterBlock used to construct the RenderableImageOp are RenderableImages, then a three step process is followed:
If the elements of the source Vector of the ParameterBlock used to construct the RenderableImageOp are instances of RenderedImage, then the CRIF.create() method is called immediately using the original ParameterBlock. This provides a basis case for the recursion.
The created RenderedImage may have a property identified by the String HINTS_OBSERVED to indicate which RenderingHints (from the RenderContext) were used to create the image. In addition any RenderedImages that are obtained via the getSources() method on the created RenderedImage may have such a property.
createRendering
in interface RenderableImage
renderContext
- The RenderContext to use to perform the rendering.
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.