org.apache.batik.refimpl.bridge
Class SVGUtilities

java.lang.Object
  |
  +--org.apache.batik.refimpl.bridge.SVGUtilities
All Implemented Interfaces:
CSSConstants, SVGConstants

public class SVGUtilities
extends java.lang.Object
implements SVGConstants

This class contains utility methods for SVG.


Inner Class Summary
protected static class SVGUtilities.PreserveAspectRatio
          To store the preserveAspectRatio attribute values.
 
Field Summary
static int BACKGROUND_ALPHA
          Represents 'BackgroundAlpha'.
static int BACKGROUND_IMAGE
          Represents 'BackgroundImage'.
static int EMPTY
          Represents an empty string attribute.
static int FILL_PAINT
          Represents 'FillPaint'.
static int IDENTIFIER
          Represents an identifier.
static int OBJECT_BOUNDING_BOX
          Represents 'objectBoundingBox'.
static int SOURCE_ALPHA
          Represents 'SourceAlpha'.
static int SOURCE_GRAPHIC
          Represents 'SourceGraphic'.
static int STROKE_PAINT
          Represents 'StrokePaint'.
static int USER_SPACE_ON_USE
          Represents 'userSpaceOnUse'.
 
Fields inherited from interface org.apache.batik.util.SVGConstants
ATTR_AMPLITUDE, ATTR_AZIMUTH, ATTR_BASE_FREQUENCY, ATTR_BIAS, ATTR_CLIP_PATH, ATTR_CLIP_PATH_UNITS, ATTR_COLOR_INTERPOLATION, ATTR_COLOR_RENDERING, ATTR_CX, ATTR_CY, ATTR_D, ATTR_DIFFUSE_CONSTANT, ATTR_DIVISOR, ATTR_DX, ATTR_DY, ATTR_EDGE_MODE, ATTR_ELEVATION, ATTR_ENABLE_BACKGROUND, ATTR_EXPONENT, ATTR_FILL, ATTR_FILL_OPACITY, ATTR_FILL_RULE, ATTR_FILTER, ATTR_FILTER_RES, ATTR_FILTER_UNITS, ATTR_FLOOD_COLOR, ATTR_FLOOD_OPACITY, ATTR_FONT_FAMILY, ATTR_FONT_SIZE, ATTR_FONT_STYLE, ATTR_FONT_WEIGHT, ATTR_FX, ATTR_FY, ATTR_GRADIENT_TRANSFORM, ATTR_GRADIENT_UNITS, ATTR_HEIGHT, ATTR_HREF, ATTR_ID, ATTR_IMAGE_RENDERING, ATTR_IN, ATTR_IN2, ATTR_INTERCEPT, ATTR_K1, ATTR_K2, ATTR_K3, ATTR_K4, ATTR_KERNEL_MATRIX, ATTR_KERNEL_UNIT_LENGTH_X, ATTR_KERNEL_UNIT_LENGTH_Y, ATTR_LIGHT_COLOR, ATTR_LIMITING_CONE_ANGLE, ATTR_MASK, ATTR_MASK_CONTENT_UNITS, ATTR_MASK_UNITS, ATTR_MEDIA, ATTR_METHOD, ATTR_MODE, ATTR_NUM_OCTAVES, ATTR_OFFSET, ATTR_OPACITY, ATTR_OPERATOR, ATTR_ORDER, ATTR_ORDER_X, ATTR_ORDER_Y, ATTR_PATTERN_CONTENT_UNITS, ATTR_PATTERN_TRANSFORM, ATTR_PATTERN_UNITS, ATTR_POINTS, ATTR_POINTS_AT_X, ATTR_POINTS_AT_Y, ATTR_POINTS_AT_Z, ATTR_PRESERVE_ALPHA, ATTR_PRESERVE_ASPECT_RATIO, ATTR_PRIMITIVE_UNITS, ATTR_R, ATTR_RADIUS, ATTR_RESULT, ATTR_RESULT_SCALE, ATTR_RX, ATTR_RY, ATTR_SCALE, ATTR_SEED, ATTR_SHAPE_RENDERING, ATTR_SLOPE, ATTR_SPACE, ATTR_SPACING, ATTR_SPECULAR_CONSTANT, ATTR_SPECULAR_EXPONENT, ATTR_SPREAD_METHOD, ATTR_START_OFFSET, ATTR_STD_DEVIATION, ATTR_STITCH_TILES, ATTR_STOP_COLOR, ATTR_STOP_OPACITY, ATTR_STROKE, ATTR_STROKE_DASHARRAY, ATTR_STROKE_DASHOFFSET, ATTR_STROKE_LINECAP, ATTR_STROKE_LINEJOIN, ATTR_STROKE_MITERLIMIT, ATTR_STROKE_OPACITY, ATTR_STROKE_WIDTH, ATTR_STYLE, ATTR_SURFACE_SCALE, ATTR_SYSTEM_LANGUAGE, ATTR_TABLE, ATTR_TABLE_VALUES, ATTR_TARGET, ATTR_TARGET_X, ATTR_TARGET_Y, ATTR_TEXT_ANCHOR, ATTR_TEXT_LENGTH, ATTR_TEXT_RENDERING, ATTR_TITLE, ATTR_TRANSFORM, ATTR_TYPE, ATTR_VALUES, ATTR_VIEW_BOX, ATTR_WIDTH, ATTR_X, ATTR_X_CHANNEL_SELECTOR, ATTR_X1, ATTR_X2, ATTR_Y, ATTR_Y_CHANNEL_SELECTOR, ATTR_Y1, ATTR_Y2, ATTR_Z, DEFAULT_VALUE_FILTER_HEIGHT, DEFAULT_VALUE_FILTER_WIDTH, DEFAULT_VALUE_FILTER_X, DEFAULT_VALUE_FILTER_Y, DEFAULT_VALUE_MASK_HEIGHT, DEFAULT_VALUE_MASK_WIDTH, DEFAULT_VALUE_MASK_X, DEFAULT_VALUE_MASK_Y, DEFAULT_VALUE_PATTERN_HEIGHT, DEFAULT_VALUE_PATTERN_WIDTH, DEFAULT_VALUE_PATTERN_X, DEFAULT_VALUE_PATTERN_Y, PATH_CLOSE, PATH_CUBIC_TO, PATH_LINE_TO, PATH_MOVE, PATH_QUAD_TO, SVG_NAMESPACE_URI, SVG_PUBLIC_ID, SVG_SYSTEM_ID, TAG_A, TAG_ANIMATE, TAG_CIRCLE, TAG_CLIP_PATH, TAG_DEFS, TAG_DESC, TAG_ELLIPSE, TAG_FE_BLEND, TAG_FE_COLOR_MATRIX, TAG_FE_COMPONENT_TRANSFER, TAG_FE_COMPOSITE, TAG_FE_CONVOLVE_MATRIX, TAG_FE_DIFFUSE_LIGHTING, TAG_FE_DISPLACEMENT_MAP, TAG_FE_DISTANT_LIGHT, TAG_FE_FLOOD, TAG_FE_FUNC_A, TAG_FE_FUNC_B, TAG_FE_FUNC_G, TAG_FE_FUNC_R, TAG_FE_GAUSSIAN_BLUR, TAG_FE_IMAGE, TAG_FE_MERGE, TAG_FE_MERGE_NODE, TAG_FE_MORPHOLOGY, TAG_FE_OFFSET, TAG_FE_POINT_LIGHT, TAG_FE_SPECULAR_LIGHTING, TAG_FE_SPOT_LIGHT, TAG_FE_TILE, TAG_FE_TURBULENCE, TAG_FILTER, TAG_G, TAG_IMAGE, TAG_LINE, TAG_LINEAR_GRADIENT, TAG_MASK, TAG_METADATA, TAG_PATH, TAG_PATTERN, TAG_POLYGON, TAG_POLYLINE, TAG_RADIAL_GRADIENT, TAG_RECT, TAG_SCRIPT, TAG_STOP, TAG_STYLE, TAG_SVG, TAG_SWITCH, TAG_SYMBOL, TAG_TEXT, TAG_TEXT_PATH, TAG_TITLE, TAG_TREF, TAG_TSPAN, TAG_USE, TRANSFORM_MATRIX, TRANSFORM_ROTATE, TRANSFORM_SCALE, TRANSFORM_SKEWX, TRANSFORM_SKEWY, TRANSFORM_TRANSLATE, VALUE_A, VALUE_ALIGN, VALUE_ARITHMETIC, VALUE_ATOP, VALUE_AUTO, VALUE_B, VALUE_BACKGROUND_IMAGE, VALUE_COMPOSITE, VALUE_CRISP_EDGES, VALUE_DARKEN, VALUE_DIGIT_ONE, VALUE_DILATE, VALUE_DISCRETE, VALUE_EDGE_DUPLICATE, VALUE_EDGE_NONE, VALUE_END, VALUE_ERODE, VALUE_EVEN_ODD, VALUE_EXACT, VALUE_FLOOD, VALUE_FONT_STYLE_ITALIC, VALUE_FONT_STYLE_NORMAL, VALUE_FONT_STYLE_OBLIQUE, VALUE_FONT_WEIGHT_100, VALUE_FONT_WEIGHT_200, VALUE_FONT_WEIGHT_300, VALUE_FONT_WEIGHT_400, VALUE_FONT_WEIGHT_500, VALUE_FONT_WEIGHT_600, VALUE_FONT_WEIGHT_700, VALUE_FONT_WEIGHT_800, VALUE_FONT_WEIGHT_900, VALUE_FONT_WEIGHT_BOLD, VALUE_FONT_WEIGHT_BOLDER, VALUE_FONT_WEIGHT_LIGHTER, VALUE_FONT_WEIGHT_NORMAL, VALUE_FRACTAL_NOISE, VALUE_G, VALUE_GAMMA, VALUE_GEOMETRIC_PRECISION, VALUE_HUE_ROTATE, VALUE_HUNDRED_PERCENT, VALUE_IDENTITY, VALUE_IN, VALUE_LIGHTEN, VALUE_LINE_CAP_BUTT, VALUE_LINE_CAP_ROUND, VALUE_LINE_CAP_SQUARE, VALUE_LINE_JOIN_BEVEL, VALUE_LINE_JOIN_MITER, VALUE_LINE_JOIN_ROUND, VALUE_LINEAR, VALUE_LINEAR_RGB, VALUE_LUMINANCE_TO_ALPHA, VALUE_MATRIX, VALUE_MIDDLE, VALUE_MULTIPLY, VALUE_NEW, VALUE_NINETY, VALUE_NO_STITCH, VALUE_NON_ZERO, VALUE_NONE, VALUE_NORMAL, VALUE_OBJECT_BOUNDING_BOX, VALUE_ONE, VALUE_OPAQUE, VALUE_OPTIMIZE_LEGIBILITY, VALUE_OPTIMIZE_QUALITY, VALUE_OPTIMIZE_SPEED, VALUE_OUT, VALUE_OVER, VALUE_PAD, VALUE_PRESERVE, VALUE_R, VALUE_REFLECT, VALUE_REPEAT, VALUE_SATURATE, VALUE_SCREEN, VALUE_SOURCE_GRAPHIC, VALUE_SRGB, VALUE_START, VALUE_STITCH, VALUE_STRETCH, VALUE_TABLE, VALUE_TURBULENCE, VALUE_TYPE_LINEAR, VALUE_TYPE_TABLE, VALUE_USER_SPACE, VALUE_USER_SPACE_ON_USE, VALUE_XOR, VALUE_ZERO, VALUE_ZERO_PERCENT
 
