#include "input/mouse.hpp" #include "platform-dx/implementations.hpp" namespace xna { MouseState Mouse::GetState() { if (!impl || !impl->_dxMouse) return MouseState(); const auto state = impl->_dxMouse->GetState(); MouseState mstate; mstate.LeftButton = static_cast(state.leftButton); mstate.RightButton = static_cast(state.rightButton); mstate.MiddleButton = static_cast(state.middleButton); mstate.XButton1 = static_cast(state.xButton1); mstate.XButton2 = static_cast(state.xButton2); mstate.X = state.x; mstate.Y = state.y; mstate.ScroolWheelValue = state.scrollWheelValue; return mstate; } bool Mouse::IsConnected() { if (!impl || !impl->_dxMouse) return false; return impl->_dxMouse->IsConnected(); } bool Mouse::IsVisible() { if (!impl || !impl->_dxMouse) return false; return impl->_dxMouse->IsVisible(); } void Mouse::IsVisible(bool value) { if (!impl || !impl->_dxMouse) return; impl->_dxMouse->SetVisible(value); } void Mouse::ResetScrollWheel() { if (!impl || !impl->_dxMouse) return; impl->_dxMouse->ResetScrollWheelValue(); } void Mouse::Initialize() { impl = uNew(); impl->_dxMouse = uNew(); } }