# Class `juce.Path`

Path.

Is a pointer to a JUCE Path.

## Constructors

juce.Path () | Constuctor

## Methods

juce.Path:getBounds () | Get bounds.
juce.Path:getBoundsTransformed (transform) | Get bounds transformed.
juce.Path:contains (pointX, pointY[, tolerance=1]) | Contains.
juce.Path:contains (point[, tolerance=1]) | Contains.
juce.Path:intersectsLine (line[, tolerance=1]) | Intersects line.
juce.Path:getClippedLine (line, keepSectionOutsidePath) | Get clipped line.
juce.Path:getLength ([transform=juce.AffineTransform.identity]) | Get length.
juce.Path:getPointAlongPath (distanceFromStart[, transform=juce.AffineTransform.identity]) | Get point along path.
juce.Path:getNearestPoint (targetPoint[, transform=juce.AffineTransform.identity]) | Get nearest point.
juce.Path:clear () | Clear.
juce.Path:startNewSubPath (startX, startY) | Start new sub path.
juce.Path:startNewSubPath (start) | Start new sub path.
juce.Path:closeSubPath () | Close sub path.
juce.Path:lineTo (endX, endY) | Line to.
juce.Path:lineTo (endpoint) | Line to.
juce.Path:quadraticTo (controlPointX, controlPointY, endPointX, endPointY) | Quadratic to.
juce.Path:quadraticTo2 (controlPoint, endPoint) | Quadratic to2.
juce.Path:cubicTo (controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, endPointX, endPointY) | Cubic to.
juce.Path:cubicTo (controlPoint1, controlPoint2, endPoint) | Cubic to.
juce.Path:getCurrentPosition () | Get current position.
juce.Path:addRectangle (x, y, width, height) | Add rectangle.
juce.Path:addRectangle (rectangle) | Add rectangle.
juce.Path:addRoundedRectangle (x, y, width, height, cornerSize) | Add rounded rectangle.
juce.Path:addRoundedRectangle (x, y, width, height, cornerSizeX, cornerSizeY) | Add rounded rectangle.
juce.Path:addRoundedRectangle (x, y, width, height, cornerSizeX, cornerSizeY, curveTopLeft, curveTopRight, curveBottomLeft, curveBottomRight) | Add rounded rectangle.
juce.Path:addRoundedRectangle (rectangle, cornerSizeX, cornerSizeY) | Add rounded rectangle.
juce.Path:addRoundedRectangle (rectangle, cornerSize) | Add rounded rectangle.
juce.Path:addTriangle (x1, y1, x2, y2, x3, y3) | Add triangle.
juce.Path:addQuadrilateral (x1, y1, x2, y2, x3, y3, x4, y4) | Add quadrilateral.
juce.Path:addEllipse (x, y, width, height) | Add ellipse.
juce.Path:addArc (x, y, width, height, fromRadians, toRadians[, startAsNewSubPath=false]) | Add arc.
juce.Path:addCentredArc (centreX, centreY, radiusX, radiusY, rotationOfEllipse, fromRadians, toRadians[, startAsNewSubPath=false]) | Add centred arc.
juce.Path:addPieSegment (x, y, width, height, fromRadians, toRadians[, innerCircleProportionalSize=0]) | Add pie segment.
juce.Path:addLineSegment (line, lineThickness) | Add line segment.
juce.Path:addArrow (line, lineThickness, arrowheadWidth, arrowheadLength) | Add arrow.
juce.Path:addPolygon (centre, numberOfSides, radius[, startAngle=0]) | Add polygon.
juce.Path:addStar (centre, numberOfPoints, innerRadius, outerRadius[, startAngle=0]) | Add star.
juce.Path:addBubble (bodyArea, maximumArea, arrowTipPosition, cornerSize, arrowBaseWidth) | Add bubble.
juce.Path:addPath (pathToAppend[, transform=juce.AffineTransform.identity]) | Add path.
juce.Path:applyTransform (transform) | Apply transform.
juce.Path:scaleToFit (x, y, width, height, preserveProportions) | Scale to fit.
juce.Path:getTransformToScaleToFit (x, y, width, height, preserveProportions[, justification=Justification.centred]) | Get transform to scale to fit.
juce.Path:getTransformToScaleToFit (area, preserveProportions[, justification=Justification.centred]) | Get transform to scale to fit.
juce.Path:createPathWithRoundedCorners (cornerRadius) | Create path with rounded corners.
juce.Path:setUsingNonZeroWinding (isNonZeroWinding) | Set using non zero winding.
juce.Path:isUsingNonZeroWinding () | Is using non zero winding.

## Tables

juce.Path.JointStyle | Joint styles.
juce.Path.EndCapStyle | End cap styles.

## Constructors

juce.Path ()
  Constuctor

## Methods

juce.Path:getBounds ()
  Get bounds.

  ### Returns:

  Rectangle_float rectangle containing the path
juce.Path:getBoundsTransformed (transform)
  Get bounds transformed.

  ### Parameters:

  - transform juce.AffineTransform

  ### Returns:

  Rectangle_float rectangle containing the transformed path
