org.apache.batik.bridge

Class SVGUtilities

public abstract class SVGUtilities extends Object implements SVGConstants, ErrorConstants

A collection of utility methods for SVG.
Field Summary
static shortOBJECT_BOUNDING_BOX
The objectBoundingBox coordinate system constants.
static shortSTROKE_WIDTH
The strokeWidth coordinate system constants.
static shortUSER_SPACE_ON_USE
The userSpaceOnUse coordinate system constants.
Constructor Summary
protected SVGUtilities()
No instance of this class is required.
Method Summary
static Rectangle2DconvertFilterChainRegion(Element filterElement, Element filteredElement, GraphicsNode filteredNode, BridgeContext ctx)
Returns the filter region according to the x, y, width, height, dx, dy, dw, dh and filterUnits attributes.
static Rectangle2DconvertFilterPrimitiveRegion(Element filterPrimitiveElement, Element filterElement, Element filteredElement, GraphicsNode filteredNode, Rectangle2D defaultRegion, Rectangle2D filterRegion, BridgeContext ctx)
Returns the filter primitive region according to the x, y, width, height, and filterUnits attributes.
static Rectangle2DconvertFilterPrimitiveRegion(Element filterPrimitiveElement, Element filteredElement, GraphicsNode filteredNode, Rectangle2D defaultRegion, Rectangle2D filterRegion, BridgeContext ctx)
Returns the filter primitive region according to the x, y, width, height, and filterUnits attributes.
static float[]convertFilterRes(Element filterElement, BridgeContext ctx)
Returns an array of 2 float numbers that describes the filter resolution of the specified filter element.
static floatconvertLength(String length, String attr, short unitsType, Context uctx)
Returns a float in user units according to the specified parameters.
static Rectangle2DconvertMaskRegion(Element maskElement, Element maskedElement, GraphicsNode maskedNode, BridgeContext ctx)
Returns the mask region according to the x, y, width, height, and maskUnits attributes.
static Rectangle2DconvertPatternRegion(Element patternElement, Element paintedElement, GraphicsNode paintedNode, BridgeContext ctx)
Returns the pattern region according to the x, y, width, height, and patternUnits attributes.
static Point2DconvertPoint(String xStr, String xAttr, String yStr, String yAttr, short unitsType, Context uctx)
Returns a Point2D in user units according to the specified parameters.
static floatconvertRatio(String v)
Converts the specified ratio to float number.
protected static Rectangle2DconvertRegion(String xStr, String yStr, String wStr, String hStr, short unitsType, GraphicsNode targetNode, Context uctx)
Returns a rectangle that represents the region defined by the specified coordinates.
static floatconvertSnapshotTime(Element e, BridgeContext ctx)
Returns the value of the 'snapshotTime' attribute on the specified element as a float, or 0f if the attribute is missing or given as "none".
static intconvertSVGInteger(String s)
Converts a string into an integer.
static floatconvertSVGNumber(String s)
Converts a string into a float.
static float[]convertSVGNumberList(SVGNumberList l)
Converts an SVGNumberList into a float array.
static Float[]convertSVGNumberOptionalNumber(Element elem, String attrName, String attrValue, BridgeContext ctx)
This function parses attrValue for a number followed by an optional second Number.
static AffineTransformconvertTransform(Element e, String attr, String transform, BridgeContext ctx)
Returns an AffineTransform according to the specified parameters.
protected static Rectangle2DextendRegion(String dxStr, String dyStr, String dwStr, String dhStr, short unitsType, GraphicsNode filteredNode, Rectangle2D region, Context uctx)
Returns a rectangle that represents the region extended by the specified differential coordinates.
static Rectangle2DgetBaseFilterPrimitiveRegion(Element filterPrimitiveElement, Element filteredElement, GraphicsNode filteredNode, Rectangle2D defaultRegion, BridgeContext ctx)
static StringgetChainableAttributeNS(Element element, String namespaceURI, String attrName, BridgeContext ctx)
Returns the value of the specified attribute specified on the specified element or one of its ancestor.
static StringgetDescription(SVGElement elt)
Returns the content of the 'desc' child of the given element.
static ElementgetParentElement(Element elt)
Returns the logical parent element of the given element.
static booleanmatchUserAgent(Element elt, UserAgent ua)
Tests whether or not the given element match a specified user agent.
protected static booleanmatchUserLanguage(String s, String userLanguages)
Tests whether or not the specified language specification matches the user preferences.
static shortparseCoordinateSystem(Element e, String attr, String coordinateSystem, BridgeContext ctx)
Parses the specified coordinate system defined by the specified element.
static shortparseMarkerCoordinateSystem(Element e, String attr, String coordinateSystem, BridgeContext ctx)
Parses the specified coordinate system defined by the specified marker element.
static AffineTransformtoObjectBBox(AffineTransform Tx, GraphicsNode node)
Returns an AffineTransform to move to the objectBoundingBox coordinate system.
static Rectangle2DtoObjectBBox(Rectangle2D r, GraphicsNode node)
Returns the specified a Rectangle2D move to the objectBoundingBox coordinate system of the specified graphics node.

