VSTGUI  4.10
Graphical User Interface Framework not only for VST plugins
CGraphicsPath Class Referenceabstract

Graphics Path Object. More...

+ Inheritance diagram for CGraphicsPath:

Public Member Functions

Creating gradients
virtual CGradientcreateGradient (double color1Start, double color2Start, const CColor &color1, const CColor &color2)=0
 creates a new gradient object, you must release it with forget() when you're done with it More...
 
Adding Elements
virtual void addArc (const CRect &rect, double startAngle, double endAngle, bool clockwise)
 add an arc to the path. More...
 
virtual void addEllipse (const CRect &rect)
 add an ellipse to the path. More...
 
virtual void addRect (const CRect &rect)
 add a rectangle to the path. More...
 
virtual void addPath (const CGraphicsPath &path, CGraphicsTransform *transformation=nullptr)
 add another path to the path. More...
 
virtual void addLine (const CPoint &to)
 add a line to the path. More...
 
virtual void addBezierCurve (const CPoint &control1, const CPoint &control2, const CPoint &end)
 add a bezier curve to the path. More...
 
virtual void beginSubpath (const CPoint &start)
 begin a new subpath. More...
 
virtual void closeSubpath ()
 close a subpath. More...
 
void beginSubpath (CCoord x, CCoord y)
 
void addLine (CCoord x, CCoord y)
 
void addBezierCurve (CCoord cp1x, CCoord cp1y, CCoord cp2x, CCoord cp2y, CCoord x, CCoord y)
 
Helpers
void addRoundRect (const CRect &size, CCoord radius)
 
Hit Testing
virtual bool hitTest (const CPoint &p, bool evenOddFilled=false, CGraphicsTransform *transform=nullptr)=0
 
States
virtual CPoint getCurrentPosition ()=0
 
virtual CRect getBoundingBox ()=0
 
- Public Member Functions inherited from ReferenceCounted< T >
 ReferenceCounted ()=default
 
virtual ~ReferenceCounted () noexcept=default
 
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
void forget () override
 decrease refcount and delete object if refcount == 0 More...
 
void remember () override
 increase refcount More...
 
virtual int32_t getNbReference () const
 get refcount More...
 
virtual void beforeDelete ()
 

Protected Types

using ElementList = std::vector< Element >
 

Protected Member Functions

 CGraphicsPath ()
 
virtual void dirty ()=0
 

Protected Attributes

ElementList elements
 

Detailed Description

Graphics Path Object.

Member Typedef Documentation

◆ ElementList

using ElementList = std::vector<Element>
protected

Constructor & Destructor Documentation

◆ CGraphicsPath()

CGraphicsPath ( )
inlineprotected

Member Function Documentation

◆ addArc()

void addArc ( const CRect rect,
double  startAngle,
double  endAngle,
bool  clockwise 
)
virtual

add an arc to the path.

Begins a new subpath if no elements were added before.

◆ addBezierCurve() [1/2]

void addBezierCurve ( const CPoint control1,
const CPoint control2,
const CPoint end 
)
virtual

add a bezier curve to the path.

A subpath must begin before

◆ addBezierCurve() [2/2]

void addBezierCurve ( CCoord  cp1x,
CCoord  cp1y,
CCoord  cp2x,
CCoord  cp2y,
CCoord  x,
CCoord  y 
)
inline

◆ addEllipse()

void addEllipse ( const CRect rect)
virtual

add an ellipse to the path.

Begins a new subpath if no elements were added before.

◆ addLine() [1/2]

void addLine ( const CPoint to)
virtual

add a line to the path.

A subpath must begin before

◆ addLine() [2/2]

void addLine ( CCoord  x,
CCoord  y 
)
inline

◆ addPath()

void addPath ( const CGraphicsPath path,
CGraphicsTransform transformation = nullptr 
)
virtual

add another path to the path.

Begins a new subpath if no elements were added before.

◆ addRect()

void addRect ( const CRect rect)
virtual

add a rectangle to the path.

Begins a new subpath if no elements were added before.

◆ addRoundRect()

void addRoundRect ( const CRect size,
CCoord  radius 
)

◆ beginSubpath() [1/2]

void beginSubpath ( const CPoint start)
virtual

begin a new subpath.

◆ beginSubpath() [2/2]

void beginSubpath ( CCoord  x,
CCoord  y 
)
inline

◆ closeSubpath()

void closeSubpath ( )
virtual

close a subpath.

A straight line will be added from the current point to the start point.

◆ createGradient()

virtual CGradient* createGradient ( double  color1Start,
double  color2Start,
const CColor color1,
const CColor color2 
)
pure virtual

creates a new gradient object, you must release it with forget() when you're done with it

Parameters
color1Startvalue between zero and one which defines the normalized start offset for color1
color2Startvalue between zero and one which defines the normalized start offset for color2
color1the first color of the gradient
color2the second color of the gradient
Returns
a new gradient object

◆ dirty()

virtual void dirty ( )
protectedpure virtual

◆ getBoundingBox()

virtual CRect getBoundingBox ( )
pure virtual

◆ getCurrentPosition()

virtual CPoint getCurrentPosition ( )
pure virtual

◆ hitTest()

virtual bool hitTest ( const CPoint p,
bool  evenOddFilled = false,
CGraphicsTransform transform = nullptr 
)
pure virtual

Member Data Documentation

◆ elements

ElementList elements
protected

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