86 bool operator== (
const Path&)
const noexcept;
87 bool operator!= (
const Path&)
const noexcept;
183 Point<
float>& pointOnPath,
240 void lineTo (
float endX,
float endY);
277 Point<
float> endPoint);
288 void cubicTo (
float controlPoint1X,
289 float controlPoint1Y,
290 float controlPoint2X,
291 float controlPoint2Y,
305 Point<
float> controlPoint2,
306 Point<
float> endPoint);
323 template <typename ValueType>
326 addRectangle (
static_cast<float> (rectangle.getX()),
static_cast<float> (rectangle.getY()),
327 static_cast<float> (rectangle.getWidth()),
static_cast<float> (rectangle.getHeight()));
334 void addRoundedRectangle (
float x,
float y,
float width,
float height,
341 void addRoundedRectangle (
float x,
float y,
float width,
float height,
349 void addRoundedRectangle (
float x,
float y,
float width,
float height,
350 float cornerSizeX,
float cornerSizeY,
351 bool curveTopLeft,
bool curveTopRight,
352 bool curveBottomLeft,
bool curveBottomRight);
358 template <
typename ValueType>
362 static_cast<float> (rectangle.
getWidth()),
static_cast<float> (rectangle.
getHeight()),
363 cornerSizeX, cornerSizeY);
370 template <
typename ValueType>
384 void addTriangle (
float x1,
float y1,
408 void addQuadrilateral (
float x1,
float y1,
417 void addEllipse (
float x,
float y,
float width,
float height);
449 bool startAsNewSubPath =
false);
473 void addCentredArc (
float centreX,
float centreY,
474 float radiusX,
float radiusY,
475 float rotationOfEllipse,
478 bool startAsNewSubPath =
false);
502 void addPieSegment (
float x,
float y,
506 float innerCircleProportionalSize);
529 float innerCircleProportionalSize);
538 void addLineSegment (
Line<float> line,
float lineThickness);
546 float arrowheadWidth,
547 float arrowheadLength);
555 float startAngle = 0.0f);
564 float startAngle = 0.0f);
579 const float cornerSize,
580 const float arrowBaseWidth);
589 void addPath (
const Path& pathToAppend);
599 void addPath (
const Path& pathToAppend,
607 void swapWithPath (
Path&)
noexcept;
619 void preallocateSpace (
int numExtraCoordsToMakeSpaceFor);
643 void scaleToFit (
float x,
float y,
float width,
float height,
644 bool preserveProportions)
noexcept;
664 bool preserveProportions,
682 bool preserveProportions,
690 Path createPathWithRoundedCorners (
float cornerRadius)
const;
708 void setUsingNonZeroWinding (
bool isNonZeroWinding)
noexcept;
738 bool next()
noexcept;
813 void reset()
noexcept;
814 void reset (
float,
float)
noexcept;
815 void extend (
float,
float)
noexcept;
817 template <
typename... Coords>
818 void extend (
float x,
float y, Coords... coords)
noexcept
#define noexcept
Definition DistrhoDefines.h:72
#define final
Definition DistrhoDefines.h:74
Definition juce_Array.h:56
Definition juce_Justification.h:41
@ centred
Definition juce_Justification.h:138
Definition juce_Line.h:47
Definition juce_OutputStream.h:38
Definition juce_Path.h:725
const Path & path
Definition juce_Path.h:756
Iterator(const Path &path) noexcept
Definition juce_Path.cpp:1481
const float * index
Definition juce_Path.h:757
float y1
Definition juce_Path.h:752
float x1
Definition juce_Path.h:752
float y3
Definition juce_Path.h:752
float x2
Definition juce_Path.h:752
PathElementType elementType
Definition juce_Path.h:750
bool next() noexcept
Definition juce_Path.cpp:1490
float x3
Definition juce_Path.h:752
float y2
Definition juce_Path.h:752
PathElementType
Definition juce_Path.h:742
@ quadraticTo
Definition juce_Path.h:745
@ closePath
Definition juce_Path.h:747
@ lineTo
Definition juce_Path.h:744
@ cubicTo
Definition juce_Path.h:746
@ startNewSubPath
Definition juce_Path.h:743
Definition juce_Path.h:65
float getNearestPoint(Point< float > targetPoint, Point< float > &pointOnPath, const AffineTransform &transform=AffineTransform(), float tolerance=defaultToleranceForMeasurement) const
Definition juce_Path.cpp:1047
float getLength(const AffineTransform &transform=AffineTransform(), float tolerance=defaultToleranceForMeasurement) const
Definition juce_Path.cpp:1016
static const float defaultToleranceForMeasurement
Definition juce_Path.h:90
static const float cubicMarker
Definition juce_Path.h:833
bool contains(float x, float y, float tolerance=defaultToleranceForTesting) const
Definition juce_Path.cpp:937
void loadPathFromData(const void *data, size_t numberOfBytes)
Definition juce_Path.cpp:1293
void addRoundedRectangle(float x, float y, float width, float height, float cornerSize)
Definition juce_Path.cpp:412
void startNewSubPath(float startX, float startY)
Definition juce_Path.cpp:216
static const float closeSubPathMarker
Definition juce_Path.h:834
Point< float > getCurrentPosition() const
Definition juce_Path.cpp:298
friend class EdgeTable
Definition juce_Path.h:805
Path()
Definition juce_Path.cpp:106
void quadraticTo(float controlPointX, float controlPointY, float endPointX, float endPointY)
Definition juce_Path.cpp:249
friend class PathFlatteningIterator
Definition juce_Path.h:803
static const float quadMarker
Definition juce_Path.h:832
void cubicTo(float controlPoint1X, float controlPoint1Y, float controlPoint2X, float controlPoint2Y, float endPointX, float endPointY)
Definition juce_Path.cpp:268
void addRoundedRectangle(Rectangle< ValueType > rectangle, float cornerSize)
Definition juce_Path.h:371
void addRoundedRectangle(Rectangle< ValueType > rectangle, float cornerSizeX, float cornerSizeY)
Definition juce_Path.h:359
PathBounds bounds
Definition juce_Path.h:827
bool isUsingNonZeroWinding() const
Definition juce_Path.h:716
Rectangle< float > getBoundsTransformed(const AffineTransform &transform) const noexcept
Definition juce_Path.cpp:205
bool intersectsLine(Line< float > line, float tolerance=defaultToleranceForTesting) const
Definition juce_Path.cpp:973
void addRectangle(float x, float y, float width, float height)
Definition juce_Path.cpp:323
void clear() noexcept
Definition juce_Path.cpp:151
static const float lineMarker
Definition juce_Path.h:830
void restoreFromString(StringRef stringVersion)
Definition juce_Path.cpp:1415
bool useNonZeroWinding
Definition juce_Path.h:828
void closeSubPath()
Definition juce_Path.cpp:292
void writePathToStream(OutputStream &destination) const
Definition juce_Path.cpp:1299
Line< float > getClippedLine(Line< float > line, bool keepSectionOutsidePath) const
Definition juce_Path.cpp:985
Rectangle< float > getBounds() const noexcept
Definition juce_Path.cpp:200
String toString() const
Definition juce_Path.cpp:1346
Point< float > getPointAlongPath(float distanceFromStart, const AffineTransform &transform=AffineTransform(), float tolerance=defaultToleranceForMeasurement) const
Definition juce_Path.cpp:1027
void lineTo(float endX, float endY)
Definition juce_Path.cpp:233
static const float moveMarker
Definition juce_Path.h:831
void loadPathFromStream(InputStream &source)
Definition juce_Path.cpp:1227
static const float defaultToleranceForTesting
Definition juce_Path.h:89
Array< float > data
Definition juce_Path.h:807
bool isEmpty() const noexcept
Definition juce_Path.cpp:179
Definition juce_Point.h:42
Definition juce_Rectangle.h:67
ValueType getHeight() const noexcept
Definition juce_Rectangle.h:136
ValueType getX() const noexcept
Definition juce_Rectangle.h:127
ValueType getWidth() const noexcept
Definition juce_Rectangle.h:133
ValueType getY() const noexcept
Definition juce_Rectangle.h:130
Definition juce_String.h:53
Definition juce_StringRef.h:62
int y
Definition inflate.c:1588
unsigned x[BMAX+1]
Definition inflate.c:1586
static int int height
Definition pugl.h:1594
static int width
Definition pugl.h:1593
virtual ASIOError start()=0
#define JUCE_LEAK_DETECTOR(OwnerClass)
Definition juce_LeakedObjectDetector.h:138
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
RangedDirectoryIterator end(const RangedDirectoryIterator &)
Definition juce_RangedDirectoryIterator.h:184
Definition juce_Path.h:810
void reset() noexcept
Definition juce_Path.cpp:85
PathBounds() noexcept
Definition juce_Path.cpp:76
float pathYMin
Definition juce_Path.h:824
Rectangle< float > getRectangle() const noexcept
Definition juce_Path.cpp:80
void extend(float, float) noexcept
Definition juce_Path.cpp:96
float pathXMin
Definition juce_Path.h:824
void extend(float x, float y, Coords... coords) noexcept
Definition juce_Path.h:818
float pathYMax
Definition juce_Path.h:824
float pathXMax
Definition juce_Path.h:824
#define const
Definition zconf.h:137