117 lines
5.7 KiB
XML
117 lines
5.7 KiB
XML
<?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 interpolator resource which can be used to generate colors between user-defined color points.
|
|
</brief_description>
|
|
<description>
|
|
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.
|
|
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 end of 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 the 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 returned as a [PackedColorArray].
|
|
[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).
|
|
</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 returned as a [PackedFloat32Array].
|
|
[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).
|
|
</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>
|