com.mxgraph.util.svg

## Interface PathHandler

- All Known Implementing Classes:
    AWTPathProducer

      public interface PathHandler

  This interface must be implemented and then registred as the handler of a `PathParser` instance in order to be notified of parsing events.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `arcAbs(float rx, float ry, float xAxisRotation, boolean largeArcFlag, boolean sweepFlag, float x, float y)` Invoked when an absolute elliptical arc command has been parsed.
    `void` | `arcRel(float rx, float ry, float xAxisRotation, boolean largeArcFlag, boolean sweepFlag, float x, float y)` Invoked when a relative elliptical arc command has been parsed.
    `void` | `closePath()` Invoked when a closepath has been parsed.
    `void` | `curvetoCubicAbs(float x1, float y1, float x2, float y2, float x, float y)` Invoked when an absolute cubic bezier curve command has been parsed.
    `void` | `curvetoCubicRel(float x1, float y1, float x2, float y2, float x, float y)` Invoked when a relative cubic bezier curve command has been parsed.
    `void` | `curvetoCubicSmoothAbs(float x2, float y2, float x, float y)` Invoked when an absolute smooth cubic bezier curve command has been parsed.
    `void` | `curvetoCubicSmoothRel(float x2, float y2, float x, float y)` Invoked when a relative smooth cubic bezier curve command has been parsed.
    `void` | `curvetoQuadraticAbs(float x1, float y1, float x, float y)` Invoked when an absolute quadratic bezier curve command has been parsed.
    `void` | `curvetoQuadraticRel(float x1, float y1, float x, float y)` Invoked when a relative quadratic bezier curve command has been parsed.
    `void` | `curvetoQuadraticSmoothAbs(float x, float y)` Invoked when an absolute smooth quadratic bezier curve command has been parsed.
    `void` | `curvetoQuadraticSmoothRel(float x, float y)` Invoked when a relative smooth quadratic bezier curve command has been parsed.
    `void` | `endPath()` Invoked when the path ends.
    `void` | `linetoAbs(float x, float y)` Invoked when an absolute line command has been parsed.
    `void` | `linetoHorizontalAbs(float x)` Invoked when an horizontal absolute line command has been parsed.
    `void` | `linetoHorizontalRel(float x)` Invoked when an horizontal relative line command has been parsed.
    `void` | `linetoRel(float x, float y)` Invoked when a relative line command has been parsed.
    `void` | `linetoVerticalAbs(float y)` Invoked when a vertical absolute line command has been parsed.
    `void` | `linetoVerticalRel(float y)` Invoked when a vertical relative line command has been parsed.
    `void` | `movetoAbs(float x, float y)` Invoked when an absolute moveto command has been parsed.
    `void` | `movetoRel(float x, float y)` Invoked when a relative moveto command has been parsed.
    `void` | `startPath()` Invoked when the path starts.

