|
@@ -1344,6 +1344,13 @@ Ref<InputEvent> Viewport::_make_input_local(const Ref<InputEvent> &ev) {
|
|
|
}
|
|
|
|
|
|
Transform2D ai = get_final_transform().affine_inverse();
|
|
|
+ Ref<InputEventMouse> me = ev;
|
|
|
+ if (me.is_valid()) {
|
|
|
+ me = me->xformed_by(ai);
|
|
|
+ // For InputEventMouse, the global position is not adjusted by ev->xformed_by() and needs to be set separately.
|
|
|
+ me->set_global_position(me->get_position());
|
|
|
+ return me;
|
|
|
+ }
|
|
|
return ev->xformed_by(ai);
|
|
|
}
|
|
|
|