Fields inherited from interface org.apache.batik.util.CSSConstants
CSS_ACCUMULATE_VALUE, CSS_ACTIVEBORDER_VALUE, CSS_ACTIVECAPTION_VALUE, CSS_AFTER_EDGE_VALUE, CSS_ALIGNMENT_BASELINE_PROPERTY, CSS_ALL_VALUE, CSS_APPWORKSPACE_VALUE, CSS_AUTO_VALUE, CSS_AUTOSENSE_SCRIPT_VALUE, CSS_BACKGROUND_VALUE, CSS_BASELINE_SHIFT_PROPERTY, CSS_BASELINE_VALUE, CSS_BEFORE_EDGE_VALUE, CSS_BEVEL_VALUE, CSS_BIDI_OVERRIDE_VALUE, CSS_BLINK_VALUE, CSS_BLOCK_VALUE, CSS_BOLD_VALUE, CSS_BOLDER_VALUE, CSS_BOTTOM_VALUE, CSS_BUTT_VALUE, CSS_BUTTONFACE_VALUE, CSS_BUTTONHIGHLIGHT_VALUE, CSS_BUTTONSHADOW_VALUE, CSS_BUTTONTEXT_VALUE, CSS_CAPTIONTEXT_VALUE, CSS_CLIP_PATH_PROPERTY, CSS_CLIP_PROPERTY, CSS_CLIP_RULE_PROPERTY, CSS_COLLAPSE_VALUE, CSS_COLOR_INTERPOLATION_PROPERTY, CSS_COLOR_PROPERTY, CSS_COLOR_RENDERING_PROPERTY, CSS_COMPACT_VALUE, CSS_CONDENSED_VALUE, CSS_CRISPEDGES_VALUE, CSS_CROSSHAIR_VALUE, CSS_CURRENTCOLOR_VALUE, CSS_CURSIVE_VALUE, CSS_CURSOR_PROPERTY, CSS_DEFAULT_VALUE, CSS_DIRECTION_PROPERTY, CSS_DISPLAY_PROPERTY, CSS_DOMINANT_BASELINE_PROPERTY, CSS_E_RESIZE_VALUE, CSS_EMBED_VALUE, CSS_ENABLE_BACKGROUND_PROPERTY, CSS_END_VALUE, CSS_EVENODD_VALUE, CSS_EXPANDED_VALUE, CSS_EXTRA_CONDENSED_VALUE, CSS_EXTRA_EXPANDED_VALUE, CSS_FANTASY_VALUE, CSS_FILL_OPACITY_PROPERTY, CSS_FILL_PROPERTY, CSS_FILL_RULE_PROPERTY, CSS_FILL_VALUE, CSS_FILLSTROKE_VALUE, CSS_FILTER_PROPERTY, CSS_FLOOD_COLOR_PROPERTY, CSS_FLOOD_OPACITY_PROPERTY, CSS_FONT_FAMILY_PROPERTY, CSS_FONT_SIZE_ADJUST_PROPERTY, CSS_FONT_SIZE_PROPERTY, CSS_FONT_STRETCH_PROPERTY, CSS_FONT_STYLE_PROPERTY, CSS_FONT_VARIANT_PROPERTY, CSS_FONT_WEIGHT_PROPERTY, CSS_GEOMETRICPRECISION_VALUE, CSS_GLYPH_ORIENTATION_HORIZONTAL_PROPERTY, CSS_GLYPH_ORIENTATION_VERTICAL_PROPERTY, CSS_GRAYTEXT_VALUE, CSS_HANGING_VALUE, CSS_HELP_VALUE, CSS_HIDDEN_VALUE, CSS_HIGHLIGHT_VALUE, CSS_HIGHLIGHTTEXT_VALUE, CSS_IDEOGRAPHIC_VALUE, CSS_IMAGE_RENDERING_PROPERTY, CSS_INACTIVEBORDER_VALUE, CSS_INACTIVECAPTION_VALUE, CSS_INACTIVECAPTIONTEXT_VALUE, CSS_INFOBACKGROUND_VALUE, CSS_INFOTEXT_VALUE, CSS_INLINE_TABLE_VALUE, CSS_INLINE_VALUE, CSS_ITALIC_VALUE, CSS_LARGE_VALUE, CSS_LARGER_VALUE, CSS_LETTER_SPACING_PROPERTY, CSS_LIGHTER_VALUE, CSS_LIGHTING_COLOR_PROPERTY, CSS_LINE_THROUGH_VALUE, CSS_LINEARRGB_VALUE, CSS_LIST_ITEM_VALUE, CSS_LOWER_VALUE, CSS_LR_TB_VALUE, CSS_LR_VALUE, CSS_LTR_VALUE, CSS_MARKER_END_PROPERTY, CSS_MARKER_MID_PROPERTY, CSS_MARKER_START_PROPERTY, CSS_MARKER_VALUE, CSS_MASK_PROPERTY, CSS_MATHEMATICAL_VALUE, CSS_MEDIUM_VALUE, CSS_MENU_VALUE, CSS_MENUTEXT_VALUE, CSS_MIDDLE_VALUE, CSS_MITER_VALUE, CSS_MONOSPACED_VALUE, CSS_MOVE_VALUE, CSS_N_RESIZE_VALUE, CSS_NARROWER_VALUE, CSS_NE_RESIZE_VALUE, CSS_NEW_VALUE, CSS_NO_CHANGE_VALUE, CSS_NONE_VALUE, CSS_NONZERO_VALUE, CSS_NORMAL_VALUE, CSS_NW_RESIZE_VALUE, CSS_OBLIQUE_VALUE, CSS_OPACITY_PROPERTY, CSS_OPTIMIZELEGIBILITY_VALUE, CSS_OPTIMIZEQUALITY_VALUE, CSS_OPTIMIZESPEED_VALUE, CSS_OVERFLOW_PROPERTY, CSS_OVERLINE_VALUE, CSS_PAINTED_VALUE, CSS_POINTER_EVENTS_PROPERTY, CSS_POINTER_VALUE, CSS_RESET_VALUE, CSS_RL_TB_VALUE, CSS_RL_VALUE, CSS_ROUND_VALUE, CSS_RTL_VALUE, CSS_RUN_IN_VALUE, CSS_S_RESIZE_VALUE, CSS_SANS_SERIF_VALUE, CSS_SCROLL_VALUE, CSS_SCROLLBAR_VALUE, CSS_SE_RESIZE_VALUE, CSS_SEMI_CONDENSED_VALUE, CSS_SEMI_EXPANDED_VALUE, CSS_SERIF_VALUE, CSS_SHAPE_RENDERING_PROPERTY, CSS_SMALL_CAPS_VALUE, CSS_SMALL_VALUE, CSS_SMALLER_VALUE, CSS_SQUARE_VALUE, CSS_SRGB_VALUE, CSS_START_VALUE, CSS_STOP_COLOR_PROPERTY, CSS_STOP_OPACITY_PROPERTY, CSS_STROKE_DASHARRAY_PROPERTY, CSS_STROKE_DASHOFFSET_PROPERTY, CSS_STROKE_LINECAP_PROPERTY, CSS_STROKE_LINEJOIN_PROPERTY, CSS_STROKE_MITERLIMIT_PROPERTY, CSS_STROKE_OPACITY_PROPERTY, CSS_STROKE_PROPERTY, CSS_STROKE_VALUE, CSS_STROKE_WIDTH_PROPERTY, CSS_SUB_VALUE, CSS_SUPER_VALUE, CSS_SW_RESIZE_VALUE, CSS_TABLE_CAPTION_VALUE, CSS_TABLE_CELL_VALUE, CSS_TABLE_COLUMN_GROUP_VALUE, CSS_TABLE_COLUMN_VALUE, CSS_TABLE_FOOTER_GROUP_VALUE, CSS_TABLE_HEADER_GROUP_VALUE, CSS_TABLE_ROW_GROUP_VALUE, CSS_TABLE_ROW_VALUE, CSS_TABLE_VALUE, CSS_TB_RL_VALUE, CSS_TB_VALUE, CSS_TEXT_AFTER_EDGE_VALUE, CSS_TEXT_ANCHOR_PROPERTY, CSS_TEXT_BEFORE_EDGE_VALUE, CSS_TEXT_BOTTOM_VALUE, CSS_TEXT_DECORATION_PROPERTY, CSS_TEXT_RENDERING_PROPERTY, CSS_TEXT_TOP_VALUE, CSS_TEXT_VALUE, CSS_THREEDDARKSHADOW_VALUE, CSS_THREEDFACE_VALUE, CSS_THREEDHIGHLIGHT_VALUE, CSS_THREEDLIGHTSHADOW_VALUE, CSS_THREEDSHADOW_VALUE, CSS_TOP_VALUE, CSS_ULTRA_CONDENSED_VALUE, CSS_ULTRA_EXPANDED_VALUE, CSS_UNDERLINE_VALUE, CSS_UNICODE_BIDI_PROPERTY, CSS_VISIBILITY_PROPERTY, CSS_VISIBLE_VALUE, CSS_VISIBLEFILL_VALUE, CSS_VISIBLEFILLSTROKE_VALUE, CSS_VISIBLEPAINTED_VALUE, CSS_VISIBLESTROKE_VALUE, CSS_W_RESIZE_VALUE, CSS_WAIT_VALUE, CSS_WIDER_VALUE, CSS_WINDOW_VALUE, CSS_WINDOWFRAME_VALUE, CSS_WINDOWTEXT_VALUE, CSS_WORD_SPACING_PROPERTY, CSS_WRITING_MODE_PROPERTY, CSS_X_LARGE_VALUE, CSS_X_SMALL_VALUE, CSS_XX_LARGE_VALUE, CSS_XX_SMALL_VALUE
 
