Add IInputSystem and IInputInternal interfaces.

Signed-off-by: aixxe <me@aixxe.net>
This commit is contained in:
aixxe
2016-12-19 17:55:09 +00:00
parent 5d3e60ddd3
commit f8b4871d7e
3 changed files with 157 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
#pragma once
typedef ButtonCode_t KeyCode;
typedef ButtonCode_t MouseCode;
enum MouseCodeState_t {
BUTTON_RELEASED = 0,
BUTTON_PRESSED,
BUTTON_DOUBLECLICKED
};
class IInputInternal {
public:
void SetKeyCodeState(KeyCode code, bool pressed) {
GetVirtualFunction<void(*)(IInputInternal*, KeyCode, bool)>(this, 83)(this, code, pressed);
}
void SetMouseCodeState(MouseCode code, MouseCodeState_t state) {
GetVirtualFunction<void(*)(IInputInternal*, MouseCode, MouseCodeState_t)>(this, 84)(this, code, state);
}
};