<?xml version="1.0" encoding="UTF-8" ?> <class name="Gradient" inherits="Resource" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> A color transition. </brief_description> <description> This resource describes a color transition by defining a set of colored points and how to interpolate between them. See also [Curve] which supports more complex easing methods, but does not support colors. </description> <tutorials> </tutorials> <methods> <method name="add_point"> <return type="void" /> <param index="0" name="offset" type="float" /> <param index="1" name="color" type="Color" /> <description> Adds the specified color to the gradient, with the specified offset. </description> </method> <method name="get_color"> <return type="Color" /> <param index="0" name="point" type="int" /> <description> Returns the color of the gradient color at index [param point]. </description> </method> <method name="get_offset"> <return type="float" /> <param index="0" name="point" type="int" /> <description> Returns the offset of the gradient color at index [param point]. </description> </method> <method name="get_point_count" qualifiers="const"> <return type="int" /> <description> Returns the number of colors in the gradient. </description> </method> <method name="remove_point"> <return type="void" /> <param index="0" name="point" type="int" /> <description> Removes the color at index [param point]. </description> </method> <method name="reverse"> <return type="void" /> <description> Reverses/mirrors the gradient. [b]Note:[/b] This method mirrors all points around the middle of the gradient, which may produce unexpected results when [member interpolation_mode] is set to [constant GRADIENT_INTERPOLATE_CONSTANT]. </description> </method> <method name="sample"> <return type="Color" /> <param index="0" name="offset" type="float" /> <description> Returns the interpolated color specified by [param offset]. </description> </method> <method name="set_color"> <return type="void" /> <param index="0" name="point" type="int" /> <param index="1" name="color" type="Color" /> <description> Sets the color of the gradient color at index [param point]. </description> </method> <method name="set_offset"> <return type="void" /> <param index="0" name="point" type="int" /> <param index="1" name="offset" type="float" /> <description> Sets the offset for the gradient color at index [param point]. </description> </method> </methods> <members> <member name="colors" type="PackedColorArray" setter="set_colors" getter="get_colors" default="PackedColorArray(0, 0, 0, 1, 1, 1, 1, 1)"> Gradient's colors as a [PackedColorArray]. [b]Note:[/b] Setting this property updates all colors at once. To update any color individually use [method set_color]. </member> <member name="interpolation_color_space" type="int" setter="set_interpolation_color_space" getter="get_interpolation_color_space" enum="Gradient.ColorSpace" default="0"> The color space used to interpolate between points of the gradient. It does not affect the returned colors, which will always be in sRGB space. See [enum ColorSpace] for available modes. [b]Note:[/b] This setting has no effect when [member interpolation_mode] is set to [constant GRADIENT_INTERPOLATE_CONSTANT]. </member> <member name="interpolation_mode" type="int" setter="set_interpolation_mode" getter="get_interpolation_mode" enum="Gradient.InterpolationMode" default="0"> The algorithm used to interpolate between points of the gradient. See [enum InterpolationMode] for available modes. </member> <member name="offsets" type="PackedFloat32Array" setter="set_offsets" getter="get_offsets" default="PackedFloat32Array(0, 1)"> Gradient's offsets as a [PackedFloat32Array]. [b]Note:[/b] Setting this property updates all offsets at once. To update any offset individually use [method set_offset]. </member> </members> <constants> <constant name="GRADIENT_INTERPOLATE_LINEAR" value="0" enum="InterpolationMode"> Linear interpolation. </constant> <constant name="GRADIENT_INTERPOLATE_CONSTANT" value="1" enum="InterpolationMode"> Constant interpolation, color changes abruptly at each point and stays uniform between. This might cause visible aliasing when used for a gradient texture in some cases. </constant> <constant name="GRADIENT_INTERPOLATE_CUBIC" value="2" enum="InterpolationMode"> Cubic interpolation. </constant> <constant name="GRADIENT_COLOR_SPACE_SRGB" value="0" enum="ColorSpace"> sRGB color space. </constant> <constant name="GRADIENT_COLOR_SPACE_LINEAR_SRGB" value="1" enum="ColorSpace"> Linear sRGB color space. </constant> <constant name="GRADIENT_COLOR_SPACE_OKLAB" value="2" enum="ColorSpace"> [url=https://bottosson.github.io/posts/oklab/]Oklab[/url] color space. This color space provides a smooth and uniform-looking transition between colors. </constant> </constants> </class>