VSTGUI: CGraphicsPath Class Reference

VSTGUI 4.10 Graphical User Interface Framework not only for VST plugins

List of all members
CGraphicsPath Class Reference
New classes » Version 4.0

Graphics Path Object. More...

`#include <cgraphicspath.h>`

Inheritance diagram for CGraphicsPath:

## Public Member Functions
Creating gradients
CGradient * | createGradient (double color1Start, double color2Start, const CColor &color1, const CColor &color2)
| creates a new gradient object, you must release it with forget() when you're done with it More...
Adding Elements
void | addArc (const CRect &rect, double startAngle, double endAngle, bool clockwise)
| add an arc to the path. More...
void | addEllipse (const CRect &rect)
| add an ellipse to the path. More...
void | addRect (const CRect &rect)
| add a rectangle to the path. More...
void | addPath (const CGraphicsPath &path, CGraphicsTransform *transformation=nullptr)
| add another path to the path. More...
void | addLine (const CPoint &to)
| add a line to the path. More...
void | addBezierCurve (const CPoint &control1, const CPoint &control2, const CPoint &end)
| add a bezier curve to the path. More...
void | beginSubpath (const CPoint &start)
| begin a new subpath. More...
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
bool | hitTest (const CPoint &p, bool evenOddFilled=false, CGraphicsTransform *transform=nullptr)
Public Member Functions inherited from ReferenceCounted< T >
| ReferenceCounted ()=default
virtual | ~ReferenceCounted () noexcept=default
| ReferenceCounted (const ReferenceCounted &)
ReferenceCounted & | operator= (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 | forget ()=0
| decrease refcount and delete object if refcount == 0 More...
virtual void | remember ()=0
| increase refcount More...

## States
using | ElementList = std::vector< Element >
ElementList | elements
PlatformGraphicsPathFactoryPtr | factory
PlatformGraphicsPathPtr | path
CPoint | getCurrentPosition ()
CRect | getBoundingBox ()
| CGraphicsPath (const PlatformGraphicsPathFactoryPtr &factory, PlatformGraphicsPathPtr &&path)
| ~CGraphicsPath () noexcept override
const PlatformGraphicsPathPtr & | getPlatformPath (PlatformGraphicsPathFillMode fillMode)
void | makePlatformGraphicsPath (PlatformGraphicsPathFillMode fillMode)
bool | ensurePlatformGraphicsPathValid (PlatformGraphicsPathFillMode fillMode)
void | dirty ()

## Detailed Description

Graphics Path Object.

## Member Typedef Documentation

## ◆ ElementList

using ElementList = std::vector<Element>
| protected

## Constructor & Destructor Documentation

## ◆ CGraphicsPath()

CGraphicsPath | ( | const PlatformGraphicsPathFactoryPtr & | factory,
|  | PlatformGraphicsPathPtr && | path
| ) |  |

## ◆ ~CGraphicsPath()

~CGraphicsPath | ( |  | ) |
| overridenoexcept

## Member Function Documentation

## ◆ addArc()

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

add an arc to the path.

Begins a new subpath if no elements were added before.

## ◆ addBezierCurve() [1/2]

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

## ◆ addBezierCurve() [2/2]

void addBezierCurve | ( | const CPoint & | control1,
|  | const CPoint & | control2,
|  | const CPoint & | end
| ) |  |

add a bezier curve to the path.

A subpath must begin before

## ◆ addEllipse()

void addEllipse | ( | const CRect & | rect | ) |

add an ellipse to the path.

Begins a new subpath if no elements were added before.

## ◆ addLine() [1/2]

void addLine | ( | CCoord | x,
|  | CCoord | y
| ) |  |
| inline

## ◆ addLine() [2/2]

void addLine | ( | const CPoint & | to | ) |

add a line to the path.

A subpath must begin before

## ◆ addPath()

void addPath | ( | const CGraphicsPath & | path,
|  | CGraphicsTransform * | transformation = `nullptr`
| ) |  |

add another path to the path.

Begins a new subpath if no elements were added before.

## ◆ addRect()

void addRect | ( | const CRect & | rect | ) |

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 | ( | CCoord | x,
|  | CCoord | y
| ) |  |
| inline

## ◆ beginSubpath() [2/2]

void beginSubpath | ( | const CPoint & | start | ) |

begin a new subpath.

## ◆ closeSubpath()

void closeSubpath | ( |  | ) |

close a subpath.

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

## ◆ createGradient()

CGradient * createGradient | ( | double | color1Start,
|  | double | color2Start,
|  | const CColor & | color1,
|  | const CColor & | color2
| ) |  |

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

Parameters

  color1Start | value between zero and one which defines the normalized start offset for color1
  color2Start | value between zero and one which defines the normalized start offset for color2
  color1 | the first color of the gradient
  color2 | the second color of the gradient

Returns
  a new gradient object

## ◆ dirty()

void dirty | ( |  | ) |
| protected

## ◆ ensurePlatformGraphicsPathValid()

bool ensurePlatformGraphicsPathValid | ( | PlatformGraphicsPathFillMode | fillMode | ) |
| protected

## ◆ getBoundingBox()

CRect getBoundingBox | ( |  | ) |

## ◆ getCurrentPosition()

CPoint getCurrentPosition | ( |  | ) |

## ◆ getPlatformPath()

const PlatformGraphicsPathPtr & getPlatformPath | ( | PlatformGraphicsPathFillMode | fillMode | ) |

## ◆ hitTest()

bool hitTest | ( | const CPoint & | p,
|  | bool | evenOddFilled = `false`,
|  | CGraphicsTransform * | transform = `nullptr`
| ) |  |

## ◆ makePlatformGraphicsPath()

void makePlatformGraphicsPath | ( | PlatformGraphicsPathFillMode | fillMode | ) |
| protected

## Member Data Documentation

## ◆ elements

ElementList elements
| protected

## ◆ factory

PlatformGraphicsPathFactoryPtr factory
| protected

## ◆ path

PlatformGraphicsPathPtr path
| protected

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

- cgraphicspath.h
- cgraphicspath.cpp