Constructor Summary
protected SVGUtilities()
          This class does not need to be instantiated.
 
Method Summary
static java.lang.Float[] buildFloatPair(java.lang.String attrValue)
          Parses a Float value pair.
static java.awt.geom.AffineTransform convertAffineTransform(java.awt.geom.AffineTransform at, GraphicsNode node, int unitsType)
          Creates an AffineTransform with the specified additional transform, in the space of the specified graphics node according to the 'units' coordinate system.
static java.awt.geom.AffineTransform convertAffineTransform(Element e, java.lang.String attrName, ParserFactory pf)
          Creates an AffineTransform using the element and its specified attribute.
static java.awt.geom.Rectangle2D convertFilterChainRegion(Element filterElement, Element filteredElement, GraphicsNode node, UnitProcessor.Context uctx)
          Creates a Rectangle2D for the <filter> element.
static java.awt.geom.Rectangle2D convertFilterPrimitiveRegion(Element filterPrimitiveElement, Element filteredElement, java.awt.geom.Rectangle2D defaultRegion, GraphicsNode node, UnitProcessor.Context uctx)
          Creates a Rectangle2D for the input filter primitive element.
static float convertGradientLength(Element element, java.lang.String attrLengthName, java.lang.String lengthStr, int unitsType, UnitProcessor.Context uctx)
          Creates a float value from the input value in the 'units' coordinate system.
