com.smartgwt.client.widgets.drawing

## Class DrawCurve

- java.lang.Object
- - com.smartgwt.client.core.BaseClass
  - - com.smartgwt.client.widgets.drawing.DrawItem
    - - com.smartgwt.client.widgets.drawing.DrawCurve

- All Implemented Interfaces:
    com.google.gwt.event.shared.HasHandlers, HasClickHandlers, HasDragMoveHandlers, HasDragResizeMoveHandlers, HasDragStartHandlers, HasDragStopHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseUpHandlers, HasMovedHandlers, HasResizedHandlers, HasShowContextMenuHandlers
  Direct Known Subclasses:
    DrawBlockConnector

      public class DrawCurve
      extends DrawItem

  DrawItem that renders cubic bezier curves.

- - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.core.BaseClass

      `config, id, scClassName`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DrawCurve()`
    `DrawCurve(com.google.gwt.core.client.JavaScriptObject jsObj)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `com.google.gwt.core.client.JavaScriptObject` | `create()`
    `Point` | `getControlPoint1()` First cubic bezier control point.
    `Point` | `getControlPoint2()` Second cubic bezier control point.
    `Point` | `getEndPoint()` End point of the curve
    `KnobType[]` | `getKnobs()` Array of control knobs to display for this item.
    `LineCap` | `getLineCap()` Style of drawing the endpoints of a line.
    `static DrawCurve` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `Point` | `getStartPoint()` Start point of the curve
    `void` | `moveBy(int x, int y)` Increment start, end and control points of this curve
    `void` | `moveTo(int x, int y)` Sets start, end and control points of this curve
    `void` | `setControlPoint1(Point controlPoint1)` First cubic bezier control point.
    `void` | `setControlPoint2(Point controlPoint2)` Second cubic bezier control point.
    `static void` | `setDefaultProperties(DrawCurve drawCurveProperties)` Class level method to set the default properties of this class.
    `void` | `setEndPoint(Point endPoint)` End point of the curve If this method is called after the component has been drawn/initialized: Update the endPoint
    `void` | `setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `void` | `setKnobs(KnobType... knobs)` Array of control knobs to display for this item.
    `void` | `setLineCap(LineCap lineCap)` Style of drawing the endpoints of a line.
    `void` | `setStartPoint(Point startPoint)` Start point of the curve If this method is called after the component has been drawn/initialized: Update the startPoint

    - ### Methods inherited from class com.smartgwt.client.widgets.drawing.DrawItem

      `addClickHandler, addDragMoveHandler, addDragResizeMoveHandler, addDragStartHandler, addDragStopHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseUpHandler, addMovedHandler, addResizedHandler, addShowContextMenuHandler, computeAngle, computeAngleAsDouble, dragResizeMove, draw, erase, getAttributeAsIntArray, getBoundingBox, getCanDrag, getCanHover, getCenter, getContextMenu, getCursor, getDestroyed, getDestroying, getDragStartDistance, getDrawGroup, getDrawPane, getEndArrow, getFillColor, getFillGradient, getFillOpacity, getHoverHTML, getKeepInParentRect, getLineColor, getLineOpacity, getLinePattern, getLineWidth, getMoveKnobOffset, getMoveKnobPoint, getPageLeft, getPageTop, getPrompt, getRef, getResizeKnobPoints, getRotation, getScale, getShadow, getShowHover, getStartArrow, getSvgString, hide, hideKnobs, hover, isInBounds, isPointInPath, resizeBy, resizeTo, rotateBy, rotateBy, rotateTo, rotateTo, scaleBy, scaleBy, scaleTo, scaleTo, setAttribute, setCanDrag, setCanHover, setContextMenu, setCursor, setDefaultProperties, setDragStartDistance, setDrawGroup, setDrawPane, setEndArrow, setFillColor, setFillGradient, setFillOpacity, setKeepInParentRect, setKeepInParentRect, setLineColor, setLineOpacity, setLinePattern, setLineWidth, setMoveKnobOffset, setMoveKnobPoint, setPrompt, setResizeKnobPoints, setRotation, setScale, setShadow, setShowHover, setStartArrow, show, showKnobs`

    - ### Methods inherited from class com.smartgwt.client.core.BaseClass

      `asSGWTComponent, destroy, doAddHandler, doInit, error, error, errorIfNotCreated, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsString, getAttributeAsStringArray, getClassName, getConfig, getHandlerCount, getID, getJsObj, getOrCreateJsObj, getScClassName, internalSetID, internalSetID, isCreated, onBind, onInit, registerID, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setID, setProperty, setProperty, setProperty, setProperty, setScClassName`

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

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

    - ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

      `fireEvent`

- - ### Constructor Detail

    - #### DrawCurve

          public DrawCurve()

    - #### DrawCurve

          public DrawCurve(com.google.gwt.core.client.JavaScriptObject jsObj)

  - ### Method Detail

    - #### getOrCreateRef

          public static DrawCurve getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### setJavaScriptObject

          public void setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)

      Overrides:
        `setJavaScriptObject` in class `DrawItem`

    - #### create

          public com.google.gwt.core.client.JavaScriptObject create()

      Overrides:
        `create` in class `DrawItem`

    - #### setControlPoint1

          public void setControlPoint1(Point controlPoint1)

      First cubic bezier control point.
      If this method is called after the component has been drawn/initialized: Update the first cubic bezier control point
      Parameters:
        `controlPoint1` - left coordinate for control point, in pixels. Default value is [100,0]

    - #### getControlPoint1

          public Point getControlPoint1()

      First cubic bezier control point.
      Returns:
        Point

    - #### setControlPoint2

          public void setControlPoint2(Point controlPoint2)

      Second cubic bezier control point.
      If this method is called after the component has been drawn/initialized: Update the second cubic bezier control point
      Parameters:
        `controlPoint2` - left coordinate for control point, in pixels. Default value is [0,100]

    - #### getControlPoint2

          public Point getControlPoint2()

      Second cubic bezier control point.
      Returns:
        Point

    - #### setEndPoint

          public void setEndPoint(Point endPoint)

      End point of the curve
      If this method is called after the component has been drawn/initialized: Update the endPoint
      Parameters:
        `endPoint` - left coordinate for end point, in pixels. Default value is [100,100]

    - #### getEndPoint

          public Point getEndPoint()

      End point of the curve
      Returns:
        Point

    - #### setKnobs

          public void setKnobs(KnobType... knobs)

      Array of control knobs to display for this item. Each `KnobType` specified in this will turn on UI element(s) allowing the user to manipulate this DrawCurve. To update the set of knobs at runtime use `DrawItem.showKnobs` and `DrawItem.hideKnobs`.

      DrawCurve supports the `KnobType.STARTPOINT`, `KnobType.ENDPOINT`, `KnobType.CONTROLPOINT1`, and `KnobType.CONTROLPOINT2` knob types.

      Overrides:
        `setKnobs` in class `DrawItem`
      Parameters:
        `knobs` - knobs Default value is null

    - #### getKnobs

          public KnobType[] getKnobs()

      Array of control knobs to display for this item. Each `KnobType` specified in this will turn on UI element(s) allowing the user to manipulate this DrawCurve. To update the set of knobs at runtime use `DrawItem.showKnobs` and `DrawItem.hideKnobs`.

      DrawCurve supports the `KnobType.STARTPOINT`, `KnobType.ENDPOINT`, `KnobType.CONTROLPOINT1`, and `KnobType.CONTROLPOINT2` knob types.

      Overrides:
        `getKnobs` in class `DrawItem`
      Returns:
        KnobType

    - #### setLineCap

          public void setLineCap(LineCap lineCap)

      Style of drawing the endpoints of a line.

      Note that for dashed and dotted lines, the lineCap style affects each dash or dot.

      Overrides:
        `setLineCap` in class `DrawItem`
      Parameters:
        `lineCap` - lineCap Default value is "butt"

    - #### getLineCap

          public LineCap getLineCap()

      Style of drawing the endpoints of a line.

      Note that for dashed and dotted lines, the lineCap style affects each dash or dot.

      Overrides:
        `getLineCap` in class `DrawItem`
      Returns:
        LineCap

    - #### setStartPoint

          public void setStartPoint(Point startPoint)

      Start point of the curve
      If this method is called after the component has been drawn/initialized: Update the startPoint
      Parameters:
        `startPoint` - left coordinate for start point, in pixels. Default value is [0,0]

    - #### getStartPoint

          public Point getStartPoint()

      Start point of the curve
      Returns:
        Point

    - #### moveBy

          public void moveBy(int x,
                    int y)

      Increment start, end and control points of this curve
      Overrides:
        `moveBy` in class `DrawItem`
      Parameters:
        `x` - new x coordinate in pixels
        `y` - new y coordinate in pixels

    - #### moveTo

          public void moveTo(int x,
                    int y)

      Sets start, end and control points of this curve
      Parameters:
        `x` - new x coordinate in pixels
        `y` - new y coordinate in pixels

    - #### setDefaultProperties

          public static void setDefaultProperties(DrawCurve drawCurveProperties)

      Class level method to set the default properties of this class. If set, then all subsequent instances of this class will automatically have the default properties that were set when this method was called. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

      Note: This method is intended for setting default attributes only and will effect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead.

      Parameters:
        `drawCurveProperties` - properties that should be used as new defaults when instances of this class are created