ThorVG  v0.15
LinearGradientfinal

A class representing the linear gradient fill of the Shape object. More...

Inheritance diagram for LinearGradient:
Collaboration diagram for LinearGradient:

Public Member Functions

Result linear (float x1, float y1, float x2, float y2) noexcept
 Sets the linear gradient bounds. More...
 
Result linear (float *x1, float *y1, float *x2, float *y2) const noexcept
 Gets the linear gradient bounds. More...
 
Type type () const noexcept override
 Returns the ID value of this class. More...
 
- Public Member Functions inherited from Fill
Result colorStops (const ColorStop *colorStops, uint32_t cnt) noexcept
 Sets the parameters of the colors of the gradient and their position. More...
 
Result spread (FillSpread s) noexcept
 Sets the FillSpread value, which specifies how to fill the area outside the gradient bounds. More...
 
Result transform (const Matrix &m) noexcept
 Sets the matrix of the affine transformation for the gradient fill. More...
 
uint32_t colorStops (const ColorStop **colorStops) const noexcept
 Gets the parameters of the colors of the gradient, their position and number. More...
 
FillSpread spread () const noexcept
 Gets the FillSpread value of the fill. More...
 
Matrix transform () const noexcept
 Gets the matrix of the affine transformation of the gradient fill. More...
 
Fillduplicate () const noexcept
 Creates a copy of the Fill object. More...
 
TVG_DEPRECATED uint32_t identifier () const noexcept
 

Static Public Member Functions

static std::unique_ptr< LinearGradientgen () noexcept
 Creates a new LinearGradient object. More...
 
static TVG_DEPRECATED uint32_t identifier () noexcept
 

Detailed Description

A class representing the linear gradient fill of the Shape object.

Besides the APIs inherited from the Fill class, it enables setting and getting the linear gradient bounds. The behavior outside the gradient bounds depends on the value specified in the spread API.

Member Function Documentation

◆ gen()

static std::unique_ptr<LinearGradient> gen ( )
staticnoexcept

Creates a new LinearGradient object.

Returns
A new LinearGradient object.

◆ identifier()

static TVG_DEPRECATED uint32_t identifier ( )
staticnoexcept

◆ linear() [1/2]

Result linear ( float *  x1,
float *  y1,
float *  x2,
float *  y2 
) const
noexcept

Gets the linear gradient bounds.

The bounds of the linear gradient are defined as a surface constrained by two parallel lines crossing the given points (x1, y1) and (x2, y2), respectively. Both lines are perpendicular to the line linking (x1, y1) and (x2, y2).

Parameters
[out]x1The horizontal coordinate of the first point used to determine the gradient bounds.
[out]y1The vertical coordinate of the first point used to determine the gradient bounds.
[out]x2The horizontal coordinate of the second point used to determine the gradient bounds.
[out]y2The vertical coordinate of the second point used to determine the gradient bounds.

◆ linear() [2/2]

Result linear ( float  x1,
float  y1,
float  x2,
float  y2 
)
noexcept

Sets the linear gradient bounds.

The bounds of the linear gradient are defined as a surface constrained by two parallel lines crossing the given points (x1, y1) and (x2, y2), respectively. Both lines are perpendicular to the line linking (x1, y1) and (x2, y2).

Parameters
[in]x1The horizontal coordinate of the first point used to determine the gradient bounds.
[in]y1The vertical coordinate of the first point used to determine the gradient bounds.
[in]x2The horizontal coordinate of the second point used to determine the gradient bounds.
[in]y2The vertical coordinate of the second point used to determine the gradient bounds.
Note
In case the first and the second points are equal, an object is filled with a single color using the last color specified in the colorStops().
See also
Fill::colorStops()

◆ type()

Type type ( ) const
overridevirtualnoexcept

Returns the ID value of this class.

This method can be used to check the current concrete instance type.

Returns
The class type ID of the LinearGradient instance.
Since
Experimental API

Implements Fill.