Field Detail

OBJECT_BOUNDING_BOX

public static final short OBJECT_BOUNDING_BOX
The objectBoundingBox coordinate system constants.

STROKE_WIDTH

public static final short STROKE_WIDTH
The strokeWidth coordinate system constants.

USER_SPACE_ON_USE

public static final short USER_SPACE_ON_USE
The userSpaceOnUse coordinate system constants.

Constructor Detail

SVGUtilities

protected SVGUtilities()
No instance of this class is required.

Method Detail

convertFilterChainRegion

public static Rectangle2D convertFilterChainRegion(Element filterElement, Element filteredElement, GraphicsNode filteredNode, BridgeContext ctx)
Returns the filter region according to the x, y, width, height, dx, dy, dw, dh and filterUnits attributes.

Parameters: filterElement the filter element that defines the attributes filteredElement the element referencing the filter filteredNode the graphics node to filter (objectBoundingBox) ctx the bridge context

convertFilterPrimitiveRegion

public static Rectangle2D convertFilterPrimitiveRegion(Element filterPrimitiveElement, Element filterElement, Element filteredElement, GraphicsNode filteredNode, Rectangle2D defaultRegion, Rectangle2D filterRegion, BridgeContext ctx)
Returns the filter primitive region according to the x, y, width, height, and filterUnits attributes. Processing the element as the top one in the filter chain.

Parameters: filterPrimitiveElement the filter primitive element filterElement the filter element filteredElement the element referencing the filter filteredNode the graphics node to use (objectBoundingBox) defaultRegion the default region to filter filterRegion the filter chain region ctx the bridge context

convertFilterPrimitiveRegion

public static Rectangle2D convertFilterPrimitiveRegion(Element filterPrimitiveElement, Element filteredElement, GraphicsNode filteredNode, Rectangle2D defaultRegion, Rectangle2D filterRegion, BridgeContext ctx)
Returns the filter primitive region according to the x, y, width, height, and filterUnits attributes. Processing the element as the top one in the filter chain.

Parameters: filterPrimitiveElement the filter primitive element filteredElement the element referencing the filter filteredNode the graphics node to use (objectBoundingBox) defaultRegion the default region to filter filterRegion the filter chain region ctx the bridge context

convertFilterRes

public static float[] convertFilterRes(Element filterElement, BridgeContext ctx)
Returns an array of 2 float numbers that describes the filter resolution of the specified filter element.

Parameters: filterElement the filter element ctx the bridge context

convertLength

public static float convertLength(String length, String attr, short unitsType, Context uctx)
Returns a float in user units according to the specified parameters.

Parameters: length the length attr the name of the attribute that represents the length unitsType the coordinate system (OBJECT_BOUNDING_BOX | USER_SPACE_ON_USE) uctx the unit processor context

convertMaskRegion

public static Rectangle2D convertMaskRegion(Element maskElement, Element maskedElement, GraphicsNode maskedNode, BridgeContext ctx)
Returns the mask region according to the x, y, width, height, and maskUnits attributes.

Parameters: maskElement the mask element that defines the various attributes maskedElement the element referencing the mask maskedNode the graphics node to mask (objectBoundingBox) ctx the bridge context

convertPatternRegion

public static Rectangle2D convertPatternRegion(Element patternElement, Element paintedElement, GraphicsNode paintedNode, BridgeContext ctx)
Returns the pattern region according to the x, y, width, height, and patternUnits attributes.

Parameters: patternElement the pattern element that defines the attributes paintedElement the element referencing the pattern paintedNode the graphics node to paint (objectBoundingBox) ctx the bridge context

convertPoint

public static Point2D convertPoint(String xStr, String xAttr, String yStr, String yAttr, short unitsType, Context uctx)
Returns a Point2D in user units according to the specified parameters.

Parameters: xStr the x coordinate xAttr the name of the attribute that represents the x coordinate yStr the y coordinate yAttr the name of the attribute that represents the y coordinate unitsType the coordinate system (OBJECT_BOUNDING_BOX | USER_SPACE_ON_USE) uctx the unit processor context

convertRatio

public static float convertRatio(String v)
Converts the specified ratio to float number.

Parameters: v the ratio value to convert

Throws: NumberFormatException if the ratio is not a valid number or percentage

convertRegion

protected static Rectangle2D convertRegion(String xStr, String yStr, String wStr, String hStr, short unitsType, GraphicsNode targetNode, Context uctx)
Returns a rectangle that represents the region defined by the specified coordinates.

