<?xml version="1.0" encoding="UTF-8" ?>
<class name="PaintPolygon2D" inherits="PaintNode" version="4.3">
	<brief_description>
		A 2D Paint Polygon Node for use with [PaintProject]s.
	</brief_description>
	<description>
		A Polygon2D is defined by a set of points. Each point is connected to the next, with the final point being connected to the first, resulting in a closed polygon. Polygon2Ds can be filled with color (solid or gradient) or filled with a given texture.
	</description>
	<tutorials>
	</tutorials>
	<methods>
	</methods>
	<members>
		<member name="antialiased" type="bool" setter="set_antialiased" getter="get_antialiased" default="false">
			If [code]true[/code], attempts to perform antialiasing for polygon edges by drawing a thin OpenGL smooth line on the edges.
			Note: Currently only has an effect on the in-editor preview.
		</member>
		<member name="color" type="Color" setter="set_color" getter="get_color" default="Color( 1, 1, 1, 1 )">
			The polygon's fill color. If [code]texture[/code] is defined, it will be multiplied by this color. It will also be the default color for vertices not set in [code]vertex_colors[/code].
		</member>
		<member name="internal_vertex_count" type="int" setter="set_internal_vertex_count" getter="get_internal_vertex_count" default="0">
		</member>
		<member name="invert_border" type="float" setter="set_invert_border" getter="get_invert_border" default="100.0">
			Added padding applied to the bounding box when using [code]invert[/code]. Setting this value too small may result in a "Bad Polygon" error.
		</member>
		<member name="invert_enable" type="bool" setter="set_invert" getter="get_invert" default="false">
			If [code]true[/code], polygon will be inverted, containing the area outside the defined points and extending to the [code]invert_border[/code].
		</member>
		<member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2( 0, 0 )">
			The offset applied to each vertex.
		</member>
		<member name="polygon" type="PoolVector2Array" setter="set_polygon" getter="get_polygon" default="PoolVector2Array(  )">
			The polygon's list of vertices. The final point will be connected to the first.
			[b]Note:[/b] This returns a copy of the [PoolVector2Array] rather than a reference.
		</member>
		<member name="polygons" type="Array" setter="set_polygons" getter="get_polygons" default="[  ]">
			The list of polygons, in case more than one is being represented. Every individual polygon is stored as a [PoolIntArray] where each [int] is an index to a point in [member polygon]. If empty, this property will be ignored, and the resulting single polygon will be composed of all points in [member polygon], using the order they are stored in.
		</member>
		<member name="texture" type="Texture" setter="set_texture" getter="get_texture">
			The polygon's fill texture. Use [code]uv[/code] to set texture coordinates.
		</member>
		<member name="texture_offset" type="Vector2" setter="set_texture_offset" getter="get_texture_offset" default="Vector2( 0, 0 )">
			Amount to offset the polygon's [code]texture[/code]. If [code](0, 0)[/code] the texture's origin (its top-left corner) will be placed at the polygon's [code]position[/code].
		</member>
		<member name="texture_rotation" type="float" setter="set_texture_rotation" getter="get_texture_rotation">
			The texture's rotation in radians.
		</member>
		<member name="texture_rotation_degrees" type="float" setter="set_texture_rotation_degrees" getter="get_texture_rotation_degrees" default="0.0">
			The texture's rotation in degrees.
		</member>
		<member name="texture_scale" type="Vector2" setter="set_texture_scale" getter="get_texture_scale" default="Vector2( 1, 1 )">
			Amount to multiply the [code]uv[/code] coordinates when using a [code]texture[/code]. Larger values make the texture smaller, and vice versa.
		</member>
		<member name="uv" type="PoolVector2Array" setter="set_uv" getter="get_uv" default="PoolVector2Array(  )">
			Texture coordinates for each vertex of the polygon. There should be one [code]uv[/code] per polygon vertex. If there are fewer, undefined vertices will use [code](0, 0)[/code].
		</member>
		<member name="vertex_colors" type="PoolColorArray" setter="set_vertex_colors" getter="get_vertex_colors" default="PoolColorArray(  )">
			Color for each vertex. Colors are interpolated between vertices, resulting in smooth gradients. There should be one per polygon vertex. If there are fewer, undefined vertices will use [code]color[/code].
		</member>
	</members>
	<constants>
	</constants>
</class>