summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-09-06 22:38:37 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-09-06 22:38:37 +0200
commita6db33ef8956b6dcbcf48e99cd3f6d0c816741ff (patch)
treeafd10e640e0b597effd944e3a80ff552f9756b77
parent6815c478690e51903cd3426988133a345adb1417 (diff)
parente589c5baf36a229df365ce8ba59a857d40f28649 (diff)
downloadredot-engine-a6db33ef8956b6dcbcf48e99cd3f6d0c816741ff.tar.gz
Merge pull request #96614 from graydoubt/feat/cancel_drag
Expose `Viewport.gui_cancel_drag()` to GDScript as a counterpart to `Control.force_drag()`
-rw-r--r--doc/classes/Viewport.xml6
-rw-r--r--scene/main/viewport.cpp1
2 files changed, 7 insertions, 0 deletions
diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml
index b24f26a764..350fd65197 100644
--- a/doc/classes/Viewport.xml
+++ b/doc/classes/Viewport.xml
@@ -117,6 +117,12 @@
Returns the visible rectangle in global screen coordinates.
</description>
</method>
+ <method name="gui_cancel_drag">
+ <return type="void" />
+ <description>
+ Cancels the drag operation that was previously started through [method Control._get_drag_data] or forced with [method Control.force_drag].
+ </description>
+ </method>
<method name="gui_get_drag_data" qualifiers="const">
<return type="Variant" />
<description>
diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp
index d4d60545bd..de2332125f 100644
--- a/scene/main/viewport.cpp
+++ b/scene/main/viewport.cpp
@@ -4695,6 +4695,7 @@ void Viewport::_bind_methods() {
ClassDB::bind_method(D_METHOD("warp_mouse", "position"), &Viewport::warp_mouse);
ClassDB::bind_method(D_METHOD("update_mouse_cursor_state"), &Viewport::update_mouse_cursor_state);
+ ClassDB::bind_method(D_METHOD("gui_cancel_drag"), &Viewport::gui_cancel_drag);
ClassDB::bind_method(D_METHOD("gui_get_drag_data"), &Viewport::gui_get_drag_data);
ClassDB::bind_method(D_METHOD("gui_is_dragging"), &Viewport::gui_is_dragging);
ClassDB::bind_method(D_METHOD("gui_is_drag_successful"), &Viewport::gui_is_drag_successful);