2024-04-16 19:27:05 -03:00
|
|
|
#ifndef XNA_INPUT_MOUSE_HPP
|
|
|
|
#define XNA_INPUT_MOUSE_HPP
|
|
|
|
|
|
|
|
#include "../default.hpp"
|
|
|
|
|
|
|
|
namespace xna {
|
2024-05-21 20:43:37 -03:00
|
|
|
struct MouseState {
|
2024-04-17 09:48:48 -03:00
|
|
|
ButtonState LeftButton{ ButtonState::Released };
|
|
|
|
ButtonState RightButton{ ButtonState::Released };
|
|
|
|
ButtonState MiddleButton{ ButtonState::Released };
|
|
|
|
ButtonState XButton1{ ButtonState::Released };
|
|
|
|
ButtonState XButton2{ ButtonState::Released };
|
2024-04-16 19:27:05 -03:00
|
|
|
int X{ 0 };
|
|
|
|
int Y{ 0 };
|
|
|
|
int ScroolWheelValue{ 0 };
|
|
|
|
};
|
|
|
|
|
2024-05-21 20:43:37 -03:00
|
|
|
class Mouse {
|
2024-04-16 19:27:05 -03:00
|
|
|
public:
|
|
|
|
static MouseState GetState();
|
|
|
|
static bool IsConnected();
|
|
|
|
static bool IsVisible();
|
|
|
|
static void IsVisible(bool value);
|
2024-05-21 20:43:37 -03:00
|
|
|
static void ResetScrollWheel();
|
|
|
|
|
|
|
|
static void Initialize();
|
|
|
|
|
|
|
|
public:
|
|
|
|
struct PlatformImplementation;
|
|
|
|
inline static uptr<PlatformImplementation> impl = nullptr;
|
2024-04-16 19:27:05 -03:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|