Package com.itextpdf.svg.utils
Class SvgCssUtils
- java.lang.Object
-
- com.itextpdf.svg.utils.SvgCssUtils
-
public final class SvgCssUtils extends java.lang.Object
Utility class that facilitates parsing values from CSS.
-
-
Field Summary
Fields Modifier and Type Field Description private static org.slf4j.Logger
LOGGER
-
Constructor Summary
Constructors Modifier Constructor Description private
SvgCssUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private static float
calculateFinalSvgRendererLength(java.lang.String length, float em, float rem, float percentBase)
private static float
calculatePercentBaseValueIfNeeded(AbstractSvgNodeRenderer svgNodeRenderer, SvgDrawContext context, java.lang.String length, boolean isXAxis)
static java.lang.String
convertDoubleToString(double value)
Deprecated.can be replaced byDouble.toString(float)
static java.lang.String
convertFloatToString(float value)
Deprecated.can be replaced byFloat.toString(float)
static Rectangle
extractWidthAndHeight(ISvgNodeRenderer svgRenderer, float em, SvgDrawContext context)
Extract width and height of the passed SVGNodeRenderer, defaulting toSvgDrawContext.getCustomViewport()
if either one is not present.static float
parseAbsoluteHorizontalLength(AbstractSvgNodeRenderer svgNodeRenderer, java.lang.String length, float defaultValue, SvgDrawContext context)
Parses horizontal length attribute and converts it to an absolute value.static float
parseAbsoluteLength(AbstractSvgNodeRenderer svgNodeRenderer, java.lang.String length, float percentBaseValue, float defaultValue, SvgDrawContext context)
Parse length attribute and convert it to an absolute value.static float
parseAbsoluteVerticalLength(AbstractSvgNodeRenderer svgNodeRenderer, java.lang.String length, float defaultValue, SvgDrawContext context)
Parses vertical length attribute and converts it to an absolute value.static float[]
parseViewBox(ISvgNodeRenderer svgRenderer)
Extract svg viewbox values.static java.util.List<java.lang.String>
splitValueList(java.lang.String value)
Splits a given String into a list of substrings.
-
-
-
Method Detail
-
splitValueList
public static java.util.List<java.lang.String> splitValueList(java.lang.String value)
Splits a given String into a list of substrings. The string is split up by commas and whitespace characters (\t, \n, \r, \f).- Parameters:
value
- the string to be split- Returns:
- a list containing the split strings, an empty list if the value is null or empty
-
convertFloatToString
@Deprecated public static java.lang.String convertFloatToString(float value)
Deprecated.can be replaced byFloat.toString(float)
Converts a float to a String.- Parameters:
value
- to be converted float value- Returns:
- the value in a String representation
-
convertDoubleToString
@Deprecated public static java.lang.String convertDoubleToString(double value)
Deprecated.can be replaced byDouble.toString(float)
Converts a double to a String.- Parameters:
value
- to be converted double value- Returns:
- the value in a String representation
-
parseAbsoluteLength
public static float parseAbsoluteLength(AbstractSvgNodeRenderer svgNodeRenderer, java.lang.String length, float percentBaseValue, float defaultValue, SvgDrawContext context)
Parse length attribute and convert it to an absolute value.- Parameters:
svgNodeRenderer
- renderer for which length should be parsedlength
-String
for parsingpercentBaseValue
- the value on which percent length is based ondefaultValue
- default value if length is not recognizedcontext
- currentSvgDrawContext
- Returns:
- absolute value in points
-
parseAbsoluteVerticalLength
public static float parseAbsoluteVerticalLength(AbstractSvgNodeRenderer svgNodeRenderer, java.lang.String length, float defaultValue, SvgDrawContext context)
Parses vertical length attribute and converts it to an absolute value.- Parameters:
svgNodeRenderer
- renderer for which length should be parsedlength
-String
for parsingdefaultValue
- default value if length is not recognizedcontext
- currentSvgDrawContext
- Returns:
- absolute value in points
-
parseAbsoluteHorizontalLength
public static float parseAbsoluteHorizontalLength(AbstractSvgNodeRenderer svgNodeRenderer, java.lang.String length, float defaultValue, SvgDrawContext context)
Parses horizontal length attribute and converts it to an absolute value.- Parameters:
svgNodeRenderer
- renderer for which length should be parsedlength
-String
for parsingdefaultValue
- default value if length is not recognizedcontext
- currentSvgDrawContext
- Returns:
- absolute value in points
-
parseViewBox
public static float[] parseViewBox(ISvgNodeRenderer svgRenderer)
Extract svg viewbox values.- Parameters:
svgRenderer
- theISvgNodeRenderer
instance that contains the renderer tree- Returns:
- float[4] or null, if no correct viewbox property is present.
-
extractWidthAndHeight
public static Rectangle extractWidthAndHeight(ISvgNodeRenderer svgRenderer, float em, SvgDrawContext context)
Extract width and height of the passed SVGNodeRenderer, defaulting toSvgDrawContext.getCustomViewport()
if either one is not present. IfSvgDrawContext.getCustomViewport()
isn't specified, than respective viewbox values or browser default (if viewbox is missing) will be used.- Parameters:
svgRenderer
- theISvgNodeRenderer
instance that contains the renderer treeem
- em value in ptcontext
- the svg draw context- Returns:
- rectangle, where x,y = 0 and width and height are extracted ones by this method.
-
calculateFinalSvgRendererLength
private static float calculateFinalSvgRendererLength(java.lang.String length, float em, float rem, float percentBase)
-
calculatePercentBaseValueIfNeeded
private static float calculatePercentBaseValueIfNeeded(AbstractSvgNodeRenderer svgNodeRenderer, SvgDrawContext context, java.lang.String length, boolean isXAxis)
-
-