KeyboardFactory.hpp 761 B

1234567891011121314151617181920212223242526272829303132
  1. /*
  2. * author: Patrick-Christopher Mattulat
  3. * e-mail: webmaster@lynarstudios.com
  4. */
  5. #ifndef LS_ATLANTIS_ENGINE_FACTORY_KEYBOARD_FACTORY_HPP
  6. #define LS_ATLANTIS_ENGINE_FACTORY_KEYBOARD_FACTORY_HPP
  7. #include <Export.hpp>
  8. #include <glossary/WindowApiTypes.hpp>
  9. #include <input/KeyboardKeyMap.hpp>
  10. #include <interface/IKeyboard.hpp>
  11. #include <memory>
  12. namespace ls::atlantis::factory
  13. {
  14. class LS_ATLANTIS_DYNAMIC_GOAL KeyboardFactory
  15. {
  16. public:
  17. KeyboardFactory();
  18. ~KeyboardFactory();
  19. [[nodiscard]] static ::std::shared_ptr<ls::atlantis::interfaces::IKeyboard> build(const ls::atlantis::glossary::WindowApiTypes &_windowApi);
  20. private:
  21. [[nodiscard]] static ls::atlantis::input::KeyboardKeyMap _generateKeyMap();
  22. };
  23. }
  24. #endif