static java.awt.geom.Point2D convertGradientPoint(Element element, java.lang.String attrXName, java.lang.String xStr, java.lang.String attrYName, java.lang.String yStr, int unitsType, UnitProcessor.Context uctx)
          Creates a Point2D for the input x and y attribute value in the 'units' coordinate system.
static java.awt.geom.Rectangle2D convertMaskRegion(Element maskElement, Element maskedElement, GraphicsNode node, UnitProcessor.Context uctx)
          Creates a Rectangle2D for the input <mask> element.
static java.awt.geom.Rectangle2D convertPatternRegion(Element patternElement, Element paintedElement, GraphicsNode node, UnitProcessor.Context uctx)
          Creates a Rectangle2D for the input <pattern> element.
protected static java.awt.geom.Rectangle2D convertRegion(Element filterElement, Element filteredElement, GraphicsNode node, UnitProcessor.Context uctx, java.lang.String unitsAttr, java.lang.String unitsDefault, java.lang.String xDefault, java.lang.String yDefault, java.lang.String wDefault, java.lang.String hDefault)
          Creates a Rectangle2D using the specified parameters.
static int convertSVGInteger(java.lang.String attrName, java.lang.String intStr)
          Parses an SVG integer.
static float convertSVGNumber(java.lang.String attrName, java.lang.String numStr)
          Parses an SVG number
