org.apache.batik.parser
Class UnitProcessor

java.lang.Object
  extended by org.apache.batik.parser.UnitProcessor
Direct Known Subclasses:
UnitProcessor

public abstract class UnitProcessor
extends Object

This class provides methods to convert SVG length and coordinate to float in user units.


Nested Class Summary
static interface UnitProcessor.Context
          Holds the informations needed to compute the units.
static class UnitProcessor.UnitResolver
          A LengthHandler that convert units.
 
Field Summary
static short HORIZONTAL_LENGTH
          This constant represents horizontal lengths.
static short OTHER_LENGTH
          This constant represents other lengths.
static short VERTICAL_LENGTH
          This constant represents vertical lengths.
 
Constructor Summary
protected UnitProcessor()
          No instance of this class is required.
 
Method Summary
protected static float emsToPixels(float v, short d, UnitProcessor.Context ctx)
          Converts ems units to user units.
protected static float exsToPixels(float v, short d, UnitProcessor.Context ctx)
          Converts exs units to user units.
protected static float percentagesToPixels(float v, short d, UnitProcessor.Context ctx)
          Converts percentages to user units.
protected static float pixelsToEms(float v, short d, UnitProcessor.Context ctx)
          Converts user units to ems units.
protected static float pixelsToExs(float v, short d, UnitProcessor.Context ctx)
          Converts user units to exs units.
protected static float pixelsToPercentages(float v, short d, UnitProcessor.Context ctx)
          Converts user units to percentages relative to the viewport.
static float svgToObjectBoundingBox(float value, short type, short d, UnitProcessor.Context ctx)
          Returns the specified value with the specified direction in objectBoundingBox units.
static float svgToObjectBoundingBox(String s, String attr, short d, UnitProcessor.Context ctx)
          Returns the specified value with the specified direction in objectBoundingBox units.
static float svgToUserSpace(float v, short type, short d, UnitProcessor.Context ctx)
          Converts the specified value of the specified type and direction to user units.
static float svgToUserSpace(String s, String attr, short d, UnitProcessor.Context ctx)
          Returns the specified coordinate with the specified direction in user units.
static float userSpaceToSVG(float v, short type, short d, UnitProcessor.Context ctx)
          Converts the specified value of the specified type and direction to SVG units.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

HORIZONTAL_LENGTH

public static final short HORIZONTAL_LENGTH
This constant represents horizontal lengths.

See Also:
Constant Field Values

VERTICAL_LENGTH

public static final short VERTICAL_LENGTH
This constant represents vertical lengths.

See Also:
Constant Field Values

OTHER_LENGTH

public static final short OTHER_LENGTH
This constant represents other lengths.

See Also:
Constant Field Values
Constructor Detail

UnitProcessor

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

Method Detail

svgToObjectBoundingBox

public static float svgToObjectBoundingBox(String s,
                                           String attr,
                                           short d,
                                           UnitProcessor.Context ctx)
                                    throws ParseException
Returns the specified value with the specified direction in objectBoundingBox units.

Parameters:
s - the value
attr - the attribute name that represents the value
d - the direction of the value
ctx - the context used to resolve relative value
Throws:
ParseException

svgToObjectBoundingBox

public static float svgToObjectBoundingBox(float value,
                                           short type,
                                           short d,
                                           UnitProcessor.Context ctx)
Returns the specified value with the specified direction in objectBoundingBox units.

Parameters:
value - the value
type - the type of the value
d - the direction of the value
ctx - the context used to resolve relative value

svgToUserSpace

public static float svgToUserSpace(String s,
                                   String attr,
                                   short d,
                                   UnitProcessor.Context ctx)
                            throws ParseException
Returns the specified coordinate with the specified direction in user units.

Parameters:
s - the 'other' coordinate
attr - the attribute name that represents the length
d - the direction of the coordinate
ctx - the context used to resolve relative value
Throws:
ParseException

svgToUserSpace

public static float svgToUserSpace(float v,
                                   short type,
                                   short d,
                                   UnitProcessor.Context ctx)
Converts the specified value of the specified type and direction to user units.

Parameters:
v - the value to convert
type - the type of the value
d - HORIZONTAL_LENGTH, VERTICAL_LENGTH, or OTHER_LENGTH
ctx - the context used to resolve relative value

userSpaceToSVG

public static float userSpaceToSVG(float v,
                                   short type,
                                   short d,
                                   UnitProcessor.Context ctx)
Converts the specified value of the specified type and direction to SVG units.

Parameters:
v - the value to convert
type - the type of the value
d - HORIZONTAL_LENGTH, VERTICAL_LENGTH, or OTHER_LENGTH
ctx - the context used to resolve relative value

percentagesToPixels

protected static float percentagesToPixels(float v,
                                           short d,
                                           UnitProcessor.Context ctx)
Converts percentages to user units.

Parameters:
v - the percentage to convert
d - HORIZONTAL_LENGTH, VERTICAL_LENGTH, or OTHER_LENGTH
ctx - the context

pixelsToPercentages

protected static float pixelsToPercentages(float v,
                                           short d,
                                           UnitProcessor.Context ctx)
Converts user units to percentages relative to the viewport.

Parameters:
v - the value to convert
d - HORIZONTAL_LENGTH, VERTICAL_LENGTH, or OTHER_LENGTH
ctx - the context

pixelsToEms

protected static float pixelsToEms(float v,
                                   short d,
                                   UnitProcessor.Context ctx)
Converts user units to ems units.

Parameters:
v - the value to convert
d - HORIZONTAL_LENGTH, VERTICAL_LENGTH, or OTHER_LENGTH
ctx - the context

emsToPixels

protected static float emsToPixels(float v,
                                   short d,
                                   UnitProcessor.Context ctx)
Converts ems units to user units.

Parameters:
v - the value to convert
d - HORIZONTAL_LENGTH, VERTICAL_LENGTH, or OTHER_LENGTH
ctx - the context

pixelsToExs

protected static float pixelsToExs(float v,
                                   short d,
                                   UnitProcessor.Context ctx)
Converts user units to exs units.

Parameters:
v - the value to convert
d - HORIZONTAL_LENGTH, VERTICAL_LENGTH, or OTHER_LENGTH
ctx - the context

exsToPixels

protected static float exsToPixels(float v,
                                   short d,
                                   UnitProcessor.Context ctx)
Converts exs units to user units.

Parameters:
v - the value to convert
d - HORIZONTAL_LENGTH, VERTICAL_LENGTH, or OTHER_LENGTH
ctx - the context


Copyright © 2008 Apache Software Foundation. All Rights Reserved.