2017-09-12 20:42:36 +00:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-07-06 08:08:05 +00:00
<class name= "Line2D" inherits= "Node2D" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-09-12 20:42:36 +00:00
<brief_description >
A 2D line.
</brief_description>
<description >
A line through several points in 2D space.
</description>
<tutorials >
2020-10-01 08:34:47 +00:00
<link title= "Matrix Transform Demo" > https://godotengine.org/asset-library/asset/584</link>
<link title= "2.5D Demo" > https://godotengine.org/asset-library/asset/583</link>
2017-09-12 20:42:36 +00:00
</tutorials>
<methods >
<method name= "add_point" >
2021-07-30 13:28:05 +00:00
<return type= "void" />
2022-08-06 18:11:48 +00:00
<param index= "0" name= "position" type= "Vector2" />
2022-08-15 14:31:23 +00:00
<param index= "1" name= "index" type= "int" default= "-1" />
2017-09-12 20:42:36 +00:00
<description >
2022-08-15 14:31:23 +00:00
Adds a point with the specified [param position] relative to the line's own position. Appends the new point at the end of the point list.
If [param index] is given, the new point is inserted before the existing point identified by index [param index]. Every existing point starting from [param index] is shifted further down the list of points. The index must be greater than or equal to [code]0[/code] and must not exceed the number of existing points in the line. See [method get_point_count].
2017-09-12 20:42:36 +00:00
</description>
</method>
2019-03-19 16:59:24 +00:00
<method name= "clear_points" >
2021-07-30 13:28:05 +00:00
<return type= "void" />
2019-03-19 16:59:24 +00:00
<description >
Removes all points from the line.
</description>
</method>
2017-09-12 20:42:36 +00:00
<method name= "get_point_count" qualifiers= "const" >
2021-07-30 13:28:05 +00:00
<return type= "int" />
2017-09-12 20:42:36 +00:00
<description >
2022-08-17 22:08:09 +00:00
Returns the number of points in the line.
2017-09-12 20:42:36 +00:00
</description>
</method>
2017-09-10 13:37:49 +00:00
<method name= "get_point_position" qualifiers= "const" >
2021-07-30 13:28:05 +00:00
<return type= "Vector2" />
2022-08-15 14:31:23 +00:00
<param index= "0" name= "index" type= "int" />
2017-09-12 20:42:36 +00:00
<description >
2022-08-15 14:31:23 +00:00
Returns the position of the point at index [param index].
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "remove_point" >
2021-07-30 13:28:05 +00:00
<return type= "void" />
2022-08-15 14:31:23 +00:00
<param index= "0" name= "index" type= "int" />
2017-09-12 20:42:36 +00:00
<description >
2022-08-15 14:31:23 +00:00
Removes the point at index [param index] from the line.
2017-09-12 20:42:36 +00:00
</description>
</method>
2017-09-10 13:37:49 +00:00
<method name= "set_point_position" >
2021-07-30 13:28:05 +00:00
<return type= "void" />
2022-08-15 14:31:23 +00:00
<param index= "0" name= "index" type= "int" />
2022-08-06 18:11:48 +00:00
<param index= "1" name= "position" type= "Vector2" />
2017-09-12 20:42:36 +00:00
<description >
2022-08-15 14:31:23 +00:00
Overwrites the position of the point at index [param index] with the supplied [param position].
2017-09-12 20:42:36 +00:00
</description>
</method>
</methods>
<members >
2019-11-24 10:00:02 +00:00
<member name= "antialiased" type= "bool" setter= "set_antialiased" getter= "get_antialiased" default= "false" >
If [code]true[/code], the line's border will be anti-aliased.
2021-08-17 18:05:38 +00:00
[b]Note:[/b] Line2D is not accelerated by batching when being anti-aliased.
2019-11-24 10:00:02 +00:00
</member>
2019-06-29 10:38:01 +00:00
<member name= "begin_cap_mode" type= "int" setter= "set_begin_cap_mode" getter= "get_begin_cap_mode" enum= "Line2D.LineCapMode" default= "0" >
2019-12-06 22:09:20 +00:00
Controls the style of the line's first point. Use [enum LineCapMode] constants.
2017-09-12 20:42:36 +00:00
</member>
2019-09-24 17:45:03 +00:00
<member name= "default_color" type= "Color" setter= "set_default_color" getter= "get_default_color" default= "Color(1, 1, 1, 1)" >
2017-10-01 22:12:14 +00:00
The line's color. Will not be used if a gradient is set.
2017-09-12 20:42:36 +00:00
</member>
2019-06-29 10:38:01 +00:00
<member name= "end_cap_mode" type= "int" setter= "set_end_cap_mode" getter= "get_end_cap_mode" enum= "Line2D.LineCapMode" default= "0" >
2019-12-06 22:09:20 +00:00
Controls the style of the line's last point. Use [enum LineCapMode] constants.
2017-09-12 20:42:36 +00:00
</member>
2019-07-15 18:42:47 +00:00
<member name= "gradient" type= "Gradient" setter= "set_gradient" getter= "get_gradient" >
2017-10-01 22:12:14 +00:00
The gradient is drawn through the whole line from start to finish. The default color will not be used if a gradient is set.
2017-09-12 20:42:36 +00:00
</member>
2019-06-29 10:38:01 +00:00
<member name= "joint_mode" type= "int" setter= "set_joint_mode" getter= "get_joint_mode" enum= "Line2D.LineJointMode" default= "0" >
2018-01-18 20:37:17 +00:00
The style for the points between the start and the end.
2017-09-12 20:42:36 +00:00
</member>
2019-09-24 17:45:03 +00:00
<member name= "points" type= "PackedVector2Array" setter= "set_points" getter= "get_points" default= "PackedVector2Array()" >
2020-08-20 17:54:58 +00:00
The points that form the lines. The line is drawn between every point set in this array. Points are interpreted as local vectors.
2017-09-12 20:42:36 +00:00
</member>
2019-06-29 10:38:01 +00:00
<member name= "round_precision" type= "int" setter= "set_round_precision" getter= "get_round_precision" default= "8" >
2022-02-16 23:21:00 +00:00
The smoothness of the rounded joints and caps. Higher values result in smoother corners, but are more demanding to render and update. This is only used if a cap or joint is set as round.
[b]Note:[/b] The default value is tuned for lines with the default [member width]. For thin lines, this value should be reduced to a number between [code]2[/code] and [code]4[/code] to improve performance.
2017-09-12 20:42:36 +00:00
</member>
2019-06-29 10:38:01 +00:00
<member name= "sharp_limit" type= "float" setter= "set_sharp_limit" getter= "get_sharp_limit" default= "2.0" >
2021-12-02 08:15:13 +00:00
The direction difference in radians between vector points. This value is only used if [member joint_mode] is set to [constant LINE_JOINT_SHARP].
2017-09-12 20:42:36 +00:00
</member>
2020-02-12 08:59:06 +00:00
<member name= "texture" type= "Texture2D" setter= "set_texture" getter= "get_texture" >
2017-10-01 22:12:14 +00:00
The texture used for the line's texture. Uses [code]texture_mode[/code] for drawing style.
2017-09-12 20:42:36 +00:00
</member>
2019-06-29 19:45:14 +00:00
<member name= "texture_mode" type= "int" setter= "set_texture_mode" getter= "get_texture_mode" enum= "Line2D.LineTextureMode" default= "0" >
2019-12-06 22:09:20 +00:00
The style to render the [code]texture[/code] on the line. Use [enum LineTextureMode] constants.
2017-09-12 20:42:36 +00:00
</member>
2019-06-29 10:38:01 +00:00
<member name= "width" type= "float" setter= "set_width" getter= "get_width" default= "10.0" >
2017-10-01 22:12:14 +00:00
The line's width.
2017-09-12 20:42:36 +00:00
</member>
2019-07-15 18:42:47 +00:00
<member name= "width_curve" type= "Curve" setter= "set_curve" getter= "get_curve" >
2019-05-01 04:50:01 +00:00
The line's width varies with the curve. The original width is simply multiply by the value of the Curve.
</member>
2017-09-12 20:42:36 +00:00
</members>
<constants >
2017-11-24 22:16:30 +00:00
<constant name= "LINE_JOINT_SHARP" value= "0" enum= "LineJointMode" >
2017-10-01 22:12:14 +00:00
The line's joints will be pointy. If [code]sharp_limit[/code] is greater than the rotation of a joint, it becomes a bevel joint instead.
2017-09-12 20:42:36 +00:00
</constant>
2017-11-24 22:16:30 +00:00
<constant name= "LINE_JOINT_BEVEL" value= "1" enum= "LineJointMode" >
2017-10-01 22:12:14 +00:00
The line's joints will be bevelled/chamfered.
2017-09-12 20:42:36 +00:00
</constant>
2017-11-24 22:16:30 +00:00
<constant name= "LINE_JOINT_ROUND" value= "2" enum= "LineJointMode" >
2017-10-01 22:12:14 +00:00
The line's joints will be rounded.
2017-09-12 20:42:36 +00:00
</constant>
2017-11-24 22:16:30 +00:00
<constant name= "LINE_CAP_NONE" value= "0" enum= "LineCapMode" >
2019-06-21 23:04:47 +00:00
Don't draw a line cap.
2017-09-12 20:42:36 +00:00
</constant>
2017-11-24 22:16:30 +00:00
<constant name= "LINE_CAP_BOX" value= "1" enum= "LineCapMode" >
2017-10-01 22:12:14 +00:00
Draws the line cap as a box.
2017-09-12 20:42:36 +00:00
</constant>
2017-11-24 22:16:30 +00:00
<constant name= "LINE_CAP_ROUND" value= "2" enum= "LineCapMode" >
2017-10-01 22:12:14 +00:00
Draws the line cap as a circle.
2017-09-12 20:42:36 +00:00
</constant>
2017-11-24 22:16:30 +00:00
<constant name= "LINE_TEXTURE_NONE" value= "0" enum= "LineTextureMode" >
2017-10-01 22:12:14 +00:00
Takes the left pixels of the texture and renders it over the whole line.
2017-09-12 20:42:36 +00:00
</constant>
2017-11-24 22:16:30 +00:00
<constant name= "LINE_TEXTURE_TILE" value= "1" enum= "LineTextureMode" >
2022-02-15 23:49:32 +00:00
Tiles the texture over the line. [member CanvasItem.texture_repeat] of the [Line2D] node must be [constant CanvasItem.TEXTURE_REPEAT_ENABLED] or [constant CanvasItem.TEXTURE_REPEAT_MIRROR] for it to work properly.
2017-09-12 20:42:36 +00:00
</constant>
2018-07-16 12:31:19 +00:00
<constant name= "LINE_TEXTURE_STRETCH" value= "2" enum= "LineTextureMode" >
2022-02-15 23:49:32 +00:00
Stretches the texture across the line. [member CanvasItem.texture_repeat] of the [Line2D] node must be [constant CanvasItem.TEXTURE_REPEAT_DISABLED] for best results.
2018-07-16 12:31:19 +00:00
</constant>
2017-09-12 20:42:36 +00:00
</constants>
</class>