cae  0.0.0
Cross-API graphics engine
Loading...
Searching...
No Matches
IKeyboard.hpp
Go to the documentation of this file.
1///
2/// @file IKeyboard.hpp
3/// @brief This file contains the input keyboard interface
4/// @namespace cae
5///
6
7#pragma once
8
9#include "Key/Keyboard.hpp"
10
12
13#include <array>
14
15namespace cae
16{
17
18 ///
19 /// @interface IKeyboard
20 /// @brief Interface for keyboard
21 /// @namespace cae
22 ///
23 class IKeyboard : public utl::IPlugin
24 {
25
26 public:
27 ~IKeyboard() override = default;
28
29 virtual bool isKeyPressed(KeyCode keyCode) const = 0;
30
31 private:
32 std::array<KeyState, static_cast<size_t>(KeyCode::Count)> m_keyMap{};
33 }; // interface IKeyboard
34
35} // namespace cae
This file contains the plugin interface.
This file contains the keyboard keys.
Interface for keyboard.
Definition IKeyboard.hpp:24
virtual bool isKeyPressed(KeyCode keyCode) const =0
std::array< KeyState, static_cast< size_t >(KeyCode::Count)> m_keyMap
Definition IKeyboard.hpp:32
~IKeyboard() override=default
Interface for plugins.
Definition IPlugin.hpp:46
KeyCode
Definition Keyboard.hpp:23