JUCE
Public Types | Public Member Functions | Public Attributes | List of all members
Path::Iterator Class Reference

Iterates the lines and curves that a path contains. More...

Public Types

enum  PathElementType {
  startNewSubPath, lineTo, quadraticTo, cubicTo,
  closePath
}
 

Public Member Functions

 Iterator (const Path &path) noexcept
 
 ~Iterator () noexcept
 
bool next () noexcept
 Moves onto the next element in the path. More...
 

Public Attributes

PathElementType elementType
 
float x1 = 0
 
float y1 = 0
 
float x2 = 0
 
float y2 = 0
 
float x3 = 0
 
float y3 = 0
 

Detailed Description

Iterates the lines and curves that a path contains.

See also
Path, PathFlatteningIterator

Member Enumeration Documentation

◆ PathElementType

Enumerator
startNewSubPath 

For this type, x1 and y1 will be set to indicate the first point in the subpath.

lineTo 

For this type, x1 and y1 indicate the end point of the line.

quadraticTo 

For this type, x1, y1, x2, y2 indicate the control point and endpoint of a quadratic curve.

cubicTo 

For this type, x1, y1, x2, y2, x3, y3 indicate the two control points and the endpoint of a cubic curve.

closePath 

Indicates that the sub-path is being closed.

None of the x or y values are valid in this case.

Constructor & Destructor Documentation

◆ Iterator()

Path::Iterator::Iterator ( const Path path)
noexcept

◆ ~Iterator()

Path::Iterator::~Iterator ( )
noexcept

Member Function Documentation

◆ next()

bool Path::Iterator::next ( )
noexcept

Moves onto the next element in the path.

If this returns false, there are no more elements. If it returns true, the elementType variable will be set to the type of the current element, and some of the x and y variables will be filled in with values.

Member Data Documentation

◆ elementType

PathElementType Path::Iterator::elementType

◆ x1

float Path::Iterator::x1 = 0

◆ y1

float Path::Iterator::y1 = 0

◆ x2

float Path::Iterator::x2 = 0

◆ y2

float Path::Iterator::y2 = 0

◆ x3

float Path::Iterator::x3 = 0

◆ y3

float Path::Iterator::y3 = 0

The documentation for this class was generated from the following file: