ThorVG
v0.13
|
An abstract class for managing graphical elements. More...
Public Member Functions | |
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... | |
Matrix | transform () noexcept |
Gets the matrix of the affine transformation of 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) noexcept |
Sets the composition target object and the composition method. More... | |
Result | blend (BlendMethod method) const noexcept |
Sets the blending method for the paint object. More... | |
TVG_DEPRECATED Result | bounds (float *x, float *y, float *w, float *h) const noexcept |
Gets the bounding box of the paint object before any transformation. More... | |
Result | bounds (float *x, float *y, float *w, float *h, bool transformed) const noexcept |
Gets the axis-aligned bounding box of the paint object. More... | |
Paint * | duplicate () const noexcept |
Duplicates the object. More... | |
uint8_t | opacity () const noexcept |
Gets the opacity value of the object. More... | |
CompositeMethod | composite (const Paint **target) const noexcept |
Gets the composition target object and the composition method. More... | |
BlendMethod | blend () const noexcept |
Gets the blending method of the object. More... | |
uint32_t | identifier () const noexcept |
Return the unique id value of the paint instance. More... | |
An abstract class for managing graphical elements.
A graphical element in TVG is any object composed into a Canvas. Paint represents such a graphical object and its behaviors such as duplication, transformation and composition. TVG recommends the user to regard a paint as a set of volatile commands. They can prepare a Paint and then request a Canvas to run them.
|
noexcept |
Gets the blending method of the object.
|
noexcept |
Sets the blending method for the paint object.
The blending feature allows you to combine colors to create visually appealing effects, including transparency, lighting, shading, and color mixing, among others. its process involves the combination of colors or images from the source paint object with the destination (the lower layer image) using blending operations. The blending operation is determined by the chosen BlendMethod
, which specifies how the colors or images are combined.
[in] | method | The blending method to be set. |
Result::Success | when the blending method is successfully set. |
|
noexcept |
Gets the bounding box of the paint object before any transformation.
[out] | x | The x coordinate of the upper left corner of the object. |
[out] | y | The y coordinate of the upper left corner of the object. |
[out] | w | The width of the object. |
[out] | h | The height of the object. |
|
noexcept |
Gets the axis-aligned bounding box of the paint object.
In case transform
is true
, all object's transformations are applied first, and then the bounding box is established. Otherwise, the bounding box is determined before any transformations.
[out] | x | The x coordinate of the upper left corner of the object. |
[out] | y | The y coordinate of the upper left corner of the object. |
[out] | w | The width of the object. |
[out] | h | The height of the object. |
[in] | transformed | If true , the paint's transformations are taken into account, otherwise they aren't. |
Result::Success | when succeed, Result::InsufficientCondition otherwise. |
|
noexcept |
Gets the composition target object and the composition method.
[out] | target | The paint of the target object. |
|
noexcept |
Sets the composition target object and the composition method.
[in] | target | The paint of the target object. |
[in] | method | The method used to composite the source object with the target. |
Result::Success | when succeed, Result::InvalidArguments otherwise. |
|
noexcept |
Duplicates the object.
Creates a new object and sets its all properties as in the original object.
nullptr
otherwise.
|
noexcept |
Return the unique id value of the paint instance.
This method can be called for checking the current concrete instance type.
|
noexcept |
Gets the opacity value of the object.
|
noexcept |
Sets the opacity of the object.
[in] | o | The opacity value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque. |
Result::Success | when succeed. |
|
noexcept |
Sets the angle by which the object is rotated.
The angle in measured clockwise from the horizontal axis. The rotational axis passes through the point on the object with zero coordinates.
[in] | degree | The value of the angle in degrees. |
Result::Success | when succeed, Result::FailedAllocation otherwise. |
|
noexcept |
Sets the scale value of the object.
[in] | factor | The value of the scaling factor. The default value is 1. |
Result::Success | when succeed, Result::FailedAllocation otherwise. |
|
noexcept |
Gets the matrix of the affine transformation of the object.
The values of the matrix can be set by the transform() API, as well by the translate(), scale() and rotate(). In case no transformation was applied, the identity matrix is returned.
Sets the matrix of the affine transformation for the object.
The augmented matrix of the transformation is expected to be given.
[in] | m | The 3x3 augmented matrix. |
Result::Success | when succeed, Result::FailedAllocation otherwise. |
|
noexcept |
Sets the values by which the object is moved in a two-dimensional space.
The origin of the coordinate system is in the upper left corner of the canvas. The horizontal and vertical axes point to the right and down, respectively.
[in] | x | The value of the horizontal shift. |
[in] | y | The value of the vertical shift. |
Result::Success | when succeed, Result::FailedAllocation otherwise. |