summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2020-06-16 15:15:51 +0200
committerGitHub <noreply@github.com>2020-06-16 15:15:51 +0200
commit78d09a41639ec2c2f1e44541bd696058795a61c5 (patch)
treefe58858260af89d31bd595261f17884f077c1de2
parentbc5ba1c266050aa4aa746cfc3ede4634e692a5dc (diff)
parent430d1fd79544906e9b55092441f2f446948cbf2e (diff)
Merge pull request #37903 from Xrayez/shape-2d-draw-bind
Bind Shape2D draw method
-rw-r--r--doc/classes/Shape2D.xml11
-rw-r--r--scene/resources/shape_2d.cpp1
2 files changed, 12 insertions, 0 deletions
diff --git a/doc/classes/Shape2D.xml b/doc/classes/Shape2D.xml
index 9e913cb44d..5f41d05816 100644
--- a/doc/classes/Shape2D.xml
+++ b/doc/classes/Shape2D.xml
@@ -74,6 +74,17 @@
This method needs the transformation matrix for this shape ([code]local_xform[/code]), the movement to test on this shape ([code]local_motion[/code]), the shape to check collisions with ([code]with_shape[/code]), the transformation matrix of that shape ([code]shape_xform[/code]), and the movement to test onto the other object ([code]shape_motion[/code]).
</description>
</method>
+ <method name="draw">
+ <return type="void">
+ </return>
+ <argument index="0" name="canvas_item" type="RID">
+ </argument>
+ <argument index="1" name="color" type="Color">
+ </argument>
+ <description>
+ Draws a solid shape onto a [CanvasItem] with the [RenderingServer] API filled with the specified [code]color[/code]. The exact drawing method is specific for each shape and cannot be configured.
+ </description>
+ </method>
</methods>
<members>
<member name="custom_solver_bias" type="float" setter="set_custom_solver_bias" getter="get_custom_solver_bias" default="0.0">
diff --git a/scene/resources/shape_2d.cpp b/scene/resources/shape_2d.cpp
index 99e8020e34..94cecc76eb 100644
--- a/scene/resources/shape_2d.cpp
+++ b/scene/resources/shape_2d.cpp
@@ -100,6 +100,7 @@ void Shape2D::_bind_methods() {
ClassDB::bind_method(D_METHOD("collide_with_motion", "local_xform", "local_motion", "with_shape", "shape_xform", "shape_motion"), &Shape2D::collide_with_motion);
ClassDB::bind_method(D_METHOD("collide_and_get_contacts", "local_xform", "with_shape", "shape_xform"), &Shape2D::collide_and_get_contacts);
ClassDB::bind_method(D_METHOD("collide_with_motion_and_get_contacts", "local_xform", "local_motion", "with_shape", "shape_xform", "shape_motion"), &Shape2D::collide_with_motion_and_get_contacts);
+ ClassDB::bind_method(D_METHOD("draw", "canvas_item", "color"), &Shape2D::draw);
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "custom_solver_bias", PROPERTY_HINT_RANGE, "0,1,0.001"), "set_custom_solver_bias", "get_custom_solver_bias");
}