juce.Path:contains (pointX, pointY[, tolerance=1])
  Contains.

  ### Parameters:

  - pointX
  - pointY
  - tolerance (default 1)

  ### Returns:

  boolean whether the path contains the point

  ### See also:

  closeSubPath
juce.Path:contains (point[, tolerance=1])
  Contains.

  ### Parameters:

  - point juce.Point
  - tolerance (default 1)

  ### Returns:

  boolean whether the path contains the point

  ### See also:

  closeSubPath
juce.Path:intersectsLine (line[, tolerance=1])
  Intersects line.

  ### Parameters:

  - line juce.Line
  - tolerance (default 1)

  ### Returns:

  boolean whether the path intersects the line
juce.Path:getClippedLine (line, keepSectionOutsidePath)
  Get clipped line.

  ### Parameters:

  - line juce.Line
  - keepSectionOutsidePath boolean

  ### Returns:

  juce.Line_float the line clipped by the path
juce.Path:getLength
([transform=juce.AffineTransform.identity])
  Get length.

  ### Parameters:

  - transform juce.AffineTransform (default juce.AffineTransform.identity)

  ### Returns:

  length of the path
juce.Path:getPointAlongPath
(distanceFromStart[, transform=juce.AffineTransform.identity])
  Get point along path.

  ### Parameters:

  - distanceFromStart
  - transform juce.AffineTransform (default juce.AffineTransform.identity)

  ### Returns:

  Point_float the point on the path
juce.Path:getNearestPoint
(targetPoint[, transform=juce.AffineTransform.identity])
  Get nearest point. Get the nearest on-path point to an arbitrary point, and the distance between the points

  ### Parameters:

  - targetPoint juce.Point
  - transform juce.AffineTransform (default juce.AffineTransform.identity)

  ### Returns:

  1. distance
  2. juce.Point pointOnPath
juce.Path:clear ()
  Clear.
juce.Path:startNewSubPath (startX, startY)
  Start new sub path.

  ### Parameters:

  - startX
  - startY
juce.Path:startNewSubPath (start)
  Start new sub path.

  ### Parameters:

  - start juce.Point
juce.Path:closeSubPath ()
  Close sub path.
juce.Path:lineTo (endX, endY)
  Line to.

  ### Parameters:

  - endX
  - endY
juce.Path:lineTo (endpoint)
  Line to.

  ### Parameters:

  - endpoint juce.Point
juce.Path:quadraticTo
(controlPointX, controlPointY, endPointX, endPointY)
  Quadratic to.

  ### Parameters:

  - controlPointX
  - controlPointY
  - endPointX
  - endPointY
juce.Path:quadraticTo2 (controlPoint, endPoint)
  Quadratic to2.

  ### Parameters:

  - controlPoint juce.Point
  - endPoint juce.Point
juce.Path:cubicTo
(controlPoint1X, controlPoint1Y, controlPoint2X, controlPoint2Y, endPointX, endPointY)
  Cubic to.

  ### Parameters:

  - controlPoint1X
  - controlPoint1Y
  - controlPoint2X
  - controlPoint2Y
  - endPointX
  - endPointY
juce.Path:cubicTo (controlPoint1, controlPoint2, endPoint)
  Cubic to.

  ### Parameters:

  - controlPoint1 juce.Point
  - controlPoint2 juce.Point
  - endPoint juce.Point
juce.Path:getCurrentPosition ()
  Get current position.

  ### Returns:

  juce.Point the current path construction position
juce.Path:addRectangle (x, y, width, height)
  Add rectangle.

  ### Parameters:

  - x
  - y
  - width
  - height
juce.Path:addRectangle (rectangle)
  Add rectangle.

  ### Parameters:

  - rectangle juce.Rectangle_float
juce.Path:addRoundedRectangle
(x, y, width, height, cornerSize)
  Add rounded rectangle.

  ### Parameters:

  - x
  - y
  - width
  - height
  - cornerSize
juce.Path:addRoundedRectangle
(x, y, width, height, cornerSizeX, cornerSizeY)
  Add rounded rectangle.

  ### Parameters:

  - x
  - y
  - width
  - height
  - cornerSizeX
  - cornerSizeY
juce.Path:addRoundedRectangle
(x, y, width, height, cornerSizeX, cornerSizeY, curveTopLeft, curveTopRight, curveBottomLeft, curveBottomRight)
  Add rounded rectangle.

  ### Parameters:

  - x
  - y
  - width
  - height
  - cornerSizeX
  - cornerSizeY
  - curveTopLeft boolean
  - curveTopRight boolean
  - curveBottomLeft boolean
  - curveBottomRight boolean
juce.Path:addRoundedRectangle
(rectangle, cornerSizeX, cornerSizeY)
  Add rounded rectangle.

  ### Parameters:

  - rectangle juce.Rectangle_float
  - cornerSizeX
  - cornerSizeY
