2017-09-13 04:42:36 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-07-06 16:08:05 +08:00
<class name= "Gradient" inherits= "Resource" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-09-13 04:42:36 +08:00
<brief_description >
2023-06-24 19:19:58 +08:00
A color transition.
2017-09-13 04:42:36 +08:00
</brief_description>
<description >
2023-06-24 19:19:58 +08:00
This resource describes a color transition by defining a set of colored points and how to interpolate between them.
2022-08-05 15:54:46 +08:00
See also [Curve] which supports more complex easing methods, but does not support colors.
2017-09-13 04:42:36 +08:00
</description>
<tutorials >
</tutorials>
<methods >
<method name= "add_point" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "offset" type= "float" />
<param index= "1" name= "color" type= "Color" />
2017-09-13 04:42:36 +08:00
<description >
2023-06-24 19:19:58 +08:00
Adds the specified color to the gradient, with the specified offset.
2017-09-13 04:42:36 +08:00
</description>
</method>
2020-08-13 15:35:41 +08:00
<method name= "get_color" >
2021-07-30 21:28:05 +08:00
<return type= "Color" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "point" type= "int" />
2017-09-13 04:42:36 +08:00
<description >
2022-08-13 00:07:53 +08:00
Returns the color of the gradient color at index [param point].
2017-09-13 04:42:36 +08:00
</description>
</method>
2020-08-13 15:35:41 +08:00
<method name= "get_offset" >
2021-07-30 21:28:05 +08:00
<return type= "float" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "point" type= "int" />
2017-09-13 04:42:36 +08:00
<description >
2022-08-13 00:07:53 +08:00
Returns the offset of the gradient color at index [param point].
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "get_point_count" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "int" />
2017-09-13 04:42:36 +08:00
<description >
2020-10-26 00:32:44 +08:00
Returns the number of colors in the gradient.
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "remove_point" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "point" type= "int" />
2017-09-13 04:42:36 +08:00
<description >
2023-06-24 19:19:58 +08:00
Removes the color at index [param point].
2017-09-13 04:42:36 +08:00
</description>
</method>
2021-11-09 02:11:36 +08:00
<method name= "reverse" >
<return type= "void" />
<description >
Reverses/mirrors the gradient.
2023-04-17 21:06:24 +08: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-09 02:11:36 +08:00
</description>
</method>
2022-07-25 00:47:57 +08:00
<method name= "sample" >
<return type= "Color" />
<param index= "0" name= "offset" type= "float" />
<description >
2023-04-17 21:06:24 +08:00
Returns the interpolated color specified by [param offset].
2022-07-25 00:47:57 +08:00
</description>
</method>
2017-09-13 04:42:36 +08:00
<method name= "set_color" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "point" type= "int" />
<param index= "1" name= "color" type= "Color" />
2017-09-13 04:42:36 +08:00
<description >
2022-08-13 00:07:53 +08:00
Sets the color of the gradient color at index [param point].
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "set_offset" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "point" type= "int" />
<param index= "1" name= "offset" type= "float" />
2017-09-13 04:42:36 +08:00
<description >
2022-08-13 00:07:53 +08:00
Sets the offset for the gradient color at index [param point].
2017-09-13 04:42:36 +08:00
</description>
</method>
</methods>
<members >
2019-09-25 01:45:03 +08: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 20:59:24 +08:00
Gradient's colors returned as a [PackedColorArray].
2023-07-03 16:47:34 +08: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-13 04:42:36 +08:00
</member>
2023-04-24 09:22:45 +08: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-09 02:11:36 +08:00
<member name= "interpolation_mode" type= "int" setter= "set_interpolation_mode" getter= "get_interpolation_mode" enum= "Gradient.InterpolationMode" default= "0" >
2023-04-24 09:22:45 +08:00
The algorithm used to interpolate between points of the gradient. See [enum InterpolationMode] for available modes.
2021-11-09 02:11:36 +08:00
</member>
2019-09-25 01:45:03 +08:00
<member name= "offsets" type= "PackedFloat32Array" setter= "set_offsets" getter= "get_offsets" default= "PackedFloat32Array(0, 1)" >
2020-02-26 01:10:58 +08:00
Gradient's offsets returned as a [PackedFloat32Array].
2023-07-03 16:47:34 +08: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-13 04:42:36 +08:00
</member>
</members>
2021-11-09 02:11:36 +08: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 09:22:45 +08: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-09 02:11:36 +08:00
</constants>
2017-09-13 04:42:36 +08:00
</class>