ThorVG
v0.1
ThorVG is a platform-independent portable library for drawing vector-based scene and animation. It's an open-source software that is freely used by a variety of software platforms and applications. ThorVG provides neat and easy APIs, its library has no dependencies and keeps cheap and super compact size. It serves as the vector graphics engine for Tizen OS that powers many products.
|
A class to composite children paints. More...
Public Member Functions | |
Result | push (std::unique_ptr< Paint > paint) noexcept |
Passes drawing elements to the Scene using Paint objects. More... | |
Result | reserve (uint32_t size) noexcept |
Sets the size of the container, where all the paints pushed into the Scene are stored. More... | |
Result | clear () noexcept |
Sets the total number of the paints pushed into the scene to be zero. More... | |
![]() | |
Result | rotate (float degree) noexcept |
Sets the angle by which the object is rotated. More... | |
Result | scale (float factor) noexcept |
Sets the scale value of the object. More... | |
Result | translate (float x, float y) noexcept |
Sets the values by which the object is moved in a two-dimensional space. More... | |
Result | transform (const Matrix &m) noexcept |
Sets the matrix of the affine transformation for the object. More... | |
Result | opacity (uint8_t o) noexcept |
Sets the opacity of the object. More... | |
Result | composite (std::unique_ptr< Paint > target, CompositeMethod method) const noexcept |
Sets the composition target object and the composition method. More... | |
Result | bounds (float *x, float *y, float *w, float *h) const noexcept |
Gets the bounding box of the paint object before any transformation. More... | |
Paint * | duplicate () const noexcept |
Duplicates the object. More... | |
uint8_t | opacity () const noexcept |
Gets the opacity value of the object. More... | |
Static Public Member Functions | |
static std::unique_ptr< Scene > | gen () noexcept |
Creates a new Scene object. More... | |
A class to composite children paints.
As the traditional graphics rendering method, TVG also enables scene-graph mechanism. This feature supports an array function for managing the multiple paints as one group paint.
As a group, the scene can be transformed, made translucent and composited with other target paints, its children will be affected by the scene world.
|
noexcept |
Sets the total number of the paints pushed into the scene to be zero.
|
staticnoexcept |
Passes drawing elements to the Scene using Paint objects.
Only pushed paints in the scene will be drawing targets. They are retained by the scene until you call Scene::clear(). If you know the number of the pushed objects in the advance, please call Scene::reserve().
[in] | paint | A Paint object to be drawn. |
|
noexcept |
Sets the size of the container, where all the paints pushed into the Scene are stored.
If the number of objects pushed into the scene is known in advance, calling the function prevents multiple memory reallocation, thus improving the performance.
[in] | size | The number of objects for which the memory is to be reserved. |