- - ### Method Detail

    - #### startPath

          void startPath()
                         throws ParseException

      Invoked when the path starts.
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### endPath

          void endPath()
                       throws ParseException

      Invoked when the path ends.
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### movetoRel

          void movetoRel(float x,
                       float y)
                         throws ParseException

      Invoked when a relative moveto command has been parsed.

      Command : m

      Parameters:
        `x` - the relative x coordinate for the end point
        `y` - the relative y coordinate for the end point
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### movetoAbs

          void movetoAbs(float x,
                       float y)
                         throws ParseException

      Invoked when an absolute moveto command has been parsed.

      Command : M

      Parameters:
        `x` - the absolute x coordinate for the end point
        `y` - the absolute y coordinate for the end point
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### closePath

          void closePath()
                         throws ParseException

      Invoked when a closepath has been parsed.

      Command : z | Z

      Throws:
        `ParseException` - if an error occured while processing the path

    - #### linetoRel

          void linetoRel(float x,
                       float y)
                         throws ParseException

      Invoked when a relative line command has been parsed.

      Command : l

      Parameters:
        `x` - the relative x coordinates for the end point
        `y` - the relative y coordinates for the end point
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### linetoAbs

          void linetoAbs(float x,
                       float y)
                         throws ParseException

      Invoked when an absolute line command has been parsed.

      Command : L

      Parameters:
        `x` - the absolute x coordinate for the end point
        `y` - the absolute y coordinate for the end point
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### linetoHorizontalRel

          void linetoHorizontalRel(float x)
                                   throws ParseException

      Invoked when an horizontal relative line command has been parsed.

      Command : h

      Parameters:
        `x` - the relative X coordinate of the end point
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### linetoHorizontalAbs

          void linetoHorizontalAbs(float x)
                                   throws ParseException

      Invoked when an horizontal absolute line command has been parsed.

      Command : H

      Parameters:
        `x` - the absolute X coordinate of the end point
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### linetoVerticalRel

          void linetoVerticalRel(float y)
                                 throws ParseException

      Invoked when a vertical relative line command has been parsed.

      Command : v

      Parameters:
        `y` - the relative Y coordinate of the end point
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### linetoVerticalAbs

          void linetoVerticalAbs(float y)
                                 throws ParseException

      Invoked when a vertical absolute line command has been parsed.

      Command : V

      Parameters:
        `y` - the absolute Y coordinate of the end point
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### curvetoCubicRel

          void curvetoCubicRel(float x1,
                             float y1,
                             float x2,
                             float y2,
                             float x,
                             float y)
                               throws ParseException

      Invoked when a relative cubic bezier curve command has been parsed.

      Command : c

      Parameters:
        `x1` - the relative x coordinate for the first control point
        `y1` - the relative y coordinate for the first control point
        `x2` - the relative x coordinate for the second control point
        `y2` - the relative y coordinate for the second control point
        `x` - the relative x coordinate for the end point
        `y` - the relative y coordinate for the end point
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### curvetoCubicAbs

          void curvetoCubicAbs(float x1,
                             float y1,
                             float x2,
                             float y2,
                             float x,
                             float y)
                               throws ParseException

      Invoked when an absolute cubic bezier curve command has been parsed.

      Command : C

      Parameters:
        `x1` - the absolute x coordinate for the first control point
        `y1` - the absolute y coordinate for the first control point
        `x2` - the absolute x coordinate for the second control point
        `y2` - the absolute y coordinate for the second control point
        `x` - the absolute x coordinate for the end point
        `y` - the absolute y coordinate for the end point
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### curvetoCubicSmoothRel

          void curvetoCubicSmoothRel(float x2,
                                   float y2,
                                   float x,
                                   float y)
                                     throws ParseException

      Invoked when a relative smooth cubic bezier curve command has been parsed. The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point.

      Command : s

      Parameters:
        `x2` - the relative x coordinate for the second control point
        `y2` - the relative y coordinate for the second control point
        `x` - the relative x coordinate for the end point
        `y` - the relative y coordinate for the end point
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### curvetoCubicSmoothAbs

          void curvetoCubicSmoothAbs(float x2,
                                   float y2,
                                   float x,
                                   float y)
                                     throws ParseException

      Invoked when an absolute smooth cubic bezier curve command has been parsed. The first control point is assumed to be the reflection of the second control point on the previous command relative to the current point.

      Command : S

      Parameters:
        `x2` - the absolute x coordinate for the second control point
        `y2` - the absolute y coordinate for the second control point
        `x` - the absolute x coordinate for the end point
        `y` - the absolute y coordinate for the end point
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### curvetoQuadraticRel

          void curvetoQuadraticRel(float x1,
                                 float y1,
                                 float x,
                                 float y)
                                   throws ParseException

      Invoked when a relative quadratic bezier curve command has been parsed.

      Command : q

      Parameters:
        `x1` - the relative x coordinate for the control point
        `y1` - the relative y coordinate for the control point
        `x` - the relative x coordinate for the end point
        `y` - the relative x coordinate for the end point
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### curvetoQuadraticAbs

          void curvetoQuadraticAbs(float x1,
                                 float y1,
                                 float x,
                                 float y)
                                   throws ParseException

      Invoked when an absolute quadratic bezier curve command has been parsed.

      Command : Q

      Parameters:
        `x1` - the absolute x coordinate for the control point
        `y1` - the absolute y coordinate for the control point
        `x` - the absolute x coordinate for the end point
        `y` - the absolute x coordinate for the end point
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### curvetoQuadraticSmoothRel

          void curvetoQuadraticSmoothRel(float x,
                                       float y)
                                         throws ParseException

      Invoked when a relative smooth quadratic bezier curve command has been parsed. The control point is assumed to be the reflection of the control point on the previous command relative to the current point.

      Command : t

      Parameters:
        `x` - the relative x coordinate for the end point
        `y` - the relative y coordinate for the end point
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### curvetoQuadraticSmoothAbs

          void curvetoQuadraticSmoothAbs(float x,
                                       float y)
                                         throws ParseException

      Invoked when an absolute smooth quadratic bezier curve command has been parsed. The control point is assumed to be the reflection of the control point on the previous command relative to the current point.

      Command : T

      Parameters:
        `x` - the absolute x coordinate for the end point
        `y` - the absolute y coordinate for the end point
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### arcRel

          void arcRel(float rx,
                    float ry,
                    float xAxisRotation,
                    boolean largeArcFlag,
                    boolean sweepFlag,
                    float x,
                    float y)
                      throws ParseException

      Invoked when a relative elliptical arc command has been parsed.

      Command : a

      Parameters:
        `rx` - the X axis radius for the ellipse
        `ry` - the Y axis radius for the ellipse
        `xAxisRotation` - the rotation angle in degrees for the ellipse's X-axis relative to the X-axis
        `largeArcFlag` - the value of the large-arc-flag
        `sweepFlag` - the value of the sweep-flag
        `x` - the relative x coordinate for the end point
        `y` - the relative y coordinate for the end point
      Throws:
        `ParseException` - if an error occured while processing the path

    - #### arcAbs

          void arcAbs(float rx,
                    float ry,
                    float xAxisRotation,
                    boolean largeArcFlag,
                    boolean sweepFlag,
                    float x,
                    float y)
                      throws ParseException

      Invoked when an absolute elliptical arc command has been parsed.

      Command : A

      Parameters:
        `rx` - the X axis radius for the ellipse
        `ry` - the Y axis radius for the ellipse
        `xAxisRotation` - the rotation angle in degrees for the ellipse's X-axis relative to the X-axis
        `largeArcFlag` - the value of the large-arc-flag
        `sweepFlag` - the value of the sweep-flag
        `x` - the absolute x coordinate for the end point
        `y` - the absolute y coordinate for the end point
      Throws:
        `ParseException` - if an error occured while processing the path

Copyright (c) 2010 Gaudenz Alder. All rights reserved.