mirror of
https://github.com/borgesdan/xn65
synced 2024-12-29 21:54:47 +01:00
43 lines
1.0 KiB
C++
43 lines
1.0 KiB
C++
#ifndef XNA_INPUT_MOUSE_HPP
|
|
#define XNA_INPUT_MOUSE_HPP
|
|
|
|
#include "../default.hpp"
|
|
|
|
namespace xna {
|
|
struct MouseState {
|
|
ButtonState LeftButton{ ButtonState::Released };
|
|
ButtonState RightButton{ ButtonState::Released };
|
|
ButtonState MiddleButton{ ButtonState::Released };
|
|
ButtonState XButton1{ ButtonState::Released };
|
|
ButtonState XButton2{ ButtonState::Released };
|
|
int X{ 0 };
|
|
int Y{ 0 };
|
|
int ScroolWheelValue{ 0 };
|
|
};
|
|
|
|
//Allows retrieval of position and button clicks from a mouse input device.
|
|
class Mouse {
|
|
public:
|
|
//Gets the current state of the mouse, including mouse position and buttons pressed.
|
|
static MouseState GetState();
|
|
|
|
static bool IsConnected();
|
|
static bool IsVisible();
|
|
static void IsVisible(bool value);
|
|
static void ResetScrollWheel();
|
|
|
|
Mouse() = delete;
|
|
Mouse(Mouse&) = delete;
|
|
Mouse(Mouse&&) = delete;
|
|
|
|
private:
|
|
friend class Game;
|
|
static void Initialize();
|
|
|
|
public:
|
|
struct PlatformImplementation;
|
|
inline static uptr<PlatformImplementation> impl = nullptr;
|
|
};
|
|
}
|
|
|
|
#endif |