diff options
author | 2015-02-14 12:53:08 +0100 | |
---|---|---|
committer | 2015-02-14 12:53:08 +0100 | |
commit | 8afe66fc634116a654becad7d9f7f53ab199da41 (patch) | |
tree | 8c3b7889cba36cbcd2b9d6d8d6b3df87dd495cb2 /3rdparty/bgfx/examples/common/entry/input.cpp | |
parent | 20b68364f7fa3bf692e50504fecf9bc5825eada3 (diff) |
Updated BGFX, BX and GENie to latest (nw)
Diffstat (limited to '3rdparty/bgfx/examples/common/entry/input.cpp')
-rw-r--r-- | 3rdparty/bgfx/examples/common/entry/input.cpp | 61 |
1 files changed, 36 insertions, 25 deletions
diff --git a/3rdparty/bgfx/examples/common/entry/input.cpp b/3rdparty/bgfx/examples/common/entry/input.cpp index 851f22643e0..871bc96ea1d 100644 --- a/3rdparty/bgfx/examples/common/entry/input.cpp +++ b/3rdparty/bgfx/examples/common/entry/input.cpp @@ -8,6 +8,7 @@ #include "entry_p.h" #include "input.h" +#include <bx/allocator.h> #include <bx/ringbuffer.h> #include <tinystl/allocator.h> #include <tinystl/unordered_map.h> @@ -249,95 +250,105 @@ struct Input Gamepad m_gamepad[ENTRY_CONFIG_MAX_GAMEPADS]; }; -static Input s_input; +static Input* s_input; + +void inputInit() +{ + s_input = BX_NEW(entry::getAllocator(), Input); +} + +void inputShutdown() +{ + BX_DELETE(entry::getAllocator(), s_input); +} void inputAddBindings(const char* _name, const InputBinding* _bindings) { - s_input.addBindings(_name, _bindings); + s_input->addBindings(_name, _bindings); } void inputRemoveBindings(const char* _name) { - s_input.removeBindings(_name); + s_input->removeBindings(_name); } void inputProcess() { - s_input.process(); + s_input->process(); } void inputSetMouseResolution(uint16_t _width, uint16_t _height) { - s_input.m_mouse.setResolution(_width, _height); + s_input->m_mouse.setResolution(_width, _height); } void inputSetKeyState(entry::Key::Enum _key, uint8_t _modifiers, bool _down) { - s_input.m_keyboard.setKeyState(_key, _modifiers, _down); + s_input->m_keyboard.setKeyState(_key, _modifiers, _down); } void inputChar(uint8_t _len, const uint8_t _char[4]) { - s_input.m_keyboard.pushChar(_len, _char); + s_input->m_keyboard.pushChar(_len, _char); } const uint8_t* inputGetChar() { - return s_input.m_keyboard.popChar(); + return s_input->m_keyboard.popChar(); } void inputCharFlush() { - s_input.m_keyboard.charFlush(); + s_input->m_keyboard.charFlush(); } void inputSetMousePos(int32_t _mx, int32_t _my, int32_t _mz) { - s_input.m_mouse.setPos(_mx, _my, _mz); + s_input->m_mouse.setPos(_mx, _my, _mz); } void inputSetMouseButtonState(entry::MouseButton::Enum _button, uint8_t _state) { - s_input.m_mouse.setButtonState(_button, _state); + s_input->m_mouse.setButtonState(_button, _state); } void inputGetMouse(float _mouse[3]) { - _mouse[0] = s_input.m_mouse.m_norm[0]; - _mouse[1] = s_input.m_mouse.m_norm[1]; - _mouse[2] = s_input.m_mouse.m_norm[2]; - s_input.m_mouse.m_norm[0] = 0.0f; - s_input.m_mouse.m_norm[1] = 0.0f; - s_input.m_mouse.m_norm[2] = 0.0f; + _mouse[0] = s_input->m_mouse.m_norm[0]; + _mouse[1] = s_input->m_mouse.m_norm[1]; + _mouse[2] = s_input->m_mouse.m_norm[2]; + s_input->m_mouse.m_norm[0] = 0.0f; + s_input->m_mouse.m_norm[1] = 0.0f; + s_input->m_mouse.m_norm[2] = 0.0f; } bool inputIsMouseLocked() { - return s_input.m_mouse.m_lock; + return s_input->m_mouse.m_lock; } void inputSetMouseLock(bool _lock) { - if (s_input.m_mouse.m_lock != _lock) + if (s_input->m_mouse.m_lock != _lock) { - s_input.m_mouse.m_lock = _lock; + s_input->m_mouse.m_lock = _lock; entry::WindowHandle defaultWindow = { 0 }; entry::setMouseLock(defaultWindow, _lock); if (_lock) { - s_input.m_mouse.m_norm[0] = 0.0f; - s_input.m_mouse.m_norm[1] = 0.0f; - s_input.m_mouse.m_norm[2] = 0.0f; + s_input->m_mouse.m_norm[0] = 0.0f; + s_input->m_mouse.m_norm[1] = 0.0f; + s_input->m_mouse.m_norm[2] = 0.0f; } } } void inputSetGamepadAxis(entry::GamepadHandle _handle, entry::GamepadAxis::Enum _axis, int32_t _value) { - s_input.m_gamepad[_handle.idx].setAxis(_axis, _value); + s_input->m_gamepad[_handle.idx].setAxis(_axis, _value); } int32_t inputGetGamepadAxis(entry::GamepadHandle _handle, entry::GamepadAxis::Enum _axis) { - return s_input.m_gamepad[_handle.idx].getAxis(_axis); + return s_input->m_gamepad[_handle.idx].getAxis(_axis); } |