1
0
mirror of https://github.com/borgesdan/xn65 synced 2024-12-29 21:54:47 +01:00
xn65/framework/platform/keyboard-dx.cpp

27 lines
660 B
C++
Raw Normal View History

2024-05-21 17:24:43 -03:00
#include "input/keyboard.hpp"
#include "platform-dx/implementations.hpp"
2024-04-24 11:44:41 -03:00
namespace xna {
2024-05-21 17:24:43 -03:00
KeyboardState Keyboard::GetState() {
2024-05-21 20:43:37 -03:00
if (!impl || !impl->_dxKeyboard)
2024-05-21 17:24:43 -03:00
return KeyboardState();
2024-04-24 11:44:41 -03:00
2024-05-21 17:24:43 -03:00
const auto state = Keyboard::impl->_dxKeyboard->GetState();
auto ptr = reinterpret_cast<const uint32_t*>(&state);
const auto xnaState = reinterpret_cast<const KeyboardState*>(ptr);
return *xnaState;
}
void Keyboard::Initialize() {
impl = uNew<PlatformImplementation>();
impl->_dxKeyboard = uNew<DirectX::Keyboard>();
}
2024-05-21 20:43:37 -03:00
bool Keyboard::IsConnected() {
if (!impl || !impl->_dxKeyboard)
return false;
return impl->_dxKeyboard->IsConnected();
}
2024-04-24 11:44:41 -03:00
}