/* * author: Patrick-Christopher Mattulat * e-mail: webmaster@lynarstudios.com */ #ifndef LS_ATLANTIS_ENGINE_INPUT_SDL_KEYBOARD_HPP #define LS_ATLANTIS_ENGINE_INPUT_SDL_KEYBOARD_HPP #include #include #include #include namespace ls::atlantis::input { class LS_ATLANTIS_DYNAMIC_GOAL SdlKeyboard : public ls::atlantis::interfaces::IKeyboard { public: explicit SdlKeyboard(ls::atlantis::input::KeyboardKeyMap _keys); ~SdlKeyboard() override; [[nodiscard]] bool isFreed(const ls::atlantis::glossary::KeyboardKeys &_key) override; [[nodiscard]] bool isPressed(const ls::atlantis::glossary::KeyboardKeys &_key) override; void reset() override; void updateKey(const ls::atlantis::glossary::KeyboardKeys &_key, bool _isFreed, bool _isPressed) override; protected: ls::atlantis::input::KeyboardKeyMap keys{}; }; } #endif