2017-09-12 20:42:36 +00:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-07-06 08:08:05 +00:00
<class name= "Gradient" inherits= "Resource" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-09-12 20:42:36 +00:00
<brief_description >
2019-06-21 23:04:47 +00:00
A color interpolator resource which can be used to generate colors between user-defined color points.
2017-09-12 20:42:36 +00:00
</brief_description>
<description >
2020-10-25 16:32:44 +00:00
Given a set of colors, this resource will interpolate them in order. This means that if you have color 1, color 2 and color 3, the gradient will interpolate from color 1 to color 2 and from color 2 to color 3. The gradient will initially have 2 colors (black and white), one (black) at gradient lower offset 0 and the other (white) at the gradient higher offset 1.
2022-08-05 07:54:46 +00:00
See also [Curve] which supports more complex easing methods, but does not support colors.
2017-09-12 20:42:36 +00:00
</description>
<tutorials >
</tutorials>
<methods >
<method name= "add_point" >
2021-07-30 13:28:05 +00:00
<return type= "void" />
2022-08-06 18:11:48 +00:00
<param index= "0" name= "offset" type= "float" />
<param index= "1" name= "color" type= "Color" />
2017-09-12 20:42:36 +00:00
<description >
2020-10-25 16:32:44 +00:00
Adds the specified color to the end of the gradient, with the specified offset.
2017-09-12 20:42:36 +00:00
</description>
</method>
2020-08-13 07:35:41 +00:00
<method name= "get_color" >
2021-07-30 13:28:05 +00:00
<return type= "Color" />
2022-08-06 18:11:48 +00:00
<param index= "0" name= "point" type= "int" />
2017-09-12 20:42:36 +00:00
<description >
2022-08-12 16:07:53 +00:00
Returns the color of the gradient color at index [param point].
2017-09-12 20:42:36 +00:00
</description>
</method>
2020-08-13 07:35:41 +00:00
<method name= "get_offset" >
2021-07-30 13:28:05 +00:00
<return type= "float" />
2022-08-06 18:11:48 +00:00
<param index= "0" name= "point" type= "int" />
2017-09-12 20:42:36 +00:00
<description >
2022-08-12 16:07:53 +00:00
Returns the offset of the gradient color at index [param point].
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "get_point_count" qualifiers= "const" >
2021-07-30 13:28:05 +00:00
<return type= "int" />
2017-09-12 20:42:36 +00:00
<description >
2020-10-25 16:32:44 +00:00
Returns the number of colors in the gradient.
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "remove_point" >
2021-07-30 13:28:05 +00:00
<return type= "void" />
2022-08-06 18:11:48 +00:00
<param index= "0" name= "point" type= "int" />
2017-09-12 20:42:36 +00:00
<description >
2022-08-12 16:07:53 +00:00
Removes the color at the index [param point].
2017-09-12 20:42:36 +00:00
</description>
</method>
2021-11-08 18:11:36 +00:00
<method name= "reverse" >
<return type= "void" />
<description >
Reverses/mirrors the gradient.
2023-04-17 13:06:24 +00:00
[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].
2021-11-08 18:11:36 +00:00
</description>
</method>
2022-07-24 16:47:57 +00:00
<method name= "sample" >
<return type= "Color" />
<param index= "0" name= "offset" type= "float" />
<description >
2023-04-17 13:06:24 +00:00
Returns the interpolated color specified by [param offset].
2022-07-24 16:47:57 +00:00
</description>
</method>
2017-09-12 20:42:36 +00:00
<method name= "set_color" >
2021-07-30 13:28:05 +00:00
<return type= "void" />
2022-08-06 18:11:48 +00:00
<param index= "0" name= "point" type= "int" />
<param index= "1" name= "color" type= "Color" />
2017-09-12 20:42:36 +00:00
<description >
2022-08-12 16:07:53 +00:00
Sets the color of the gradient color at index [param point].
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "set_offset" >
2021-07-30 13:28:05 +00:00
<return type= "void" />
2022-08-06 18:11:48 +00:00
<param index= "0" name= "point" type= "int" />
<param index= "1" name= "offset" type= "float" />
2017-09-12 20:42:36 +00:00
<description >
2022-08-12 16:07:53 +00:00
Sets the offset for the gradient color at index [param point].
2017-09-12 20:42:36 +00:00
</description>
</method>
</methods>
<members >
2019-09-24 17:45:03 +00:00
<member name= "colors" type= "PackedColorArray" setter= "set_colors" getter= "get_colors" default= "PackedColorArray(0, 0, 0, 1, 1, 1, 1, 1)" >
2020-02-18 12:59:24 +00:00
Gradient's colors returned as a [PackedColorArray].
2023-07-03 08:47:34 +00:00
[b]Note:[/b] This property returns a copy, modifying the return value does not update the gradient. To update the gradient use [method set_color] method (for updating colors individually) or assign to this property directly (for bulk-updating all colors at once).
2017-09-12 20:42:36 +00:00
</member>
2023-04-24 01:22:45 +00:00
<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>
2021-11-08 18:11:36 +00:00
<member name= "interpolation_mode" type= "int" setter= "set_interpolation_mode" getter= "get_interpolation_mode" enum= "Gradient.InterpolationMode" default= "0" >
2023-04-24 01:22:45 +00:00
The algorithm used to interpolate between points of the gradient. See [enum InterpolationMode] for available modes.
2021-11-08 18:11:36 +00:00
</member>
2019-09-24 17:45:03 +00:00
<member name= "offsets" type= "PackedFloat32Array" setter= "set_offsets" getter= "get_offsets" default= "PackedFloat32Array(0, 1)" >
2020-02-25 17:10:58 +00:00
Gradient's offsets returned as a [PackedFloat32Array].
2023-07-03 08:47:34 +00:00
[b]Note:[/b] This property returns a copy, modifying the return value does not update the gradient. To update the gradient use [method set_offset] method (for updating offsets individually) or assign to this property directly (for bulk-updating all offsets at once).
2017-09-12 20:42:36 +00:00
</member>
</members>
2021-11-08 18:11:36 +00:00
<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>
2023-04-24 01:22:45 +00:00
<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>
2021-11-08 18:11:36 +00:00
</constants>
2017-09-12 20:42:36 +00:00
</class>