le2d v0.4.8
2D game engine framework
 
Loading...
Searching...
No Matches
le::input::Router Class Reference

Stack of mappings, routes events to the topmost one. More...

#include <le2d/input/router.hpp>

Public Member Functions

void push_mapping (gsl::not_null< IMapping * > mapping)
 Push a mapping to the top.
 
void pop_mapping ()
 Pop the topmost mapping, if any.
 
void remove_mapping (gsl::not_null< IMapping const * > mapping)
 Remove a particular mapping, if mapped.
 
void clear_stack ()
 Clear all mappings.
 
auto is_stack_empty () const -> bool
 
void dispatch (std::span< le::Event const > events)
 Dispatch events to the topmost mapping, if any.
 
void disengage ()
 Disengage the topmost mapping, if any.
 
auto last_used_device () const -> std::optional< Device >
 
auto gamepad_manager () const -> Gamepad::Manager const &
 

Public Attributes

float nonzero_dead_zone {Gamepad::nonzero_dead_zone_v}
 Dead zone for setting first/last used Gamepad.
 

Detailed Description

Stack of mappings, routes events to the topmost one.

Member Function Documentation

◆ clear_stack()

void le::input::Router::clear_stack ( )
inline

Clear all mappings.

◆ disengage()

void le::input::Router::disengage ( )

Disengage the topmost mapping, if any.

◆ dispatch()

void le::input::Router::dispatch ( std::span< le::Event const >  events)

Dispatch events to the topmost mapping, if any.

Parameters
eventsList of events for this frame.

◆ gamepad_manager()

auto le::input::Router::gamepad_manager ( ) const -> Gamepad::Manager const&
inline

◆ is_stack_empty()

auto le::input::Router::is_stack_empty ( ) const -> bool
inline
Returns
true if there are no mappings pushed.

◆ last_used_device()

auto le::input::Router::last_used_device ( ) const -> std::optional<Device>
inline
Returns
Last used input device, if any.

◆ pop_mapping()

void le::input::Router::pop_mapping ( )

Pop the topmost mapping, if any.

◆ push_mapping()

void le::input::Router::push_mapping ( gsl::not_null< IMapping * >  mapping)

Push a mapping to the top.

Parameters
mappingMapping to push. Disengages the existing topmost mapping before pushing.

◆ remove_mapping()

void le::input::Router::remove_mapping ( gsl::not_null< IMapping const * >  mapping)

Remove a particular mapping, if mapped.

Member Data Documentation

◆ nonzero_dead_zone

float le::input::Router::nonzero_dead_zone {Gamepad::nonzero_dead_zone_v}

Dead zone for setting first/last used Gamepad.


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