summaryrefslogtreecommitdiffstats
path: root/src/input_common/mouse/mouse_input.h
diff options
context:
space:
mode:
authorgerman77 <juangerman-13@hotmail.com>2021-09-21 00:19:55 +0200
committerNarr the Reg <juangerman-13@hotmail.com>2021-11-25 03:30:22 +0100
commit00834b84dd954f6aea2354e07de2054a99f53fa4 (patch)
treea6eede83ae8253759d860ef08f9bce9bebd8dd29 /src/input_common/mouse/mouse_input.h
parentinput_common: Rewrite keyboard (diff)
downloadyuzu-00834b84dd954f6aea2354e07de2054a99f53fa4.tar
yuzu-00834b84dd954f6aea2354e07de2054a99f53fa4.tar.gz
yuzu-00834b84dd954f6aea2354e07de2054a99f53fa4.tar.bz2
yuzu-00834b84dd954f6aea2354e07de2054a99f53fa4.tar.lz
yuzu-00834b84dd954f6aea2354e07de2054a99f53fa4.tar.xz
yuzu-00834b84dd954f6aea2354e07de2054a99f53fa4.tar.zst
yuzu-00834b84dd954f6aea2354e07de2054a99f53fa4.zip
Diffstat (limited to 'src/input_common/mouse/mouse_input.h')
-rw-r--r--src/input_common/mouse/mouse_input.h116
1 files changed, 0 insertions, 116 deletions
diff --git a/src/input_common/mouse/mouse_input.h b/src/input_common/mouse/mouse_input.h
deleted file mode 100644
index c8bae99c1..000000000
--- a/src/input_common/mouse/mouse_input.h
+++ /dev/null
@@ -1,116 +0,0 @@
-// Copyright 2020 yuzu Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#pragma once
-
-#include <array>
-#include <mutex>
-#include <stop_token>
-#include <thread>
-
-#include "common/common_types.h"
-#include "common/threadsafe_queue.h"
-#include "common/vector_math.h"
-#include "core/frontend/input.h"
-#include "input_common/motion_input.h"
-
-namespace MouseInput {
-
-enum class MouseButton {
- Left,
- Right,
- Wheel,
- Backward,
- Forward,
- Task,
- Extra,
- Undefined,
-};
-
-struct MouseStatus {
- MouseButton button{MouseButton::Undefined};
-};
-
-struct MouseData {
- bool pressed{};
- std::array<int, 2> axis{};
- Input::MotionStatus motion{};
- Input::TouchStatus touch{};
-};
-
-class Mouse {
-public:
- Mouse();
- ~Mouse();
-
- /// Used for polling
- void BeginConfiguration();
- void EndConfiguration();
-
- /**
- * Signals that a button is pressed.
- * @param x the x-coordinate of the cursor
- * @param y the y-coordinate of the cursor
- * @param button_ the button pressed
- */
- void PressButton(int x, int y, MouseButton button_);
-
- /**
- * Signals that mouse has moved.
- * @param x the x-coordinate of the cursor
- * @param y the y-coordinate of the cursor
- * @param center_x the x-coordinate of the middle of the screen
- * @param center_y the y-coordinate of the middle of the screen
- */
- void MouseMove(int x, int y, int center_x, int center_y);
-
- /**
- * Signals that a button is released.
- * @param button_ the button pressed
- */
- void ReleaseButton(MouseButton button_);
-
- /**
- * Signals that all buttons are released
- */
- void ReleaseAllButtons();
-
- [[nodiscard]] bool ToggleButton(std::size_t button_);
- [[nodiscard]] bool UnlockButton(std::size_t button_);
-
- [[nodiscard]] Common::SPSCQueue<MouseStatus>& GetMouseQueue();
- [[nodiscard]] const Common::SPSCQueue<MouseStatus>& GetMouseQueue() const;
-
- [[nodiscard]] MouseData& GetMouseState(std::size_t button);
- [[nodiscard]] const MouseData& GetMouseState(std::size_t button) const;
-
-private:
- void UpdateThread(std::stop_token stop_token);
- void UpdateYuzuSettings();
- void StopPanning();
-
- struct MouseInfo {
- InputCommon::MotionInput motion{0.0f, 0.0f, 0.0f};
- Common::Vec2<int> mouse_origin;
- Common::Vec2<int> last_mouse_position;
- Common::Vec2<float> last_mouse_change;
- bool is_tilting = false;
- float sensitivity{0.120f};
-
- float tilt_speed = 0;
- Common::Vec2<float> tilt_direction;
- MouseData data;
- };
-
- u16 buttons{};
- u16 toggle_buttons{};
- u16 lock_buttons{};
- std::jthread update_thread;
- MouseButton last_button{MouseButton::Undefined};
- std::array<MouseInfo, 7> mouse_info;
- Common::SPSCQueue<MouseStatus> mouse_queue;
- bool configuring{false};
- int mouse_panning_timout{};
-};
-} // namespace MouseInput