cae  0.0.0
Cross-API graphics engine
Loading...
Searching...
No Matches
IInput.hpp
Go to the documentation of this file.
1///
2/// @file IInput.hpp
3/// @brief This file contains the input interface
4/// @namespace cae
5///
6
7#pragma once
8
12
13namespace cae
14{
15
16 ///
17 /// @interface IInput
18 /// @brief Interface for inputs
19 /// @namespace cae
20 ///
21 class IInput : public utl::IPlugin
22 {
23
24 public:
25 ~IInput() override = default;
26
27 virtual const std::unique_ptr<IKeyboard> &getKeyboard() const = 0;
28 virtual const std::unique_ptr<IMouse> &getMouse() const = 0;
29 virtual const std::vector<std::unique_ptr<IGamepad>> &getGamepads() const = 0;
30
31 virtual void setGamepads(std::vector<std::unique_ptr<IGamepad>> &gamepads) = 0;
32 virtual void setKeyboard(std::unique_ptr<IKeyboard> &keyboard) = 0;
33 virtual void setMouse(std::unique_ptr<IMouse> &mouse) = 0;
34
35 }; // interface IInput
36
37} // namespace cae
This file contains the input gamepad interface.
This file contains the input keyboard interface.
This file contains the input mouse interface.
Interface for inputs.
Definition IInput.hpp:22
virtual void setGamepads(std::vector< std::unique_ptr< IGamepad > > &gamepads)=0
virtual const std::unique_ptr< IKeyboard > & getKeyboard() const =0
virtual void setKeyboard(std::unique_ptr< IKeyboard > &keyboard)=0
virtual const std::vector< std::unique_ptr< IGamepad > > & getGamepads() const =0
~IInput() override=default
virtual void setMouse(std::unique_ptr< IMouse > &mouse)=0
virtual const std::unique_ptr< IMouse > & getMouse() const =0
Interface for plugins.
Definition IPlugin.hpp:46