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_CLASSprivate static char[]ATTR_CXprivate static char[]ATTR_CYprivate static char[]ATTR_Dprivate static char[]ATTR_FILLprivate static char[]ATTR_FILL_OPACITYprivate static char[]ATTR_FILL_RULEprivate static char[]ATTR_FXprivate static char[]ATTR_FYprivate static char[]ATTR_GRADIENT_TRANSFORMprivate static char[]ATTR_GRADIENT_UNITSprivate static char[]ATTR_HEIGHTprivate static char[]ATTR_IDprivate static char[]ATTR_OFFSETprivate static char[]ATTR_POINTSprivate static char[]ATTR_Rprivate static char[]ATTR_RXprivate static char[]ATTR_RYprivate static char[]ATTR_SPREAD_METHODprivate static char[]ATTR_STOPprivate static char[]ATTR_STOP_COLORprivate static char[]ATTR_STOP_OPACITYprivate static char[]ATTR_STROKEprivate static char[]ATTR_STROKE_CAPprivate static char[]ATTR_STROKE_JOINprivate static char[]ATTR_STROKE_OPACITYprivate static char[]ATTR_STROKE_WIDTHprivate static char[]ATTR_STYLEprivate static char[]ATTR_TRANSFORMprivate static char[]ATTR_VIEWBOXprivate static char[]ATTR_WIDTHprivate static char[]ATTR_Xprivate static char[]ATTR_X1private static char[]ATTR_X2private static char[]ATTR_XLINK_HREFprivate static char[]ATTR_Yprivate static char[]ATTR_Y1private static char[]ATTR_Y2private static char[]ELEMENT_CDATAprivate static char[]ELEMENT_CDATA_ENDprivate static char[]ELEMENT_CIRCLEprivate static char[]ELEMENT_COMMENTprivate static char[]ELEMENT_COMMENT_ENDprivate static char[]ELEMENT_DEFSprivate static char[]ELEMENT_DESCRIPTIONprivate static char[]ELEMENT_DOCTYPEprivate static char[]ELEMENT_ELLIPSEprivate static char[]ELEMENT_GROUPprivate static char[]ELEMENT_LINEprivate static char[]ELEMENT_LINEAR_GRADIENTprivate static char[]ELEMENT_PATHprivate static char[]ELEMENT_POLYGONprivate static char[]ELEMENT_POLYLINEprivate static char[]ELEMENT_RADIAL_GRADIENTprivate static char[]ELEMENT_RECTprivate static char[]ELEMENT_STYLEprivate static char[]ELEMENT_SVGprivate static char[]ELEMENT_TITLEprivate static char[]ELEMENT_USEprivate static char[]ELEMENT_XMLprivate static java.lang.StringparamRegexprivate static java.util.regex.MatcherurlMatcher
-
Constructor Summary
Constructors Modifier Constructor Description privateSvgLoader()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static voidaddArc(java.lang.String[] sa, int ix, java.util.List<java.lang.Byte> types, java.util.List<java.lang.Float> points, boolean relative)private static voidaddPoint(java.util.List<java.lang.Float> points, java.lang.String s, boolean relative)private static doubleclampAngle(double deg)private static floatclampAngle(float deg)private static intcloser(char[] ca, int start, int end)private static charcloserChar(char c)private static intfindAll(char[] ca, int from, int to, char... cs)private static intfindAny(char[] ca, int from, int to, char... cs)private static intfindClosingTag(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 intfindNextTag(char[] ca, int start, int end)private static intforward(char[] ca, int from)private static doublegetAngle(double ux, double uy, double vx, double vy)private static java.lang.StringgetAttrValue(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.IntegergetColorAsInt(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.StringgetLink(java.lang.String link)private static SvgTransformgetTransform(char[] ca, int[] range)Types: matrix() translate( [ ]) scale( [ ]) rotate( [ ]) skewX( ) skewY( ) private static java.lang.StringgetValue(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.StringgetValue(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 booleanisEqual(char[] ca, int start, int end, char... test)private static booleanisNext(char[] ca, int start, char... test)private static booleanisTag(char[] ca, int start, char[] tagName)(package private) static SvgDocumentload(java.io.InputStream in)(package private) static SvgDocumentload(java.lang.String src)private static voidparse(SvgContainer container, char[] ca, int start, int end)private static intparseCircle(SvgContainer container, char[] ca, int start, int end)private static voidparseCss(SvgStyle element, char[] ca, int start, int end)private static intparseDefs(SvgContainer container, char[] ca, int start, int end)private static intparseDescription(SvgContainer container, char[] ca, int start, int end)private static intparseEllipse(SvgContainer container, char[] ca, int start, int end)private static voidparseFill(SvgGraphic element, char[] ca, int start, int end)private static java.lang.FloatparseFloat(java.lang.String s)private static floatparseFloat(java.lang.String s, float defaultValue)private static java.lang.FloatparseFloat(java.lang.String s, java.lang.Float defaultValue)private static intparseGradientStop(SvgGradient gradient, char[] ca, int start, int end)private static intparseGroup(SvgContainer container, char[] ca, int start, int end)private static floatparseLength(java.lang.String s, java.lang.String defaultString)private static intparseLine(SvgContainer container, char[] ca, int start, int end)private static intparseLinearGradient(SvgContainer container, char[] ca, int start, int end)private static java.lang.StringparseLinkId(java.lang.String id)private static voidparsePaint(SvgPaint paint, java.lang.String s)private static intparsePath(SvgContainer container, char[] ca, int start, int end)static voidparsePathData(SvgShape path, java.lang.String data)private static java.lang.String[]parsePathDataStrings(java.lang.String data)private static java.lang.FloatparsePercentage(java.lang.String s, java.lang.Float defaultValue, boolean clamp)private static float[]parsePoints(java.lang.String s)private static intparsePolygon(SvgContainer container, char[] ca, int start, int end)private static intparsePolyline(SvgContainer container, char[] ca, int start, int end)private static intparseRadialGradient(SvgContainer container, char[] ca, int start, int end)private static intparseRectangle(SvgContainer container, char[] ca, int start, int end)private static java.lang.IntegerparseRule(java.lang.String s)private static voidparseStroke(SvgGraphic element, char[] ca, int start, int end)private static java.lang.IntegerparseStrokeLineCap(java.lang.String s)private static java.lang.IntegerparseStrokeLineJoin(java.lang.String s)private static java.lang.FloatparseStrokeWidth(java.lang.String s)private static intparseStyle(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 intparseSvg(SvgContainer container, char[] ca, int start, int end)private static intparseTitle(SvgContainer container, char[] ca, int start, int end)private static intparseUse(SvgContainer container, char[] ca, int start, int end)private static float[]parseViewBox(java.lang.String s)private static intreverse(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)
-
-