#ifndef SPECTRE_INPUT_MODULE_H #define SPECTRE_INPUT_MODULE_H #include #include 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 InputDeviceVec; InputDeviceVec m_devices; Mouse *m_mouse; Keyboard *m_keyboard; PlatformInput *m_platform; }; } // namespace sp #endif /* SPECTRE_INPUT_MODULE_H */