com.mxgraph.shape

## Class mxCurveShape

- java.lang.Object
- - com.mxgraph.shape.mxBasicShape
  - - com.mxgraph.shape.mxConnectorShape
    - - com.mxgraph.shape.mxCurveShape

- All Implemented Interfaces:
    mxIShape

      public class mxCurveShape
      extends mxConnectorShape

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected mxCurve` | `curve` Cache of the points between which drawing straight lines views as a curve

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `mxCurveShape()`
    `mxCurveShape(mxCurve curve)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `mxCurve` | `getCurve()`
    `protected mxLine` | `getMarkerVector(java.util.List<mxPoint> points, boolean source, double markerSize)` Hook to override creation of the vector that the marker is drawn along since it may not be the same as the vector between any two control points
    `protected void` | `paintPolyline(mxGraphics2DCanvas canvas, java.util.List<mxPoint> points, java.util.Map<java.lang.String,java.lang.Object> style)`
    `void` | `paintShape(mxGraphics2DCanvas canvas, mxCellState state)`
    `void` | `validateCurve(java.util.List<mxPoint> points, double scale, java.util.Map<java.lang.String,java.lang.Object> style)` Forces underlying curve to a valid state

    - ### Methods inherited from class com.mxgraph.shape.mxConnectorShape

      `isRounded, paintMarker`

    - ### Methods inherited from class com.mxgraph.shape.mxBasicShape

      `configureGraphics, createShape, getFillColor, getGradientBounds, getStrokeColor, hasGradient, hasShadow`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### curve

          protected mxCurve curve

      Cache of the points between which drawing straight lines views as a curve

  - ### Constructor Detail

    - #### mxCurveShape

          public mxCurveShape()

    - #### mxCurveShape

          public mxCurveShape(mxCurve curve)

  - ### Method Detail

    - #### getCurve

          public mxCurve getCurve()

    - #### paintShape

          public void paintShape(mxGraphics2DCanvas canvas,
                        mxCellState state)

      Specified by:
        `paintShape` in interface `mxIShape`
      Overrides:
        `paintShape` in class `mxConnectorShape`

    - #### paintPolyline

          protected void paintPolyline(mxGraphics2DCanvas canvas,
                           java.util.List<mxPoint> points,
                           java.util.Map<java.lang.String,java.lang.Object> style)

      Overrides:
        `paintPolyline` in class `mxConnectorShape`

    - #### validateCurve

          public void validateCurve(java.util.List<mxPoint> points,
                           double scale,
                           java.util.Map<java.lang.String,java.lang.Object> style)

      Forces underlying curve to a valid state
      Parameters:
        `points` -

    - #### getMarkerVector

          protected mxLine getMarkerVector(java.util.List<mxPoint> points,
                               boolean source,
                               double markerSize)

      Hook to override creation of the vector that the marker is drawn along since it may not be the same as the vector between any two control points
      Overrides:
        `getMarkerVector` in class `mxConnectorShape`
      Parameters:
        `points` - the guide points of the connector
        `source` - whether the marker is at the source end
        `markerSize` - the scaled maximum length of the marker
      Returns:
        a line describing the vector the marker should be drawn along

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