virtualx-engine/doc/classes/Gradient.xml
Hugo Locurcio b68dd2e189
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-15 00:03:31 +01:00

99 lines
4 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="Gradient" inherits="Resource" version="4.0" 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.
</description>
<tutorials>
</tutorials>
<methods>
<method name="add_point">
<return type="void" />
<argument index="0" name="offset" type="float" />
<argument 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" />
<argument index="0" name="point" type="int" />
<description>
Returns the color of the gradient color at index [code]point[/code].
</description>
</method>
<method name="get_offset">
<return type="float" />
<argument index="0" name="point" type="int" />
<description>
Returns the offset of the gradient color at index [code]point[/code].
</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="interpolate">
<return type="Color" />
<argument index="0" name="offset" type="float" />
<description>
Returns the interpolated color specified by [code]offset[/code].
</description>
</method>
<method name="remove_point">
<return type="void" />
<argument index="0" name="point" type="int" />
<description>
Removes the color at the index [code]point[/code].
</description>
</method>
<method name="reverse">
<return type="void" />
<description>
Reverses/mirrors the gradient.
</description>
</method>
<method name="set_color">
<return type="void" />
<argument index="0" name="point" type="int" />
<argument index="1" name="color" type="Color" />
<description>
Sets the color of the gradient color at index [code]point[/code].
</description>
</method>
<method name="set_offset">
<return type="void" />
<argument index="0" name="point" type="int" />
<argument index="1" name="offset" type="float" />
<description>
Sets the offset for the gradient color at index [code]point[/code].
</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].
</member>
<member name="interpolation_mode" type="int" setter="set_interpolation_mode" getter="get_interpolation_mode" enum="Gradient.InterpolationMode" default="0">
Defines how the colors between points of the gradient are interpolated. 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].
</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>
</constants>
</class>