47 lines
707 B
C++
47 lines
707 B
C++
|
|
#ifndef SPECTRE_INPUT_MODULE_H
|
|
#define SPECTRE_INPUT_MODULE_H
|
|
|
|
#include <deque>
|
|
#include <vector>
|
|
|
|
namespace sp {
|
|
|
|
class Mouse;
|
|
class Keyboard;
|
|
class InputDevice;
|
|
class PlatformInput;
|
|
|
|
class InputModule
|
|
{
|
|
public :
|
|
InputModule(PlatformInput *platform);
|
|
|
|
virtual ~InputModule();
|
|
|
|
Mouse* getMouse();
|
|
|
|
Keyboard* getKeyboard();
|
|
|
|
void addInputDevice(InputDevice *device);
|
|
|
|
// NOTE: Update devices here! (for winapi, process keyboard/mouse messages)
|
|
void update();
|
|
|
|
protected :
|
|
|
|
void dispatch();
|
|
|
|
typedef std::vector<InputDevice*> InputDeviceVec;
|
|
InputDeviceVec m_devices;
|
|
|
|
Mouse *m_mouse;
|
|
|
|
Keyboard *m_keyboard;
|
|
|
|
PlatformInput *m_platform;
|
|
};
|
|
|
|
} // namespace sp
|
|
|
|
#endif /* SPECTRE_INPUT_MODULE_H */
|