VSTGUI 4.10 Graphical User Interface Framework not only for VST plugins

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
CGraphicsPath Class Reference
Version 4.0

Graphics Path Object. More...

Inheritance diagram for CGraphicsPath:

## Public Member Functions
| CGraphicsPath (const PlatformGraphicsPathFactoryPtr &factory, PlatformGraphicsPathPtr &&path=nullptr)
| ~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

## Detailed Description

Graphics Path Object.

## Member Typedef Documentation

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

## Constructor & Destructor Documentation

CGraphicsPath | ( | const PlatformGraphicsPathFactoryPtr & | factory,
|  | PlatformGraphicsPathPtr && | path = `nullptr`
| ) |  |

~CGraphicsPath | ( |  | ) |
| override noexcept

## Member Function Documentation

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.

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

add a bezier curve to the path.

A subpath must begin before

void addBezierCurve | ( | CCoord | cp1x,
|  | CCoord | cp1y,
|  | CCoord | cp2x,
|  | CCoord | cp2y,
|  | CCoord | x,
|  | CCoord | y
| ) |  |
| 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 addLine | ( | CCoord | x,
|  | CCoord | y
| ) |  |
| inline

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 addRoundRect | ( | const CRect & | size,
|  | CCoord | radius
| ) |  |

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

begin a new subpath.

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

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

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

void dirty | ( |  | ) |
| protected

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

CRect getBoundingBox | ( |  | ) |

CPoint getCurrentPosition | ( |  | ) |

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

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

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

## Member Data Documentation

ElementList elements
| protected

PlatformGraphicsPathFactoryPtr factory
| protected

PlatformGraphicsPathPtr path
| protected

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

- cgraphicspath.h
- cgraphicspath.cpp