Class SvgLoader


  • class SvgLoader
    extends java.lang.Object
    • 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
      • urlMatcher

        private static final java.util.regex.Matcher urlMatcher
    • Constructor Detail

      • SvgLoader

        private SvgLoader()
    • 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)
      • 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)