GradientInterface Class Reference

#include <gradient.h>

Detailed Description

This is the interface for the Gradient data type. The data is reference-counted and a copy will automatically be created if a non-const function is called. Alpha Gradients ONLY set Brightness, Color is always 1.0 Regular Gradients can set Brightness & Color

Public Member Functions

MAXON_METHOD Result< Gradient * > AllocAlphaGradient ()
 
MAXON_METHOD GradientGetAlphaGradient ()
 
MAXON_METHOD void SetIsAlphaGradient (Bool alphaGradient)
 
MAXON_METHOD Bool IsAlphaGradient () const
 
MAXON_METHOD COMPARERESULT Compare (const GradientInterface *arg2) const
 
MAXON_METHOD HashInt GetHashCode () const
 
MAXON_METHOD Result< GradientRenderData > InitRender (const TransformColorDelegate &transformColorDelegate) const
 

Static Public Member Functions

static MAXON_METHOD Result< void > DescribeIO (const DataSerializeInterface &stream)
 

Private Member Functions

 MAXON_INTERFACE_NONVIRTUAL (GradientInterface, MAXON_REFERENCE_COPY_ON_WRITE, "net.maxon.interface.gradient")
 

Knots

MAXON_METHOD Int GetKnotCount () const
 
MAXON_METHOD Result< IntInsertKnot (const GradientKnot &knot, Bool keepId=false)
 
MAXON_METHOD Result< void > RemoveKnot (Int index)
 
MAXON_METHOD GradientKnot GetKnot (Int index) const
 
MAXON_METHOD Result< void > SetKnot (Int index, const GradientKnot &k)
 
MAXON_METHOD void ConvertToAlphaGradient ()
 
MAXON_METHOD void SortKnots ()
 
MAXON_METHOD Result< BoolInvertKnots ()
 
MAXON_METHOD Result< BoolDoubleKnots ()
 
MAXON_METHOD Bool DistributeKnots ()
 
MAXON_METHOD void Flush ()
 

Member Function Documentation

◆ MAXON_INTERFACE_NONVIRTUAL()

MAXON_INTERFACE_NONVIRTUAL ( GradientInterface  ,
MAXON_REFERENCE_COPY_ON_WRITE  ,
"net.maxon.interface.gradient"   
)
private

◆ AllocAlphaGradient()

MAXON_METHOD Result<Gradient*> AllocAlphaGradient ( )

Allocates an alpha gradient.

Returns
The alpha gradient.

◆ GetAlphaGradient()

MAXON_METHOD Gradient* GetAlphaGradient ( )

Returns the internal alpha gradient.

Returns
The alpha gradient.

◆ GetKnotCount()

MAXON_METHOD Int GetKnotCount ( ) const

Gets the number of knots.

Returns
The knot count.

◆ InsertKnot()

MAXON_METHOD Result<Int> InsertKnot ( const GradientKnot knot,
Bool  keepId = false 
)

Inserts a knot.

Parameters
[in]knotThe knot to insert.
[in]keepIdSpecifies if the knot ID should be taken from knot or if a new one should be generated.
Returns
The index of the inserted knot, GetKnotCount() - 1

◆ RemoveKnot()

MAXON_METHOD Result<void> RemoveKnot ( Int  index)

Removes a knot.

Parameters
[in]indexThe knot index. 0 <= index < GetKnotCount()
Returns
OK on success.

◆ GetKnot()

MAXON_METHOD GradientKnot GetKnot ( Int  index) const

Gets the knot at index.

Parameters
[in]indexThe knot index. 0 <= index < GetKnotCount()
Returns
The knot.

◆ SetKnot()

MAXON_METHOD Result<void> SetKnot ( Int  index,
const GradientKnot k 
)

Sets knot at index.

Parameters
[in]indexThe knot index. 0 <= index < GetKnotCount()
[in]kThe knot.

◆ ConvertToAlphaGradient()

MAXON_METHOD void ConvertToAlphaGradient ( )

Converts the current gradient to an alpha gradient.

◆ SortKnots()

MAXON_METHOD void SortKnots ( )

Sorts the knots according to their position.

◆ InvertKnots()

MAXON_METHOD Result<Bool> InvertKnots ( )

Inverts the knots.

Returns
True if any knot inverted, otherwise false.

◆ DoubleKnots()

MAXON_METHOD Result<Bool> DoubleKnots ( )

Doubles the knots.

Returns
True if any knot doubled, otherwise false.

◆ DistributeKnots()

MAXON_METHOD Bool DistributeKnots ( )

Distributes the knots evenly.

Returns
True if any knot distributed, otherwise false.

◆ Flush()

MAXON_METHOD void Flush ( )

Flushes all the knots.

◆ SetIsAlphaGradient()

MAXON_METHOD void SetIsAlphaGradient ( Bool  alphaGradient)

Sets the alpha mode.

Parameters
[in]alphaGradientThe gradient alpha type.

◆ IsAlphaGradient()

MAXON_METHOD Bool IsAlphaGradient ( ) const

Checks if this is an alpha gradient.

Returns
True, if this is an alpha gradient.

◆ Compare()

MAXON_METHOD COMPARERESULT Compare ( const GradientInterface arg2) const

Compares this with another gradient.

Parameters
[in]arg2The other gradient to compare with.
Returns
The comparison result.

◆ GetHashCode()

MAXON_METHOD HashInt GetHashCode ( ) const

Gets the hash code for the gradient.

Returns
The checksum.

◆ InitRender()

MAXON_METHOD Result<GradientRenderData> InitRender ( const TransformColorDelegate transformColorDelegate) const

Initializes the gradient for rendering.

Parameters
[in]transformColorDelegateA delegate to transform the color of a gradient knot.
Returns
The render data.

◆ DescribeIO()

static MAXON_METHOD Result<void> DescribeIO ( const DataSerializeInterface stream)
static

Describe all elements of this class for I/O operations.

Parameters
[in]streamThe stream that is used to register the class members.
Returns
OK on success.