Parameters: xStr the x coordinate of the region yStr the y coordinate of the region wStr the width of the region hStr the height of the region targetNode the graphics node (needed for objectBoundingBox) uctx the unit processor context (needed for userSpaceOnUse)

convertSnapshotTime

public static float convertSnapshotTime(Element e, BridgeContext ctx)
Returns the value of the 'snapshotTime' attribute on the specified element as a float, or 0f if the attribute is missing or given as "none".

Parameters: e the element from which to retrieve the 'snapshotTime' attribute ctx the BridgeContext to use for error information

convertSVGInteger

public static int convertSVGInteger(String s)
Converts a string into an integer.

Parameters: s the integer representation to convert

convertSVGNumber

public static float convertSVGNumber(String s)
Converts a string into a float.

Parameters: s the float representation to convert

convertSVGNumberList

public static float[] convertSVGNumberList(SVGNumberList l)
Converts an SVGNumberList into a float array.

Parameters: l the list to convert

convertSVGNumberOptionalNumber

public static Float[] convertSVGNumberOptionalNumber(Element elem, String attrName, String attrValue, BridgeContext ctx)
This function parses attrValue for a number followed by an optional second Number. It always returns an array of two Floats. If either or both values are not provided the entries are set to null

convertTransform

public static AffineTransform convertTransform(Element e, String attr, String transform, BridgeContext ctx)
Returns an AffineTransform according to the specified parameters.

Parameters: e the element that defines the transform attr the name of the attribute that represents the transform transform the transform to parse ctx the BridgeContext to use for error information

extendRegion

protected static Rectangle2D extendRegion(String dxStr, String dyStr, String dwStr, String dhStr, short unitsType, GraphicsNode filteredNode, Rectangle2D region, Context uctx)
Returns a rectangle that represents the region extended by the specified differential coordinates.

Parameters: dxStr the differential x coordinate of the region dyStr the differential y coordinate of the region dwStr the differential width of the region dhStr the differential height of the region unitsType specifies whether the values are in userSpaceOnUse or objectBoundingBox space region the region to extend uctx the unit processor context (needed for userSpaceOnUse)

getBaseFilterPrimitiveRegion

public static Rectangle2D getBaseFilterPrimitiveRegion(Element filterPrimitiveElement, Element filteredElement, GraphicsNode filteredNode, Rectangle2D defaultRegion, BridgeContext ctx)

getChainableAttributeNS

public static String getChainableAttributeNS(Element element, String namespaceURI, String attrName, BridgeContext ctx)
Returns the value of the specified attribute specified on the specified element or one of its ancestor. Ancestors are found using the xlink:href attribute.

Parameters: element the element to start with namespaceURI the namespace URI of the attribute to return attrName the name of the attribute to search ctx the bridge context

Returns: the value of the attribute or an empty string if not defined

getDescription

public static String getDescription(SVGElement elt)
Returns the content of the 'desc' child of the given element.

getParentElement

public static Element getParentElement(Element elt)
Returns the logical parent element of the given element. The parent element of a used element is the <use> element which reference it.

matchUserAgent

public static boolean matchUserAgent(Element elt, UserAgent ua)
Tests whether or not the given element match a specified user agent.

Parameters: elt the element to check ua the user agent

matchUserLanguage

protected static boolean matchUserLanguage(String s, String userLanguages)
Tests whether or not the specified language specification matches the user preferences.

Parameters: s the langage to check userLanguages the user langages

parseCoordinateSystem

public static short parseCoordinateSystem(Element e, String attr, String coordinateSystem, BridgeContext ctx)
Parses the specified coordinate system defined by the specified element.

Parameters: e the element that defines the coordinate system attr the attribute which contains the coordinate system coordinateSystem the coordinate system to parse ctx the BridgeContext to use for error information

Returns: OBJECT_BOUNDING_BOX | USER_SPACE_ON_USE

parseMarkerCoordinateSystem

public static short parseMarkerCoordinateSystem(Element e, String attr, String coordinateSystem, BridgeContext ctx)
Parses the specified coordinate system defined by the specified marker element.

Parameters: e the element that defines the coordinate system attr the attribute which contains the coordinate system coordinateSystem the coordinate system to parse ctx the BridgeContext to use for error information

Returns: STROKE_WIDTH | USER_SPACE_ON_USE

toObjectBBox

public static AffineTransform toObjectBBox(AffineTransform Tx, GraphicsNode node)
Returns an AffineTransform to move to the objectBoundingBox coordinate system.

Parameters: Tx the original transformation node the graphics node that defines the coordinate system to move into

toObjectBBox

public static Rectangle2D toObjectBBox(Rectangle2D r, GraphicsNode node)
Returns the specified a Rectangle2D move to the objectBoundingBox coordinate system of the specified graphics node.

Parameters: r the original Rectangle2D node the graphics node that defines the coordinate system to move into

Copyright B) 2008 Apache Software Foundation. All Rights Reserved.