static java.lang.String getDescription(SVGElement elt)
          Returns the content of the 'desc' child of the given element.
static java.awt.geom.AffineTransform getPreserveAspectRatioTransform(SVGElement elt, float w, float h, ParserFactory pf)
          Returns the transformation to apply to initalize a viewport.
static boolean matchUserAgent(Element elt, UserAgent ua)
          Tests whether or not the given element match a user agent.
protected static boolean matchUserLanguage(java.lang.String s, java.lang.String userLanguages)
          Tests whether the given language specification match the user preferences.
static int parseCoordinateSystem(java.lang.String value)
          Parse the given specified coordinate system.
static int parseInAttribute(java.lang.String value)
          Parses the given 'in' attribute value.
static float[] parseViewBoxAttribute(java.lang.String value)
          Parses a viewBox attribute.
protected static float svgToObjectBoundingBox(Element element, java.lang.String attrName, java.lang.String valueStr, UnitProcessor.Context uctx, short direction)
          Returns the float that represents a specified value or percentage.
static float svgToUserSpace(Element element, java.lang.String attrName, java.lang.String valueStr, UnitProcessor.Context uctx, short direction)
          Returns the float that represents a specified value or percentage.
protected static float svgToUserSpaceOnUse(Element element, java.lang.String attrName, java.lang.String valueStr, UnitProcessor.Context uctx, short direction)
          Returns the float that represents a specified value or percentage.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMPTY

