Package org.apache.batik.parser
Class UnitProcessor
- java.lang.Object
-
- org.apache.batik.parser.UnitProcessor
-
- Direct Known Subclasses:
UnitProcessor
public abstract class UnitProcessor extends java.lang.Object
This class provides methods to convert SVG length and coordinate to float in user units.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
UnitProcessor.Context
Holds the informations needed to compute the units.static class
UnitProcessor.UnitResolver
A LengthHandler that convert units.
-
Field Summary
Fields Modifier and Type Field Description 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
Constructors Modifier Constructor Description protected
UnitProcessor()
No instance of this class is required.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description 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(java.lang.String s, java.lang.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(java.lang.String s, java.lang.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.
-
-
-
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
-
-
Method Detail
-
svgToObjectBoundingBox
public static float svgToObjectBoundingBox(java.lang.String s, java.lang.String attr, short d, UnitProcessor.Context ctx) throws ParseException
Returns the specified value with the specified direction in objectBoundingBox units.- Parameters:
s
- the valueattr
- the attribute name that represents the valued
- the direction of the valuectx
- 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 valuetype
- the type of the valued
- the direction of the valuectx
- the context used to resolve relative value
-
svgToUserSpace
public static float svgToUserSpace(java.lang.String s, java.lang.String attr, short d, UnitProcessor.Context ctx) throws ParseException
Returns the specified coordinate with the specified direction in user units.- Parameters:
s
- the 'other' coordinateattr
- the attribute name that represents the lengthd
- the direction of the coordinatectx
- 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 converttype
- the type of the valued
- HORIZONTAL_LENGTH, VERTICAL_LENGTH, or OTHER_LENGTHctx
- 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 converttype
- the type of the valued
- HORIZONTAL_LENGTH, VERTICAL_LENGTH, or OTHER_LENGTHctx
- 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 convertd
- HORIZONTAL_LENGTH, VERTICAL_LENGTH, or OTHER_LENGTHctx
- 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 convertd
- HORIZONTAL_LENGTH, VERTICAL_LENGTH, or OTHER_LENGTHctx
- 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 convertd
- HORIZONTAL_LENGTH, VERTICAL_LENGTH, or OTHER_LENGTHctx
- 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 convertd
- HORIZONTAL_LENGTH, VERTICAL_LENGTH, or OTHER_LENGTHctx
- 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 convertd
- HORIZONTAL_LENGTH, VERTICAL_LENGTH, or OTHER_LENGTHctx
- 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 convertd
- HORIZONTAL_LENGTH, VERTICAL_LENGTH, or OTHER_LENGTHctx
- the context
-
-