Antkeeper  0.0.1
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
app::input_manager Class Referenceabstract

Manages virtual input devices. More...

#include <input-manager.hpp>

Inheritance diagram for app::input_manager:
app::sdl_input_manager

Public Member Functions

virtual ~input_manager ()=default
 Destructs an input manager. More...
 
virtual void update ()=0
 Processes input events. More...
 
virtual void set_cursor_visible (bool visible)=0
 Shows or hides the cursor. More...
 
virtual void set_relative_mouse_mode (bool enabled)=0
 Enables or disables relative mouse mode. More...
 
const std::unordered_set< input::gamepad * > & get_gamepads () noexcept
 Returns the set of registered gamepads. More...
 
const std::unordered_set< input::keyboard * > & get_keyboards () noexcept
 Returns the set of registered keyboards. More...
 
const std::unordered_set< input::mouse * > & get_mice () noexcept
 Returns the set of registered mice. More...
 
const ::event::dispatcherget_event_dispatcher () const noexcept
 Returns the event dispatcher associated with registered input devices. More...
 
::event::dispatcherget_event_dispatcher () noexcept
 Returns the event dispatcher associated with registered input devices. More...
 

Static Public Member Functions

static std::unique_ptr< input_managerinstance ()
 Allocates and returns an input manager. More...
 

Protected Member Functions

void register_device (input::device &device)
 Registers an input device. More...
 
void register_gamepad (input::gamepad &device)
 Registers an input device. More...
 
void register_keyboard (input::keyboard &device)
 Registers an input device. More...
 
void register_mouse (input::mouse &device)
 Registers an input device. More...
 
void unregister_device (input::device &device)
 Unregisters an input device. More...
 
void unregister_gamepad (input::gamepad &device)
 Unregisters an input device. More...
 
void unregister_keyboard (input::keyboard &device)
 Unregisters an input device. More...
 
void unregister_mouse (input::mouse &device)
 Unregisters an input device. More...
 

Protected Attributes

::event::dispatcher m_event_dispatcher
 

Detailed Description

Manages virtual input devices.

Definition at line 37 of file input-manager.hpp.

Constructor & Destructor Documentation

◆ ~input_manager()

virtual app::input_manager::~input_manager ( )
virtualdefault

Destructs an input manager.

Member Function Documentation

◆ get_event_dispatcher() [1/2]

const ::event::dispatcher& app::input_manager::get_event_dispatcher ( ) const
inlinenoexcept

Returns the event dispatcher associated with registered input devices.

Definition at line 71 of file input-manager.hpp.

◆ get_event_dispatcher() [2/2]

::event::dispatcher& app::input_manager::get_event_dispatcher ( )
inlinenoexcept

Returns the event dispatcher associated with registered input devices.

Definition at line 75 of file input-manager.hpp.

◆ get_gamepads()

const std::unordered_set<input::gamepad*>& app::input_manager::get_gamepads ( )
inlinenoexcept

Returns the set of registered gamepads.

Definition at line 82 of file input-manager.hpp.

◆ get_keyboards()

const std::unordered_set<input::keyboard*>& app::input_manager::get_keyboards ( )
inlinenoexcept

Returns the set of registered keyboards.

Definition at line 88 of file input-manager.hpp.

◆ get_mice()

const std::unordered_set<input::mouse*>& app::input_manager::get_mice ( )
inlinenoexcept

Returns the set of registered mice.

Definition at line 94 of file input-manager.hpp.

◆ instance()

std::unique_ptr< input_manager > app::input_manager::instance ( )
static

Allocates and returns an input manager.

Definition at line 25 of file input-manager.cpp.

◆ register_device()

void app::input_manager::register_device ( input::device device)
protected

Registers an input device.

Parameters
deviceInput device to register.

Definition at line 30 of file input-manager.cpp.

◆ register_gamepad()

void app::input_manager::register_gamepad ( input::gamepad device)
protected

Registers an input device.

Parameters
deviceInput device to register.

Definition at line 52 of file input-manager.cpp.

◆ register_keyboard()

void app::input_manager::register_keyboard ( input::keyboard device)
protected

Registers an input device.

Parameters
deviceInput device to register.

Definition at line 65 of file input-manager.cpp.

◆ register_mouse()

void app::input_manager::register_mouse ( input::mouse device)
protected

Registers an input device.

Parameters
deviceInput device to register.

Definition at line 77 of file input-manager.cpp.

◆ set_cursor_visible()

virtual void app::input_manager::set_cursor_visible ( bool  visible)
pure virtual

Shows or hides the cursor.

Parameters
visibletrue to show the cursor, false to hide it.

Implemented in app::sdl_input_manager.

◆ set_relative_mouse_mode()

virtual void app::input_manager::set_relative_mouse_mode ( bool  enabled)
pure virtual

Enables or disables relative mouse mode.

Parameters
enabledtrue to enable relative mouse mode, false to disable it.

Implemented in app::sdl_input_manager.

◆ unregister_device()

void app::input_manager::unregister_device ( input::device device)
protected

Unregisters an input device.

Parameters
deviceInput device to unregister.

Definition at line 91 of file input-manager.cpp.

◆ unregister_gamepad()

void app::input_manager::unregister_gamepad ( input::gamepad device)
protected

Unregisters an input device.

Parameters
deviceInput device to unregister.

Definition at line 115 of file input-manager.cpp.

◆ unregister_keyboard()

void app::input_manager::unregister_keyboard ( input::keyboard device)
protected

Unregisters an input device.

Parameters
deviceInput device to unregister.

Definition at line 120 of file input-manager.cpp.

◆ unregister_mouse()

void app::input_manager::unregister_mouse ( input::mouse device)
protected

Unregisters an input device.

Parameters
deviceInput device to unregister.

Definition at line 125 of file input-manager.cpp.

◆ update()

virtual void app::input_manager::update ( )
pure virtual

Processes input events.

Implemented in app::sdl_input_manager.

Member Data Documentation

◆ m_event_dispatcher

::event::dispatcher app::input_manager::m_event_dispatcher
protected

Definition at line 124 of file input-manager.hpp.


The documentation for this class was generated from the following files: