cangine
Loading...
Searching...
No Matches
Static Public Member Functions | Static Private Member Functions | Static Private Attributes | Friends | List of all members
cangine::Input Class Reference

Static facade for keyboard input queries and event handlers. More...

#include <input.hpp>

Static Public Member Functions

static bool getKey (Key key)
 Tests whether a key is currently held down.
 
static bool getKeyDown (Key key)
 Tests whether a key was pressed this frame.
 
static bool getKeyUp (Key key)
 Tests whether a key was released this frame.
 
static size_t registerKeyEventHandler (std::function< void(KeyEvent)> f)
 Registers a callback invoked on every key event.
 
static void unregisterKeyEventHandler (size_t id)
 Unregisters a previously registered key-event handler.
 
static size_t registerCharEventHandler (std::function< void(std::string)> f)
 Registers a callback invoked on every character event.
 
static void unregisterCharEventHandler (size_t id)
 Unregisters a previously registered character-event handler.
 

Static Private Member Functions

static void handleCharEvent (std::string s)
 Dispatches a character event to all registered handlers.
 
static void handleKeyEvent (Key key, KeyEventType eventType)
 Dispatches a key event to all registered handlers.
 

Static Private Attributes

static std::map< size_t, std::function< void(std::string)> > charEventHandlers
 Registered character-event callbacks by id.
 
static std::map< size_t, std::function< void(KeyEvent)> > keyEventHandlers
 Registered key-event callbacks by id.
 
static size_t nextID = 0
 Next id to hand out when registering a handler.
 

Friends

class Window
 

Detailed Description

Static facade for keyboard input queries and event handlers.

Offers both polling (is a key down this frame?) and callback registration for key and character events. Events are fed in by Window.

Member Function Documentation

◆ getKey()

bool cangine::Input::getKey ( Key  key)
static

Tests whether a key is currently held down.

Parameters
keyKey to query.
Returns
true while the key is held.

◆ getKeyDown()

bool cangine::Input::getKeyDown ( Key  key)
static

Tests whether a key was pressed this frame.

Parameters
keyKey to query.
Returns
true only on the frame the key transitions to down.

◆ getKeyUp()

bool cangine::Input::getKeyUp ( Key  key)
static

Tests whether a key was released this frame.

Parameters
keyKey to query.
Returns
true only on the frame the key transitions to up.

◆ handleCharEvent()

void cangine::Input::handleCharEvent ( std::string  s)
staticprivate

Dispatches a character event to all registered handlers.

Parameters
sThe typed character(s) as UTF-8 text.

◆ handleKeyEvent()

void cangine::Input::handleKeyEvent ( Key  key,
KeyEventType  eventType 
)
staticprivate

Dispatches a key event to all registered handlers.

Parameters
keyThe key involved.
eventTypeThe kind of key event.

◆ registerCharEventHandler()

size_t cangine::Input::registerCharEventHandler ( std::function< void(std::string)>  f)
static

Registers a callback invoked on every character event.

Parameters
fHandler to register.
Returns
An id used to unregister the handler later.

◆ registerKeyEventHandler()

size_t cangine::Input::registerKeyEventHandler ( std::function< void(KeyEvent)>  f)
static

Registers a callback invoked on every key event.

Parameters
fHandler to register.
Returns
An id used to unregister the handler later.

◆ unregisterCharEventHandler()

void cangine::Input::unregisterCharEventHandler ( size_t  id)
static

Unregisters a previously registered character-event handler.

Parameters
idId returned by registerCharEventHandler.

◆ unregisterKeyEventHandler()

void cangine::Input::unregisterKeyEventHandler ( size_t  id)
static

Unregisters a previously registered key-event handler.

Parameters
idId returned by registerKeyEventHandler.

Friends And Related Symbol Documentation

◆ Window

friend class Window
friend

Member Data Documentation

◆ charEventHandlers

std::map<size_t, std::function<void(std::string)> > cangine::Input::charEventHandlers
inlinestaticprivate

Registered character-event callbacks by id.

◆ keyEventHandlers

std::map<size_t, std::function<void(KeyEvent)> > cangine::Input::keyEventHandlers
inlinestaticprivate

Registered key-event callbacks by id.

◆ nextID

size_t cangine::Input::nextID = 0
inlinestaticprivate

Next id to hand out when registering a handler.


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