aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Linietsky2016-02-27 09:47:39 -0300
committerRémi Verschelde2016-02-29 09:00:14 +0100
commitaa94ff6daecc97c821a4f13e31957985deeffcd3 (patch)
tree441d468c0566501972cc25e46d525c06da383d35
parentee5c250b632c9067c6be6d121b50d62e83e0d3b0 (diff)
downloadgodot-aa94ff6daecc97c821a4f13e31957985deeffcd3.tar.gz
godot-aa94ff6daecc97c821a4f13e31957985deeffcd3.tar.zst
godot-aa94ff6daecc97c821a4f13e31957985deeffcd3.zip
fix transform localization event in mouse motion
(cherry picked from commit 08e0e64a192940468b0f74b594fbaff32b39dfd6)
-rw-r--r--scene/main/viewport.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp
index 104806d89..550bae630 100644
--- a/scene/main/viewport.cpp
+++ b/scene/main/viewport.cpp
@@ -1803,6 +1803,7 @@ void Viewport::_gui_input_event(InputEvent p_event) {
}
+
if (gui.drag_data.get_type()==Variant::NIL && over && !gui.modal_stack.empty()) {
Control *top = gui.modal_stack.back()->get();
@@ -1836,7 +1837,7 @@ void Viewport::_gui_input_event(InputEvent p_event) {
}
- Matrix32 localizer = over->get_canvas_transform().affine_inverse();
+ Matrix32 localizer = over->get_global_transform_with_canvas().affine_inverse();
Size2 pos = localizer.xform(mpos);
Vector2 speed = localizer.basis_xform(Point2(p_event.mouse_motion.speed_x,p_event.mouse_motion.speed_y));
Vector2 rel = localizer.basis_xform(Point2(p_event.mouse_motion.relative_x,p_event.mouse_motion.relative_y));
@@ -1871,7 +1872,7 @@ void Viewport::_gui_input_event(InputEvent p_event) {
}
- pos = gui.focus_inv_xform.xform(pos);
+ //pos = gui.focus_inv_xform.xform(pos);
p_event.mouse_motion.x = pos.x;