Added method to clear all points in Line2D

This commit is contained in:
Chaosus 2019-03-19 19:59:24 +03:00
parent df7d3708c5
commit 61b22beeae
3 changed files with 19 additions and 0 deletions

View File

@ -20,6 +20,13 @@
Add a point at the [code]position[/code]. Appends the point at the end of the line. Add a point at the [code]position[/code]. Appends the point at the end of the line.
</description> </description>
</method> </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"> <method name="get_point_count" qualifiers="const">
<return type="int"> <return type="int">
</return> </return>

View File

@ -112,6 +112,14 @@ int Line2D::get_point_count() const {
return _points.size(); return _points.size();
} }
void Line2D::clear_points() {
int count = _points.size();
if (count > 0) {
_points.resize(0);
update();
}
}
void Line2D::add_point(Vector2 pos) { void Line2D::add_point(Vector2 pos) {
_points.append(pos); _points.append(pos);
update(); 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("add_point", "position"), &Line2D::add_point);
ClassDB::bind_method(D_METHOD("remove_point", "i"), &Line2D::remove_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("set_width", "width"), &Line2D::set_width);
ClassDB::bind_method(D_METHOD("get_width"), &Line2D::get_width); ClassDB::bind_method(D_METHOD("get_width"), &Line2D::get_width);

View File

@ -70,6 +70,8 @@ public:
int get_point_count() const; int get_point_count() const;
void clear_points();
void add_point(Vector2 pos); void add_point(Vector2 pos);
void remove_point(int i); void remove_point(int i);