Package org.eclipse.nebula.cwt.svg
Class SvgLoader
- java.lang.Object
-
- org.eclipse.nebula.cwt.svg.SvgLoader
-
class SvgLoader extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private static char[]
ATTR_CLASS
private static char[]
ATTR_CX
private static char[]
ATTR_CY
private static char[]
ATTR_D
private static char[]
ATTR_FILL
private static char[]
ATTR_FILL_OPACITY
private static char[]
ATTR_FILL_RULE
private static char[]
ATTR_FX
private static char[]
ATTR_FY
private static char[]
ATTR_GRADIENT_TRANSFORM
private static char[]
ATTR_GRADIENT_UNITS
private static char[]
ATTR_HEIGHT
private static char[]
ATTR_ID
private static char[]
ATTR_OFFSET
private static char[]
ATTR_POINTS
private static char[]
ATTR_R
private static char[]
ATTR_RX
private static char[]
ATTR_RY
private static char[]
ATTR_SPREAD_METHOD
private static char[]
ATTR_STOP
private static char[]
ATTR_STOP_COLOR
private static char[]
ATTR_STOP_OPACITY
private static char[]
ATTR_STROKE
private static char[]
ATTR_STROKE_CAP
private static char[]
ATTR_STROKE_JOIN
private static char[]
ATTR_STROKE_OPACITY
private static char[]
ATTR_STROKE_WIDTH
private static char[]
ATTR_STYLE
private static char[]
ATTR_TRANSFORM
private static char[]
ATTR_VIEWBOX
private static char[]
ATTR_WIDTH
private static char[]
ATTR_X
private static char[]
ATTR_X1
private static char[]
ATTR_X2
private static char[]
ATTR_XLINK_HREF
private static char[]
ATTR_Y
private static char[]
ATTR_Y1
private static char[]
ATTR_Y2
private static char[]
ELEMENT_CDATA
private static char[]
ELEMENT_CDATA_END
private static char[]
ELEMENT_CIRCLE
private static char[]
ELEMENT_COMMENT
private static char[]
ELEMENT_COMMENT_END
private static char[]
ELEMENT_DEFS
private static char[]
ELEMENT_DESCRIPTION
private static char[]
ELEMENT_DOCTYPE
private static char[]
ELEMENT_ELLIPSE
private static char[]
ELEMENT_GROUP
private static char[]
ELEMENT_LINE
private static char[]
ELEMENT_LINEAR_GRADIENT
private static char[]
ELEMENT_PATH
private static char[]
ELEMENT_POLYGON
private static char[]
ELEMENT_POLYLINE
private static char[]
ELEMENT_RADIAL_GRADIENT
private static char[]
ELEMENT_RECT
private static char[]
ELEMENT_STYLE
private static char[]
ELEMENT_SVG
private static char[]
ELEMENT_TITLE
private static char[]
ELEMENT_USE
private static char[]
ELEMENT_XML
private static java.lang.String
paramRegex
private static java.util.regex.Matcher
urlMatcher
-
Constructor Summary
Constructors Modifier Constructor Description private
SvgLoader()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static void
addArc(java.lang.String[] sa, int ix, java.util.List<java.lang.Byte> types, java.util.List<java.lang.Float> points, boolean relative)
private static void
addPoint(java.util.List<java.lang.Float> points, java.lang.String s, boolean relative)
private static double
clampAngle(double deg)
private static float
clampAngle(float deg)
private static int
closer(char[] ca, int start, int end)
private static char
closerChar(char c)
private static int
findAll(char[] ca, int from, int to, char... cs)
private static int
findAny(char[] ca, int from, int to, char... cs)
private static int
findClosingTag(char[] ca, int start, int end)
find the closer for the XML tag which begins with the given start position ('<' should be the first char)private static int
findNextTag(char[] ca, int start, int end)
private static int
forward(char[] ca, int from)
private static double
getAngle(double ux, double uy, double vx, double vy)
private static java.lang.String
getAttrValue(char[] ca, int start, int end, char... name)
private static int[]
getAttrValueRange(char[] ca, int start, int end, char... name)
private static java.util.Map<java.lang.String,java.lang.String>
getClassStyles(SvgElement element, char[] ca, int start, int end)
private static java.lang.Integer
getColorAsInt(java.lang.String color)
private static java.util.Map<java.lang.String,java.lang.String>
getIdStyles(SvgElement element, char[] ca, int start, int end)
private static java.lang.String
getLink(java.lang.String link)
private static SvgTransform
getTransform(char[] ca, int[] range)
Types: matrix() translate( [ ]) scale( [ ]) rotate( [ ]) skewX( ) skewY( ) private static java.lang.String
getValue(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> idStyles, java.util.Map<java.lang.String,java.lang.String> classStyles, java.util.Map<java.lang.String,java.lang.String> attrStyles, java.lang.String attrValue)
private static java.lang.String
getValue(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> idStyles, java.util.Map<java.lang.String,java.lang.String> classStyles, java.util.Map<java.lang.String,java.lang.String> attrStyles, java.lang.String attrValue, java.lang.String defaultValue)
private static boolean
isEqual(char[] ca, int start, int end, char... test)
private static boolean
isNext(char[] ca, int start, char... test)
private static boolean
isTag(char[] ca, int start, char[] tagName)
(package private) static SvgDocument
load(java.io.InputStream in)
(package private) static SvgDocument
load(java.lang.String src)
private static void
parse(SvgContainer container, char[] ca, int start, int end)
private static int
parseCircle(SvgContainer container, char[] ca, int start, int end)
private static void
parseCss(SvgStyle element, char[] ca, int start, int end)
private static int
parseDefs(SvgContainer container, char[] ca, int start, int end)
private static int
parseDescription(SvgContainer container, char[] ca, int start, int end)
private static int
parseEllipse(SvgContainer container, char[] ca, int start, int end)
private static void
parseFill(SvgGraphic element, char[] ca, int start, int end)
private static java.lang.Float
parseFloat(java.lang.String s)
private static float
parseFloat(java.lang.String s, float defaultValue)
private static java.lang.Float
parseFloat(java.lang.String s, java.lang.Float defaultValue)
private static int
parseGradientStop(SvgGradient gradient, char[] ca, int start, int end)
private static int
parseGroup(SvgContainer container, char[] ca, int start, int end)
private static float
parseLength(java.lang.String s, java.lang.String defaultString)
private static int
parseLine(SvgContainer container, char[] ca, int start, int end)
private static int
parseLinearGradient(SvgContainer container, char[] ca, int start, int end)
private static java.lang.String
parseLinkId(java.lang.String id)
private static void
parsePaint(SvgPaint paint, java.lang.String s)
private static int
parsePath(SvgContainer container, char[] ca, int start, int end)
static void
parsePathData(SvgShape path, java.lang.String data)
private static java.lang.String[]
parsePathDataStrings(java.lang.String data)
private static java.lang.Float
parsePercentage(java.lang.String s, java.lang.Float defaultValue, boolean clamp)
private static float[]
parsePoints(java.lang.String s)
private static int
parsePolygon(SvgContainer container, char[] ca, int start, int end)
private static int
parsePolyline(SvgContainer container, char[] ca, int start, int end)
private static int
parseRadialGradient(SvgContainer container, char[] ca, int start, int end)
private static int
parseRectangle(SvgContainer container, char[] ca, int start, int end)
private static java.lang.Integer
parseRule(java.lang.String s)
private static void
parseStroke(SvgGraphic element, char[] ca, int start, int end)
private static java.lang.Integer
parseStrokeLineCap(java.lang.String s)
private static java.lang.Integer
parseStrokeLineJoin(java.lang.String s)
private static java.lang.Float
parseStrokeWidth(java.lang.String s)
private static int
parseStyle(SvgContainer container, char[] ca, int start, int end)
private static java.util.Map<java.lang.String,java.lang.String>
parseStyles(char[] ca, int start, int end)
private static java.util.Map<java.lang.String,java.lang.String>
parseStyles(java.lang.String styles)
private static int
parseSvg(SvgContainer container, char[] ca, int start, int end)
private static int
parseTitle(SvgContainer container, char[] ca, int start, int end)
private static int
parseUse(SvgContainer container, char[] ca, int start, int end)
private static float[]
parseViewBox(java.lang.String s)
private static int
reverse(char[] ca, int from)
-
-
-
Field Detail
-
ATTR_CLASS
private static final char[] ATTR_CLASS
-
ATTR_CX
private static final char[] ATTR_CX
-
ATTR_CY
private static final char[] ATTR_CY
-
ATTR_D
private static final char[] ATTR_D
-
ATTR_FILL
private static final char[] ATTR_FILL
-
ATTR_FILL_OPACITY
private static final char[] ATTR_FILL_OPACITY
-
ATTR_FILL_RULE
private static final char[] ATTR_FILL_RULE
-
ATTR_FX
private static final char[] ATTR_FX
-
ATTR_FY
private static final char[] ATTR_FY
-
ATTR_GRADIENT_TRANSFORM
private static final char[] ATTR_GRADIENT_TRANSFORM
-
ATTR_GRADIENT_UNITS
private static final char[] ATTR_GRADIENT_UNITS
-
ATTR_HEIGHT
private static final char[] ATTR_HEIGHT
-
ATTR_ID
private static final char[] ATTR_ID
-
ATTR_OFFSET
private static final char[] ATTR_OFFSET
-
ATTR_POINTS
private static final char[] ATTR_POINTS
-
ATTR_R
private static final char[] ATTR_R
-
ATTR_RX
private static final char[] ATTR_RX
-
ATTR_RY
private static final char[] ATTR_RY
-
ATTR_SPREAD_METHOD
private static final char[] ATTR_SPREAD_METHOD
-
ATTR_STOP
private static final char[] ATTR_STOP
-
ATTR_STOP_COLOR
private static final char[] ATTR_STOP_COLOR
-
ATTR_STOP_OPACITY
private static final char[] ATTR_STOP_OPACITY
-
ATTR_STROKE
private static final char[] ATTR_STROKE
-
ATTR_STROKE_OPACITY
private static final char[] ATTR_STROKE_OPACITY
-
ATTR_STROKE_WIDTH
private static final char[] ATTR_STROKE_WIDTH
-
ATTR_STROKE_CAP
private static final char[] ATTR_STROKE_CAP
-
ATTR_STROKE_JOIN
private static final char[] ATTR_STROKE_JOIN
-
ATTR_STYLE
private static final char[] ATTR_STYLE
-
ATTR_TRANSFORM
private static final char[] ATTR_TRANSFORM
-
ATTR_VIEWBOX
private static final char[] ATTR_VIEWBOX
-
ATTR_WIDTH
private static final char[] ATTR_WIDTH
-
ATTR_X
private static final char[] ATTR_X
-
ATTR_X1
private static final char[] ATTR_X1
-
ATTR_X2
private static final char[] ATTR_X2
-
ATTR_XLINK_HREF
private static final char[] ATTR_XLINK_HREF
-
ATTR_Y
private static final char[] ATTR_Y
-
ATTR_Y1
private static final char[] ATTR_Y1
-
ATTR_Y2
private static final char[] ATTR_Y2
-
ELEMENT_CDATA
private static final char[] ELEMENT_CDATA
-
ELEMENT_CDATA_END
private static final char[] ELEMENT_CDATA_END
-
ELEMENT_CIRCLE
private static final char[] ELEMENT_CIRCLE
-
ELEMENT_COMMENT
private static final char[] ELEMENT_COMMENT
-
ELEMENT_COMMENT_END
private static final char[] ELEMENT_COMMENT_END
-
ELEMENT_DESCRIPTION
private static final char[] ELEMENT_DESCRIPTION
-
ELEMENT_DEFS
private static final char[] ELEMENT_DEFS
-
ELEMENT_DOCTYPE
private static final char[] ELEMENT_DOCTYPE
-
ELEMENT_ELLIPSE
private static final char[] ELEMENT_ELLIPSE
-
ELEMENT_GROUP
private static final char[] ELEMENT_GROUP
-
ELEMENT_LINEAR_GRADIENT
private static final char[] ELEMENT_LINEAR_GRADIENT
-
ELEMENT_LINE
private static final char[] ELEMENT_LINE
-
ELEMENT_PATH
private static final char[] ELEMENT_PATH
-
ELEMENT_POLYGON
private static final char[] ELEMENT_POLYGON
-
ELEMENT_POLYLINE
private static final char[] ELEMENT_POLYLINE
-
ELEMENT_RADIAL_GRADIENT
private static final char[] ELEMENT_RADIAL_GRADIENT
-
ELEMENT_RECT
private static final char[] ELEMENT_RECT
-
ELEMENT_SVG
private static final char[] ELEMENT_SVG
-
ELEMENT_STYLE
private static final char[] ELEMENT_STYLE
-
ELEMENT_TITLE
private static final char[] ELEMENT_TITLE
-
ELEMENT_USE
private static final char[] ELEMENT_USE
-
ELEMENT_XML
private static final char[] ELEMENT_XML
-
paramRegex
private static final java.lang.String paramRegex
- See Also:
- Constant Field Values
-
urlMatcher
private static final java.util.regex.Matcher urlMatcher
-
-
Method Detail
-
addArc
private static void addArc(java.lang.String[] sa, int ix, java.util.List<java.lang.Byte> types, java.util.List<java.lang.Float> points, boolean relative)
-
addPoint
private static void addPoint(java.util.List<java.lang.Float> points, java.lang.String s, boolean relative)
-
clampAngle
private static double clampAngle(double deg)
-
clampAngle
private static float clampAngle(float deg)
-
closer
private static int closer(char[] ca, int start, int end)
-
closerChar
private static char closerChar(char c)
-
findAll
private static int findAll(char[] ca, int from, int to, char... cs)
-
findAny
private static int findAny(char[] ca, int from, int to, char... cs)
-
findClosingTag
private static int findClosingTag(char[] ca, int start, int end)
find the closer for the XML tag which begins with the given start position ('<' should be the first char)- Parameters:
ca
-start
-- Returns:
-
findNextTag
private static int findNextTag(char[] ca, int start, int end)
-
forward
private static int forward(char[] ca, int from)
-
getAngle
private static double getAngle(double ux, double uy, double vx, double vy)
-
getAttrValue
private static java.lang.String getAttrValue(char[] ca, int start, int end, char... name)
-
getAttrValueRange
private static int[] getAttrValueRange(char[] ca, int start, int end, char... name)
-
getClassStyles
private static java.util.Map<java.lang.String,java.lang.String> getClassStyles(SvgElement element, char[] ca, int start, int end)
-
getColorAsInt
private static java.lang.Integer getColorAsInt(java.lang.String color)
-
getIdStyles
private static java.util.Map<java.lang.String,java.lang.String> getIdStyles(SvgElement element, char[] ca, int start, int end)
-
getLink
private static java.lang.String getLink(java.lang.String link)
-
getTransform
private static SvgTransform getTransform(char[] ca, int[] range)
Types:- matrix(
) - translate(
[ ]) - scale(
[ ]) - rotate(
[ ]) - skewX(
) - skewY(
)
- Parameters:
str
-- Returns:
- matrix(
-
getValue
private static java.lang.String getValue(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> idStyles, java.util.Map<java.lang.String,java.lang.String> classStyles, java.util.Map<java.lang.String,java.lang.String> attrStyles, java.lang.String attrValue)
-
getValue
private static java.lang.String getValue(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> idStyles, java.util.Map<java.lang.String,java.lang.String> classStyles, java.util.Map<java.lang.String,java.lang.String> attrStyles, java.lang.String attrValue, java.lang.String defaultValue)
-
isEqual
private static boolean isEqual(char[] ca, int start, int end, char... test)
-
isNext
private static boolean isNext(char[] ca, int start, char... test)
-
isTag
private static boolean isTag(char[] ca, int start, char[] tagName)
-
load
static SvgDocument load(java.io.InputStream in)
-
load
static SvgDocument load(java.lang.String src)
-
parse
private static void parse(SvgContainer container, char[] ca, int start, int end)
-
parseCircle
private static int parseCircle(SvgContainer container, char[] ca, int start, int end)
-
parseCss
private static void parseCss(SvgStyle element, char[] ca, int start, int end)
-
parseDefs
private static int parseDefs(SvgContainer container, char[] ca, int start, int end)
-
parseDescription
private static int parseDescription(SvgContainer container, char[] ca, int start, int end)
-
parseEllipse
private static int parseEllipse(SvgContainer container, char[] ca, int start, int end)
-
parseFill
private static void parseFill(SvgGraphic element, char[] ca, int start, int end)
-
parseFloat
private static java.lang.Float parseFloat(java.lang.String s)
-
parseFloat
private static float parseFloat(java.lang.String s, float defaultValue)
-
parseFloat
private static java.lang.Float parseFloat(java.lang.String s, java.lang.Float defaultValue)
-
parseGradientStop
private static int parseGradientStop(SvgGradient gradient, char[] ca, int start, int end)
-
parseGroup
private static int parseGroup(SvgContainer container, char[] ca, int start, int end)
-
parseLength
private static float parseLength(java.lang.String s, java.lang.String defaultString)
-
parseLine
private static int parseLine(SvgContainer container, char[] ca, int start, int end)
-
parseLinearGradient
private static int parseLinearGradient(SvgContainer container, char[] ca, int start, int end)
-
parseLinkId
private static java.lang.String parseLinkId(java.lang.String id)
-
parsePaint
private static void parsePaint(SvgPaint paint, java.lang.String s)
-
parsePath
private static int parsePath(SvgContainer container, char[] ca, int start, int end)
-
parsePathData
public static void parsePathData(SvgShape path, java.lang.String data)
-
parsePathDataStrings
private static java.lang.String[] parsePathDataStrings(java.lang.String data)
-
parsePercentage
private static java.lang.Float parsePercentage(java.lang.String s, java.lang.Float defaultValue, boolean clamp)
-
parsePoints
private static float[] parsePoints(java.lang.String s)
-
parsePolygon
private static int parsePolygon(SvgContainer container, char[] ca, int start, int end)
-
parsePolyline
private static int parsePolyline(SvgContainer container, char[] ca, int start, int end)
-
parseRadialGradient
private static int parseRadialGradient(SvgContainer container, char[] ca, int start, int end)
-
parseRectangle
private static int parseRectangle(SvgContainer container, char[] ca, int start, int end)
-
parseRule
private static java.lang.Integer parseRule(java.lang.String s)
-
parseStroke
private static void parseStroke(SvgGraphic element, char[] ca, int start, int end)
-
parseStrokeLineCap
private static java.lang.Integer parseStrokeLineCap(java.lang.String s)
-
parseStrokeLineJoin
private static java.lang.Integer parseStrokeLineJoin(java.lang.String s)
-
parseStrokeWidth
private static java.lang.Float parseStrokeWidth(java.lang.String s)
-
parseStyle
private static int parseStyle(SvgContainer container, char[] ca, int start, int end)
-
parseStyles
private static java.util.Map<java.lang.String,java.lang.String> parseStyles(char[] ca, int start, int end)
-
parseStyles
private static java.util.Map<java.lang.String,java.lang.String> parseStyles(java.lang.String styles)
-
parseSvg
private static int parseSvg(SvgContainer container, char[] ca, int start, int end)
-
parseTitle
private static int parseTitle(SvgContainer container, char[] ca, int start, int end)
-
parseUse
private static int parseUse(SvgContainer container, char[] ca, int start, int end)
-
parseViewBox
private static float[] parseViewBox(java.lang.String s)
-
reverse
private static int reverse(char[] ca, int from)
-
-