From a8ef6e69fe5701e2bebd471621a39b9e90488f75 Mon Sep 17 00:00:00 2001 From: Ari Vuollet Date: Mon, 13 Jun 2022 22:20:45 +0300 Subject: [PATCH] RawInput: Vector2 to Float2 refactor --- Source/Engine/Input/Input.cpp | 5 ++--- Source/Engine/Platform/Windows/WindowsInput.cpp | 12 ++++++------ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Source/Engine/Input/Input.cpp b/Source/Engine/Input/Input.cpp index 5c24f2c49..8840fb9bf 100644 --- a/Source/Engine/Input/Input.cpp +++ b/Source/Engine/Input/Input.cpp @@ -5,7 +5,6 @@ #include "Keyboard.h" #include "Mouse.h" #include "Gamepad.h" -#include "FlaxEngine.Gen.h" #include "Engine/Platform/Window.h" #include "Engine/Engine/Engine.h" #include "Engine/Engine/EngineService.h" @@ -223,7 +222,7 @@ void Mouse::OnMouseMove(const Float2& position, Window* target) e.MouseData.Position = position; } -void Mouse::OnMouseMoveDelta(const Vector2& delta, Window* target) +void Mouse::OnMouseMoveDelta(const Float2& delta, Window* target) { Event& e = _queue.AddOne(); e.Type = EventType::MouseMoveDelta; @@ -267,7 +266,7 @@ bool Mouse::Update(EventQueue& queue) // Handle events _state.MouseWheelDelta = 0; - _state.MouseDelta = Vector2::Zero; + _state.MouseDelta = Float2::Zero; for (int32 i = 0; i < _queue.Count(); i++) { const Event& e = _queue[i]; diff --git a/Source/Engine/Platform/Windows/WindowsInput.cpp b/Source/Engine/Platform/Windows/WindowsInput.cpp index 53ff02675..22a93e385 100644 --- a/Source/Engine/Platform/Windows/WindowsInput.cpp +++ b/Source/Engine/Platform/Windows/WindowsInput.cpp @@ -180,7 +180,7 @@ bool WindowsInput::WndProc(Window* window, Windows::UINT msg, Windows::WPARAM wP return false; } -bool OnRawInput(Vector2 mousePosition, Window* window, HRAWINPUT input) +bool OnRawInput(Float2 mousePosition, Window* window, HRAWINPUT input) { // TODO: use GetRawInputBuffer to avoid filling the message queue with high polling rate mice @@ -220,13 +220,13 @@ bool OnRawInput(Vector2 mousePosition, Window* window, HRAWINPUT input) if (rawInput->header.dwType == RIM_TYPEMOUSE) { const RAWMOUSE rawMouse = rawInput->data.mouse; - Vector2 mousePos; + Float2 mousePos; if ((rawMouse.usFlags & MOUSE_MOVE_ABSOLUTE) != 0) { const bool virtualDesktop = (rawMouse.usFlags & MOUSE_VIRTUAL_DESKTOP) != 0; const int width = GetSystemMetrics(virtualDesktop ? SM_CXVIRTUALSCREEN : SM_CXSCREEN); const int height = GetSystemMetrics(virtualDesktop ? SM_CYVIRTUALSCREEN : SM_CYSCREEN); - mousePos = Vector2(Int2( + mousePos = Float2(Int2( static_cast((rawMouse.lLastX / 65535.0f) * width), static_cast((rawMouse.lLastY / 65535.0f) * height))); @@ -238,7 +238,7 @@ bool OnRawInput(Vector2 mousePosition, Window* window, HRAWINPUT input) // delta movement accumulated during this frame. mousePos = mousePosition; - const Vector2 mouseDelta(Int2(rawMouse.lLastX, rawMouse.lLastY)); + const Float2 mouseDelta(Int2(rawMouse.lLastX, rawMouse.lLastY)); mousePos += mouseDelta; if (!mouseDelta.IsZero()) @@ -356,14 +356,14 @@ bool WindowsMouse::WndProc(Window* window, const UINT msg, WPARAM wParam, LPARAM if (!WindowsRawInputImpl::UseRawInput) { // Calculate mouse deltas since last message - static Vector2 lastPos = mousePos; + static Float2 lastPos = mousePos; if (_state.MouseWasReset) { lastPos = _state.MousePosition; _state.MouseWasReset = false; } - Vector2 deltaPos = mousePos - lastPos; + Float2 deltaPos = mousePos - lastPos; if (!deltaPos.IsZero()) OnMouseMoveDelta(deltaPos, window); lastPos = mousePos;