public static final int EMPTY
Represents an empty string attribute.

BACKGROUND_ALPHA

public static final int BACKGROUND_ALPHA
Represents 'BackgroundAlpha'.

BACKGROUND_IMAGE

public static final int BACKGROUND_IMAGE
Represents 'BackgroundImage'.

FILL_PAINT

public static final int FILL_PAINT
Represents 'FillPaint'.

SOURCE_ALPHA

public static final int SOURCE_ALPHA
Represents 'SourceAlpha'.

SOURCE_GRAPHIC

public static final int SOURCE_GRAPHIC
Represents 'SourceGraphic'.

STROKE_PAINT

public static final int STROKE_PAINT
Represents 'StrokePaint'.

IDENTIFIER

public static final int IDENTIFIER
Represents an identifier.

OBJECT_BOUNDING_BOX

public static final int OBJECT_BOUNDING_BOX
Represents 'objectBoundingBox'.

USER_SPACE_ON_USE

public static final int USER_SPACE_ON_USE
Represents 'userSpaceOnUse'.
Constructor Detail

SVGUtilities

protected SVGUtilities()
This class does not need to be instantiated.
Method Detail

parseCoordinateSystem

public static int parseCoordinateSystem(java.lang.String value)
Parse the given specified coordinate system.
Throws:
java.lang.IllegalArgumentException - if the value is not 'objectBoundingBox' or 'userSpaceOnUse'

