VSTGUI
4.10
Graphical User Interface Framework not only for VST plugins
|
Graphics Path Object. More...
Public Member Functions | |
CGraphicsPath (const PlatformGraphicsPathFactoryPtr &factory, PlatformGraphicsPathPtr &&path) | |
~CGraphicsPath () noexceptoverride | |
const PlatformGraphicsPathPtr & | getPlatformPath (PlatformGraphicsPathFillMode fillMode) |
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 | |
Adding Elements | |
void | addArc (const CRect &rect, double startAngle, double endAngle, bool clockwise) |
add an arc to the path. | |
void | addEllipse (const CRect &rect) |
add an ellipse to the path. | |
void | addRect (const CRect &rect) |
add a rectangle to the path. | |
void | addPath (const CGraphicsPath &path, CGraphicsTransform *transformation=nullptr) |
add another path to the path. | |
void | addLine (const CPoint &to) |
add a line to the path. | |
void | addBezierCurve (const CPoint &control1, const CPoint &control2, const CPoint &end) |
add a bezier curve to the path. | |
void | beginSubpath (const CPoint &start) |
begin a new subpath. | |
void | closeSubpath () |
close a subpath. | |
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) |
States | |
CPoint | getCurrentPosition () |
CRect | getBoundingBox () |
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 | |
void | remember () override |
increase refcount | |
virtual int32_t | getNbReference () const |
get refcount | |
Protected Types | |
using | ElementList = std::vector< Element > |
Protected Member Functions | |
void | makePlatformGraphicsPath (PlatformGraphicsPathFillMode fillMode) |
bool | ensurePlatformGraphicsPathValid (PlatformGraphicsPathFillMode fillMode) |
void | dirty () |
Protected Attributes | |
ElementList | elements |
PlatformGraphicsPathFactoryPtr | factory |
PlatformGraphicsPathPtr | path |
Graphics Path Object.
|
protected |
CGraphicsPath | ( | const PlatformGraphicsPathFactoryPtr & | factory, |
PlatformGraphicsPathPtr && | path | ||
) |
|
overridenoexcept |
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.
add a bezier curve to the path.
A subpath must begin before
|
inline |
void addEllipse | ( | const CRect & | rect | ) |
add an ellipse to the path.
Begins a new subpath if no elements were added before.
void addLine | ( | const CPoint & | to | ) |
add a line to the path.
A subpath must begin before
void addPath | ( | const CGraphicsPath & | path, |
CGraphicsTransform * | transformation = nullptr |
||
) |
add another path to the path.
Begins a new subpath if no elements were added before.
void addRect | ( | const CRect & | rect | ) |
add a rectangle to the path.
Begins a new subpath if no elements were added before.
void beginSubpath | ( | const CPoint & | start | ) |
begin a new subpath.
void closeSubpath | ( | ) |
close a subpath.
A straight line will be added from the current point to the start point.
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
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 |
|
protected |
|
protected |
CRect getBoundingBox | ( | ) |
CPoint getCurrentPosition | ( | ) |
const PlatformGraphicsPathPtr & getPlatformPath | ( | PlatformGraphicsPathFillMode | fillMode | ) |
bool hitTest | ( | const CPoint & | p, |
bool | evenOddFilled = false , |
||
CGraphicsTransform * | transform = nullptr |
||
) |
|
protected |
|
protected |
|
protected |
|
protected |