<?xml version="1.0" encoding="UTF-8" ?>
<class name="Gradient" inherits="Resource" version="4.0">
	<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">
			</return>
			<argument index="0" name="offset" type="float">
			</argument>
			<argument index="1" name="color" type="Color">
			</argument>
			<description>
				Adds the specified color to the end of the gradient, with the specified offset.
			</description>
		</method>
		<method name="get_color">
			<return type="Color">
			</return>
			<argument index="0" name="point" type="int">
			</argument>
			<description>
				Returns the color of the gradient color at index [code]point[/code].
			</description>
		</method>
		<method name="get_offset">
			<return type="float">
			</return>
			<argument index="0" name="point" type="int">
			</argument>
			<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">
			</return>
			<description>
				Returns the number of colors in the gradient.
			</description>
		</method>
		<method name="interpolate">
			<return type="Color">
			</return>
			<argument index="0" name="offset" type="float">
			</argument>
			<description>
				Returns the interpolated color specified by [code]offset[/code].
			</description>
		</method>
		<method name="remove_point">
			<return type="void">
			</return>
			<argument index="0" name="point" type="int">
			</argument>
			<description>
				Removes the color at the index [code]point[/code].
			</description>
		</method>
		<method name="set_color">
			<return type="void">
			</return>
			<argument index="0" name="point" type="int">
			</argument>
			<argument index="1" name="color" type="Color">
			</argument>
			<description>
				Sets the color of the gradient color at index [code]point[/code].
			</description>
		</method>
		<method name="set_offset">
			<return type="void">
			</return>
			<argument index="0" name="point" type="int">
			</argument>
			<argument index="1" name="offset" type="float">
			</argument>
			<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="offsets" type="PackedFloat32Array" setter="set_offsets" getter="get_offsets" default="PackedFloat32Array( 0, 1 )">
			Gradient's offsets returned as a [PackedFloat32Array].
		</member>
	</members>
	<constants>
	</constants>
</class>