Package org.apache.fop.render.ps
Class PSImageHandlerSVG
- java.lang.Object
-
- org.apache.fop.render.ps.PSImageHandlerSVG
-
- All Implemented Interfaces:
ImageHandler
,ImageHandlerBase
public class PSImageHandlerSVG extends java.lang.Object implements ImageHandler
Image handler implementation which handles SVG images for PostScript output.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
PSImageHandlerSVG.MaskedImage
-
Field Summary
Fields Modifier and Type Field Description private static java.awt.Color
FALLBACK_COLOR
private static org.apache.xmlgraphics.image.loader.ImageFlavor[]
FLAVORS
private java.util.HashMap<java.lang.String,java.lang.String>
gradientsFound
-
Constructor Summary
Constructors Constructor Description PSImageHandlerSVG()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private PSImageHandlerSVG.MaskedImage
convertToRGB(java.awt.image.BufferedImage alphaImage)
private java.lang.Float
getDimension(org.w3c.dom.Document document, java.lang.String dimension)
int
getPriority()
Returns the priority for this image handler.java.lang.Class
getSupportedImageClass()
Returns theClass
subclass supported by this instance.org.apache.xmlgraphics.image.loader.ImageFlavor[]
getSupportedImageFlavors()
Returns theImageFlavor
s supported by this instancevoid
handleImage(RenderingContext context, org.apache.xmlgraphics.image.loader.Image image, java.awt.Rectangle pos)
Handles the givenImage
instance painting it at the indicated position in the output format being generated.boolean
isCompatible(RenderingContext targetContext, org.apache.xmlgraphics.image.loader.Image image)
Indicates whether the image handler is compatible with the indicated target represented by the rendering context object and with the image to be processed.private boolean
recurseSVGElements(org.w3c.dom.NodeList childNodes, java.util.List<java.lang.String> gradMatches, boolean isMatched)
private java.io.InputStream
renderSVGToInputStream(org.apache.xmlgraphics.image.loader.impl.ImageXMLDOM imageSVG, java.awt.Rectangle destinationRect)
private boolean
shouldRaster(org.apache.xmlgraphics.image.loader.impl.ImageXMLDOM image)
static boolean
shouldStrokeText(org.w3c.dom.NodeList childNodes)
-
-
-
Method Detail
-
handleImage
public void handleImage(RenderingContext context, org.apache.xmlgraphics.image.loader.Image image, java.awt.Rectangle pos) throws java.io.IOException
Handles the givenImage
instance painting it at the indicated position in the output format being generated.- Specified by:
handleImage
in interfaceImageHandler
- Parameters:
context
- the rendering contextimage
- the image to be handledpos
- the position and scaling of the image relative to the origin point of the current viewport (in millipoints)- Throws:
java.io.IOException
- if an I/O error occurs
-
renderSVGToInputStream
private java.io.InputStream renderSVGToInputStream(org.apache.xmlgraphics.image.loader.impl.ImageXMLDOM imageSVG, java.awt.Rectangle destinationRect) throws java.io.IOException
- Throws:
java.io.IOException
-
convertToRGB
private PSImageHandlerSVG.MaskedImage convertToRGB(java.awt.image.BufferedImage alphaImage)
-
getDimension
private java.lang.Float getDimension(org.w3c.dom.Document document, java.lang.String dimension)
-
shouldRaster
private boolean shouldRaster(org.apache.xmlgraphics.image.loader.impl.ImageXMLDOM image)
-
recurseSVGElements
private boolean recurseSVGElements(org.w3c.dom.NodeList childNodes, java.util.List<java.lang.String> gradMatches, boolean isMatched)
-
shouldStrokeText
public static boolean shouldStrokeText(org.w3c.dom.NodeList childNodes)
-
getPriority
public int getPriority()
Returns the priority for this image handler. A lower value means higher priority. This information is used to build the ordered/prioritized list of supported ImageFlavors. The built-in handlers use priorities between 100 and 999.- Specified by:
getPriority
in interfaceImageHandlerBase
- Returns:
- a positive integer (>0) indicating the priority
-
getSupportedImageClass
public java.lang.Class getSupportedImageClass()
Returns theClass
subclass supported by this instance.- Specified by:
getSupportedImageClass
in interfaceImageHandlerBase
- Returns:
- the image Class type
-
getSupportedImageFlavors
public org.apache.xmlgraphics.image.loader.ImageFlavor[] getSupportedImageFlavors()
Returns theImageFlavor
s supported by this instance- Specified by:
getSupportedImageFlavors
in interfaceImageHandlerBase
- Returns:
- the supported image flavors
-
isCompatible
public boolean isCompatible(RenderingContext targetContext, org.apache.xmlgraphics.image.loader.Image image)
Indicates whether the image handler is compatible with the indicated target represented by the rendering context object and with the image to be processed. The image is also passed as a parameter because a handler might not support every subtype of image that is presented. For example: in the case ofImageXMLDOM
, the image might carry an SVG or some other XML format. One handler might only handle SVG but no other XML format.- Specified by:
isCompatible
in interfaceImageHandler
- Parameters:
targetContext
- the target rendering contextimage
- the image to be processed (or null if only to check based on the rendering context)- Returns:
- true if this handler is compatible with the target rendering context
-
-