parseInAttribute

public static int parseInAttribute(java.lang.String value)
Parses the given 'in' attribute value.
Returns:
one of BACKGROUND_ALPHA, BACKGROUND_IMAGE, FILL_PAINT, SOURCE_ALPHA, SOURCE_GRAPHIC, STROKE_PAINT, IDENTIFIER or EMPTY.

parseViewBoxAttribute

public static float[] parseViewBoxAttribute(java.lang.String value)
Parses a viewBox attribute.
Returns:
The 4 viewbox components or null.

getPreserveAspectRatioTransform

public static java.awt.geom.AffineTransform getPreserveAspectRatioTransform(SVGElement elt,
                                                                            float w,
                                                                            float h,
                                                                            ParserFactory pf)
Returns the transformation to apply to initalize a viewport.
Parameters:
elt - The document node.
w - The effective viewport width.
h - The effective viewport height.

getDescription

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

matchUserAgent

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

matchUserLanguage

protected static boolean matchUserLanguage(java.lang.String s,
                                           java.lang.String userLanguages)
Tests whether the given language specification match the user preferences.

convertSVGInteger

public static int convertSVGInteger(java.lang.String attrName,
                                    java.lang.String intStr)
Parses an SVG integer.
Parameters:
attrName - the attribute that has the specified value
numStr - the integer value to parse
Throws:
IllegalAttributeValueException - if intStr is not a parsable integer

convertSVGNumber

public static float convertSVGNumber(java.lang.String attrName,
                                     java.lang.String numStr)
Parses an SVG number
Parameters:
attrName - the attribute that has the specified value
numStr - the float value to parse
Throws:
IllegalAttributeValueException - if intStr is not a parsable float

convertFilterChainRegion

public static java.awt.geom.Rectangle2D convertFilterChainRegion(Element filterElement,
                                                                 Element filteredElement,
                                                                 GraphicsNode node,
                                                                 UnitProcessor.Context uctx)
Creates a Rectangle2D for the <filter> element. Processing the element as the top one in the filter chain.
Parameters:
filterElement - the <filter> element
filteredElement - the element to filter
node - the graphics node that represents the element to filter
uctx - the context used to compute units and percentages

convertMaskRegion

public static java.awt.geom.Rectangle2D convertMaskRegion(Element maskElement,
                                                          Element maskedElement,
                                                          GraphicsNode node,
                                                          UnitProcessor.Context uctx)
Creates a Rectangle2D for the input <mask> element.
Parameters:
maskElement - the <mask> element
maskedElement - the element to mask
node - the graphics node that represents the element to mask
uctx - the context used to compute units and percentages

convertPatternRegion

public static java.awt.geom.Rectangle2D convertPatternRegion(Element patternElement,
                                                             Element paintedElement,
                                                             GraphicsNode node,
                                                             UnitProcessor.Context uctx)
Creates a Rectangle2D for the input <pattern> element.
Parameters:
patternElement - the <pattern> element
paintedElement - the element to paint
node - the graphics node that represents the element to paint
uctx - the context used to compute units and percentages

convertRegion

protected static java.awt.geom.Rectangle2D convertRegion(Element filterElement,
                                                         Element filteredElement,
                                                         GraphicsNode node,
                                                         UnitProcessor.Context uctx,
                                                         java.lang.String unitsAttr,
                                                         java.lang.String unitsDefault,
                                                         java.lang.String xDefault,
                                                         java.lang.String yDefault,
                                                         java.lang.String wDefault,
                                                         java.lang.String hDefault)
Creates a Rectangle2D using the specified parameters.
Parameters:
filterElement - the filter Element or equivalent
filteredElement - the element which uses the filter
node - the graphics node representing the filtered element
uctx - the context used to compute units and percentages
unitsAttr - the units to consider on the specified filter element
unitsDefault - the default value of the units if not specified on the filter element
xDefault - the default value of the x attribute, null means required
yDefault - the default value of the x attribute, null means required
widthDefault - the default value of the x attribute, null means required
heightDefault - the default value of the height attribute, null means required

convertFilterPrimitiveRegion

public static java.awt.geom.Rectangle2D convertFilterPrimitiveRegion(Element filterPrimitiveElement,
                                                                     Element filteredElement,
                                                                     java.awt.geom.Rectangle2D defaultRegion,
                                                                     GraphicsNode node,
                                                                     UnitProcessor.Context uctx)
