#include "IKeyInputHandler.hpp" #include "IInputManager.hpp" TSE::IKeyInputHandler::~IKeyInputHandler() { if(enabled()) Disable(); } bool TSE::IKeyInputHandler::enabled() const { return Enabled; } void TSE::IKeyInputHandler::Enable() { if(!enabled()) { IInputManager::instance()->RegisterKeyHandler(this); Enabled = true; } } void TSE::IKeyInputHandler::Disable() { if(enabled()) { IInputManager::instance()->UnregisterKeyHandler(this); Enabled = false; } } void TSE::IKeyInputHandler::onKeyDown(IKeyInputHandler *handler, const Key &key, const Modifier &mods) { handler->OnKeyDown(key, mods); } void TSE::IKeyInputHandler::onKeyUp(IKeyInputHandler *handler, const Key &key, const Modifier &mods) { handler->OnKeyUp(key, mods); } void TSE::IKeyInputHandler::onKeyHold(IKeyInputHandler *handler, const Key &key, const Modifier &mods) { handler->OnKeyHold(key, mods); } void TSE::IKeyInputHandler::onChar(IKeyInputHandler *handler, const std::string &c) { handler->OnChar(c); }