juce.Path:addRoundedRectangle (rectangle, cornerSize)
  Add rounded rectangle.

  ### Parameters:

  - rectangle juce.Rectangle_float
  - cornerSize
juce.Path:addTriangle (x1, y1, x2, y2, x3, y3)
  Add triangle.

  ### Parameters:

  - x1
  - y1
  - x2
  - y2
  - x3
  - y3
juce.Path:addQuadrilateral (x1, y1, x2, y2, x3, y3, x4, y4)
  Add quadrilateral.

  ### Parameters:

  - x1
  - y1
  - x2
  - y2
  - x3
  - y3
  - x4
  - y4
juce.Path:addEllipse (x, y, width, height)
  Add ellipse.

  ### Parameters:

  - x
  - y
  - width
  - height
juce.Path:addArc
(x, y, width, height, fromRadians, toRadians[, startAsNewSubPath=false])
  Add arc.

  ### Parameters:

  - x
  - y
  - width
  - height
  - fromRadians the start angle, clockwise from the top
  - toRadians the end angle
  - startAsNewSubPath (default false)
juce.Path:addCentredArc
(centreX, centreY, radiusX, radiusY, rotationOfEllipse, fromRadians, toRadians[, startAsNewSubPath=false])
  Add centred arc.

  ### Parameters:

  - centreX
  - centreY
  - radiusX
  - radiusY
  - rotationOfEllipse the ellipse inclination
  - fromRadians the start angle, clockwise from the top
  - toRadians the end angle
  - startAsNewSubPath (default false)
juce.Path:addPieSegment
(x, y, width, height, fromRadians, toRadians[, innerCircleProportionalSize=0])
  Add pie segment.

  ### Parameters:

  - x
  - y
  - width
  - height
  - fromRadians the start angle, clockwise from the top
  - toRadians the end angle
  - innerCircleProportionalSize band proportion size, if specified (default 0)
juce.Path:addLineSegment (line, lineThickness)
  Add line segment.

  ### Parameters:

  - line juce.Line
  - lineThickness
juce.Path:addArrow
(line, lineThickness, arrowheadWidth, arrowheadLength)
  Add arrow.

  ### Parameters:

  - line juce.Line
  - lineThickness
  - arrowheadWidth
  - arrowheadLength
juce.Path:addPolygon
(centre, numberOfSides, radius[, startAngle=0])
  Add polygon.

  ### Parameters:

  - centre juce.Point
  - numberOfSides
  - radius
  - startAngle (default 0)
juce.Path:addStar
(centre, numberOfPoints, innerRadius, outerRadius[, startAngle=0])
  Add star.

  ### Parameters:

  - centre juce.Point
  - numberOfPoints
  - innerRadius
  - outerRadius
  - startAngle (default 0)
juce.Path:addBubble
(bodyArea, maximumArea, arrowTipPosition, cornerSize, arrowBaseWidth)
  Add bubble.

  ### Parameters:

  - bodyArea
  - maximumArea
  - arrowTipPosition
  - cornerSize
  - arrowBaseWidth
juce.Path:addPath
(pathToAppend[, transform=juce.AffineTransform.identity])
  Add path.

  ### Parameters:

  - pathToAppend
  - transform juce.AffineTransform (default juce.AffineTransform.identity)
juce.Path:applyTransform (transform)
  Apply transform.

  ### Parameters:

  - transform juce.AffineTransform
juce.Path:scaleToFit
(x, y, width, height, preserveProportions)
  Scale to fit.

  ### Parameters:

  - x
  - y
  - width
  - height
  - preserveProportions
juce.Path:getTransformToScaleToFit
(x, y, width, height, preserveProportions[, justification=Justification.centred])
  Get transform to scale to fit.

  ### Parameters:

  - x
  - y
  - width
  - height
  - preserveProportions boolean
  - justification juce.Justification (default Justification.centred)

  ### Returns:

  juce.AffineTransform the required transform
juce.Path:getTransformToScaleToFit
(area, preserveProportions[, justification=Justification.centred])
  Get transform to scale to fit.

  ### Parameters:

  - area juce.Rectangle_float
  - preserveProportions boolean
  - justification juce.Justification (default Justification.centred)

  ### Returns:

  juce.AffineTransform the required transform
juce.Path:createPathWithRoundedCorners (cornerRadius)
  Create path with rounded corners.

  ### Parameters:

  - cornerRadius

  ### Returns:

  juce.Path the rounded path
juce.Path:setUsingNonZeroWinding (isNonZeroWinding)
  Set using non zero winding.

  ### Parameters:

  - isNonZeroWinding boolean
juce.Path:isUsingNonZeroWinding ()
  Is using non zero winding.

  ### Returns:

  boolean whether the path is using non-zero winding

## Tables

juce.Path.JointStyle
  Joint styles. for use with juce.Graphics.strokePath

  ### Fields:

  - mitered
  - curved
  - beveled
juce.Path.EndCapStyle
  End cap styles. for use with juce.Graphics.strokePath

  ### Fields:

  - butt
  - square
  - rounded

generated by LDoc 1.4.2