JUCE  v5.4.1-191-g0ab5e696f
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::RelativePointPath Class Reference

A path object that consists of RelativePoint coordinates rather than the normal fixed ones. More...

#include <juce_RelativePointPath.h>

Collaboration diagram for juce::RelativePointPath:

Classes

class  CloseSubPath
 Class for the close sub path element. More...
 
class  CubicTo
 Class for the cubic to element. More...
 
class  ElementBase
 Base class for the elements that make up a RelativePointPath. More...
 
class  LineTo
 Class for the line to element. More...
 
class  QuadraticTo
 Class for the quadratic to element. More...
 
class  StartSubPath
 Class for the start sub path element. More...
 

Public Types

enum  ElementType {
  nullElement,
  startSubPathElement,
  closeSubPathElement,
  lineToElement,
  quadraticToElement,
  cubicToElement
}
 The types of element that may be contained in this path. More...
 

Public Member Functions

 RelativePointPath ()
 
 RelativePointPath (const RelativePointPath &)
 
 RelativePointPath (const Path &path)
 
 ~RelativePointPath ()
 
void addElement (ElementBase *newElement)
 
bool containsAnyDynamicPoints () const
 Returns true if the path contains any non-fixed points. More...
 
void createPath (Path &path, Expression::Scope *scope) const
 Resolves this points in this path and adds them to a normal Path object. More...
 
bool operator!= (const RelativePointPath &) const noexcept
 
bool operator== (const RelativePointPath &) const noexcept
 
void swapWith (RelativePointPath &) noexcept
 Quickly swaps the contents of this path with another. More...
 

Public Attributes

OwnedArray< ElementBaseelements
 
bool usesNonZeroWinding
 

Private Member Functions

void applyTo (DrawablePath &path) const
 
RelativePointPathoperator= (const RelativePointPath &)
 

Private Attributes

bool containsDynamicPoints
 

Friends

class Positioner
 

Detailed Description

A path object that consists of RelativePoint coordinates rather than the normal fixed ones.

One of these paths can be converted into a Path object for drawing and manipulation, but unlike a Path, its points can be dynamic instead of just fixed.

See also
RelativePoint, RelativeCoordinate

{GUI}

Member Enumeration Documentation

◆ ElementType

The types of element that may be contained in this path.

See also
RelativePointPath::ElementBase
Enumerator
nullElement 
startSubPathElement 
closeSubPathElement 
lineToElement 
quadraticToElement 
cubicToElement 

Constructor & Destructor Documentation

◆ RelativePointPath() [1/3]

juce::RelativePointPath::RelativePointPath ( )

◆ RelativePointPath() [2/3]

juce::RelativePointPath::RelativePointPath ( const RelativePointPath )

◆ RelativePointPath() [3/3]

juce::RelativePointPath::RelativePointPath ( const Path path)
explicit

◆ ~RelativePointPath()

juce::RelativePointPath::~RelativePointPath ( )

Member Function Documentation

◆ addElement()

void juce::RelativePointPath::addElement ( ElementBase newElement)

◆ applyTo()

void juce::RelativePointPath::applyTo ( DrawablePath path) const
private

◆ containsAnyDynamicPoints()

bool juce::RelativePointPath::containsAnyDynamicPoints ( ) const

Returns true if the path contains any non-fixed points.

◆ createPath()

void juce::RelativePointPath::createPath ( Path path,
Expression::Scope scope 
) const

Resolves this points in this path and adds them to a normal Path object.

◆ operator!=()

bool juce::RelativePointPath::operator!= ( const RelativePointPath ) const
noexcept

◆ operator=()

RelativePointPath& juce::RelativePointPath::operator= ( const RelativePointPath )
private

◆ operator==()

bool juce::RelativePointPath::operator== ( const RelativePointPath ) const
noexcept

◆ swapWith()

void juce::RelativePointPath::swapWith ( RelativePointPath )
noexcept

Quickly swaps the contents of this path with another.

Friends And Related Function Documentation

◆ Positioner

friend class Positioner
friend

Member Data Documentation

◆ containsDynamicPoints

bool juce::RelativePointPath::containsDynamicPoints
private

◆ elements

OwnedArray<ElementBase> juce::RelativePointPath::elements

◆ usesNonZeroWinding

bool juce::RelativePointPath::usesNonZeroWinding

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