# Class Stroke

java.lang.Object
com.codename1.ui.Stroke

public class Stroke extends java.lang.Object
Encapsulates the stroke used for drawing paths.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `CAP_BUTT`
  Cap style constant to cap strokes with a butt (or flat).
  `static final int`
  `CAP_ROUND`
  Cap style constant to cap strokes with a round end.
  `static final int`
  `CAP_SQUARE`
  Cap style constant to cap strokes with a square end.
  `static final int`
  `JOIN_BEVEL`
  Join style constant to join strokes bevel.
  `static final int`
  `JOIN_MITER`
  Join style constant to join strokes MITER (i.e. pointy) Examples can be seen at here.
  `static final int`
  `JOIN_ROUND`
  Join style constant to join strokes rounded.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Stroke()`
  Creates a stroke with default settings.
  `Stroke(float lineWidth, int capStyle, int joinStyle, float miterLimit)`
  Creates a stroke with the specified characteristics.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(java.lang.Object obj)`
  `int`
  `getCapStyle()`
  Gets the cap style of the stroke.
  `int`
  `getJoinStyle()`
  Returns the join style used for this stroke.
  `float`
  `getLineWidth()`
  Returns the line width of the stroke.
  `float`
  `getMiterLimit()`
  Gets the miter limit of the stroke.
  `int`
  `hashCode()`
  `void`
  `setCapStyle(int capStyle)`
  Gets the cap style of the stroke.
  `void`
  `setJoinStyle(int joinStyle)`
  Sets the join style of the stroke.
  `void`
  `setLineWidth(float lineWidth)`
  Sets the line width of the stroke.
  `void`
  `setMiterLimit(float miterLimit)`
  Sets the miter limit of the stroke.
  `void`
  `setStroke(Stroke stroke)`
  Copies the properties of `stroke` into this stroke.
  `String`
  `toString()`

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

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### JOIN_MITER

    public static final int JOIN_MITER

    Join style constant to join strokes MITER (i.e. pointy) Examples can be seen at here.

    ###### See also

    - #setJoinStyle

    - #getJoinStyle

    See Also:
      - Constant Field Values

  - ### JOIN_ROUND

    public static final int JOIN_ROUND

    Join style constant to join strokes rounded. Examples can be seen here.

    ###### See also

    - #setJoinStyle

    - #getJoinStyle

    See Also:
      - Constant Field Values

  - ### JOIN_BEVEL

    public static final int JOIN_BEVEL

    Join style constant to join strokes bevel. Examples can be seen here.

    ###### See also

    - #setJoinStyle

    - #getJoinStyle

    See Also:
      - Constant Field Values

  - ### CAP_BUTT

    public static final int CAP_BUTT

    Cap style constant to cap strokes with a butt (or flat). Examples can be seen here.

    ###### See also

    - #setCapStyle

    - #getCapStyle

    See Also:
      - Constant Field Values

  - ### CAP_ROUND

    public static final int CAP_ROUND

    Cap style constant to cap strokes with a round end. Examples can be seen here

    ###### See also

    - #setCapStyle

    - #getCapStyle

    See Also:
      - Constant Field Values

  - ### CAP_SQUARE

    public static final int CAP_SQUARE

    Cap style constant to cap strokes with a square end. Examples can be seen here

    ###### See also

    - #setCapStyle

    - #getCapStyle

    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### Stroke

    public Stroke(float lineWidth, int capStyle, int joinStyle, float miterLimit)

    Creates a stroke with the specified characteristics.

    ###### Parameters

    - `lineWidth`: The width of the stroke pixels.

    - `capStyle`: The cap style of the stroke. Should be one of `#CAP_BUTT`, `#CAP_ROUND`, or `#CAP_SQUARE`.

    - `joinStyle`: The join style of the strokes. Should be one of `#JOIN_MITER`, `#JOIN_ROUND`, or `#JOIN_BEVEL`.

    - `miterLimit`: The Miter limit controls the point at which a Miter join automatically is converted to a Bevel join. If the distance from the inner intersection point to the tip of the triangle measured in stroke widths is more than the Miter limit, the join will be drawn in the Bevel style.

  - ### Stroke

    public Stroke()

    Creates a stroke with default settings. Default settings are:

    Join style`#JOIN_MITER` Cap style`#CAP_BUTT` Line Width1.0 Miter Limit4.0

- ## Method Details

  - ### setStroke

    public void setStroke(Stroke stroke)

    Copies the properties of `stroke` into this stroke.

    ###### Parameters

    - `stroke`: The stroke whose properties we wish to copy into the current stroke.

  - ### getJoinStyle

    public int getJoinStyle()

    Returns the join style used for this stroke. See visual examples of join styles here.

    ###### Returns

    Returns:

      the joinStyle This will be one of `#JOIN_MITER`, `#JOIN_ROUND`, and `#JOIN_BEVEL`.

      ###### See also

      - #JOIN_MITER

      - #JOIN_BEVEL

      - #JOIN_ROUND

  - ### setJoinStyle

    public void setJoinStyle(int joinStyle)

    Sets the join style of the stroke. See visual examples of join styles here.

    ###### Parameters

    - `joinStyle`: @param joinStyle the joinStyle to set. This should be one of `#JOIN_MITER`, `#JOIN_ROUND`, and `#JOIN_BEVEL`.

    ###### See also

    - #JOIN_MITER

    - #JOIN_BEVEL

    - #JOIN_ROUND

  - ### getCapStyle

    public int getCapStyle()

    Gets the cap style of the stroke. See visual examples of cap styles here.

    ###### Returns

    the capStyle. This will be one of `#CAP_BUTT`, `#CAP_ROUND`, and `#CAP_SQUARE`.

    ###### See also

    - #CAP_BUTT

    - #CAP_SQUARE

    - #CAP_ROUND

  - ### setCapStyle

    public void setCapStyle(int capStyle)

    Gets the cap style of the stroke. See visual examples of cap styles here.

    ###### Parameters

    - `capStyle`: the capStyle to set. This will be one of `#CAP_BUTT`, `#CAP_ROUND`, and `#CAP_SQUARE`.

    ###### See also

    - #CAP_BUTT

    - #CAP_SQUARE

    - #CAP_ROUND

  - ### getLineWidth

    public float getLineWidth()

    Returns the line width of the stroke.

    ###### Returns

    the lineWidth

  - ### setLineWidth

    public void setLineWidth(float lineWidth)

    Sets the line width of the stroke.

    ###### Parameters

    - `lineWidth`: the lineWidth to set

  - ### getMiterLimit

    public float getMiterLimit()

    Gets the miter limit of the stroke. The Miter limit controls the point at which a Miter join automatically is converted to a Bevel join. If the distance from the inner intersection point to the tip of the triangle measured in stroke widths is more than the Miter limit, the join will be drawn in the Bevel style.

    ###### Returns

    the miterLimit

  - ### setMiterLimit

    public void setMiterLimit(float miterLimit)

    Sets the miter limit of the stroke. The Miter limit controls the point at which a Miter join automatically is converted to a Bevel join. If the distance from the inner intersection point to the tip of the triangle measured in stroke widths is more than the Miter limit, the join will be drawn in the Bevel style.

    ###### Parameters

    - `miterLimit`: the miterLimit to set

  - ### equals

    public boolean equals(java.lang.Object obj)
    Overrides:
      `equals` in class `java.lang.Object`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `java.lang.Object`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `java.lang.Object`