diff options
-rw-r--r-- | doc/classes/Line2D.xml | 7 | ||||
-rw-r--r-- | scene/2d/line_2d.cpp | 10 | ||||
-rw-r--r-- | scene/2d/line_2d.h | 2 |
3 files changed, 19 insertions, 0 deletions
diff --git a/doc/classes/Line2D.xml b/doc/classes/Line2D.xml index 66d54b7d9e..7efaf2b55f 100644 --- a/doc/classes/Line2D.xml +++ b/doc/classes/Line2D.xml @@ -20,6 +20,13 @@ Add a point at the [code]position[/code]. Appends the point at the end of the line. </description> </method> + <method name="clear_points"> + <return type="void"> + </return> + <description> + Removes all points from the line. + </description> + </method> <method name="get_point_count" qualifiers="const"> <return type="int"> </return> diff --git a/scene/2d/line_2d.cpp b/scene/2d/line_2d.cpp index 105eb82afb..73692e0535 100644 --- a/scene/2d/line_2d.cpp +++ b/scene/2d/line_2d.cpp @@ -112,6 +112,14 @@ int Line2D::get_point_count() const { return _points.size(); } +void Line2D::clear_points() { + int count = _points.size(); + if (count > 0) { + _points.resize(0); + update(); + } +} + void Line2D::add_point(Vector2 pos) { _points.append(pos); update(); @@ -313,6 +321,8 @@ void Line2D::_bind_methods() { ClassDB::bind_method(D_METHOD("add_point", "position"), &Line2D::add_point); ClassDB::bind_method(D_METHOD("remove_point", "i"), &Line2D::remove_point); + ClassDB::bind_method(D_METHOD("clear_points"), &Line2D::clear_points); + ClassDB::bind_method(D_METHOD("set_width", "width"), &Line2D::set_width); ClassDB::bind_method(D_METHOD("get_width"), &Line2D::get_width); diff --git a/scene/2d/line_2d.h b/scene/2d/line_2d.h index 5bbd38e460..32befab2d3 100644 --- a/scene/2d/line_2d.h +++ b/scene/2d/line_2d.h @@ -70,6 +70,8 @@ public: int get_point_count() const; + void clear_points(); + void add_point(Vector2 pos); void remove_point(int i); |