Creates a Rectangle2D for the input filter primitive element. Processing the element as the top one in the filter chain.
Parameters:
filterPrimitiveElement - the primitive filter
filteredElement - the element which uses the filter
defaultRegion - the default region to filter
node - the graphics node that represents the element to filter
uctx - the context used to compute units and percentages

convertGradientPoint

public static java.awt.geom.Point2D convertGradientPoint(Element element,
                                                         java.lang.String attrXName,
                                                         java.lang.String xStr,
                                                         java.lang.String attrYName,
                                                         java.lang.String yStr,
                                                         int unitsType,
                                                         UnitProcessor.Context uctx)
Creates a Point2D for the input x and y attribute value in the 'units' coordinate system.
Parameters:
element - the element that defines the specified coordinates
attrXName - the name of the X attribute (used by error handling)
xStr - the 'x' coordinate
attrYName - the name of the Y attribute (used by error handling)
yStr - the 'y' coordinate
unitsType - the coordinate system
uctx - the context used to compute units and percentages
Throws:
IllegalAttributeValueException - if one of the specified is not valid

convertGradientLength

public static float convertGradientLength(Element element,
                                          java.lang.String attrLengthName,
                                          java.lang.String lengthStr,
                                          int unitsType,
                                          UnitProcessor.Context uctx)
Creates a float value from the input value in the 'units' coordinate system.
Parameters:
element - the element that defines the specified length
attrLengthName - the name of the attribute (used by error handling)
lengthStr - the length value
unitsType - the coordinate system
uctx - the context used to compute units and percentages
Throws:
IllegalAttributeValueException - if the value is not a valid

convertAffineTransform

public static java.awt.geom.AffineTransform convertAffineTransform(Element e,
                                                                   java.lang.String attrName,
                                                                   ParserFactory pf)
Creates an AffineTransform using the element and its specified attribute.
Parameters:
the - e that defines a transform
the - attribute that defines the transform
pf - the parser factory to use

convertAffineTransform

public static java.awt.geom.AffineTransform convertAffineTransform(java.awt.geom.AffineTransform at,
                                                                   GraphicsNode node,
                                                                   int unitsType)
Creates an AffineTransform with the specified additional transform, in the space of the specified graphics node according to the 'units' coordinate system.
Parameters:
at - the additional transform
node - the graphics node that defines the coordinate space
unitsType - the coordinate system

buildFloatPair

public static java.lang.Float[] buildFloatPair(java.lang.String attrValue)
Parses a Float value pair. This assumes that the input attribute value is of the form <number> [<number>]

svgToUserSpace

public static float svgToUserSpace(Element element,
                                   java.lang.String attrName,
                                   java.lang.String valueStr,
                                   UnitProcessor.Context uctx,
                                   short direction)
Returns the float that represents a specified value or percentage.
Parameters:
element - the element that defines the specified coordinates
attrName - the name of the attribute (used by error handling)
valueStr - the value of the coordinate
uctx - the context used to compute units and percentages
direction - HORIZONTAL_LENGTH | VERTICAL_LENGTH | OTHER_LENGTH
Throws:
IllegalAttributeValueException - if the value is not a valid

svgToObjectBoundingBox

protected static float svgToObjectBoundingBox(Element element,
                                              java.lang.String attrName,
                                              java.lang.String valueStr,
                                              UnitProcessor.Context uctx,
                                              short direction)
Returns the float that represents a specified value or percentage. This method is used when the coordinate system is 'objectBoundingBox' but does not transform the value to match the bounding box of the object.
Parameters:
element - the element that defines the specified coordinates
attrName - the name of the attribute (used by error handling)
valueStr - the value of the coordinate
uctx - the context used to compute units and percentages
direction - HORIZONTAL_LENGTH | VERTICAL_LENGTH | OTHER_LENGTH
Throws:
IllegalAttributeValueException - if the value is not a valid

svgToUserSpaceOnUse

protected static float svgToUserSpaceOnUse(Element element,
                                           java.lang.String attrName,
                                           java.lang.String valueStr,
                                           UnitProcessor.Context uctx,
                                           short direction)
Returns the float that represents a specified value or percentage.
Parameters:
element - the element that defines the specified coordinates
attrName - the name of the attribute (used by error handling)
valueStr - the value of the coordinate
uctx - the context used to compute units and percentages
direction - HORIZONTAL_LENGTH | VERTICAL_LENGTH | OTHER_LENGTH
Throws:
IllegalAttributeValueException - if the value is not a valid


Copyright © 2000 Apache Software Foundation. All Rights Reserved.