Merge pull request #119756 from stuartcarnie/fix_macos_warp_mouse
macOS: Fix mouse warp for embedded game window
This commit is contained in:
@@ -285,7 +285,7 @@ void DisplayServerMacOSEmbedded::warp_mouse(const Point2i &p_position) {
|
||||
Input::get_singleton()->set_mouse_position(p_position);
|
||||
// Convert from game pixels to points for the editor.
|
||||
float inv_scale = 1.0f / screen_get_max_scale();
|
||||
EngineDebugger::get_singleton()->send_message("game_view:warp_mouse", { Point2i(inv_scale * p_position) });
|
||||
EngineDebugger::get_singleton()->send_message("game_view:warp_mouse", { Point2i(Vector2(p_position) * inv_scale) });
|
||||
}
|
||||
|
||||
Point2i DisplayServerMacOSEmbedded::mouse_get_position() const {
|
||||
|
||||
@@ -126,7 +126,7 @@ bool GameViewDebuggerMacOS::_msg_warp_mouse(const Array &p_args) {
|
||||
// Position arrives in points; convert to editor pixels.
|
||||
Vector2i pos = p_args[0];
|
||||
float scale = DisplayServer::get_singleton()->screen_get_max_scale();
|
||||
embedded_process->get_layer_host()->warp_mouse(Vector2i(scale * pos));
|
||||
embedded_process->get_layer_host()->warp_mouse(Vector2i(Vector2(pos) * scale));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user