OpenEnroth 80998af
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
KeyboardController Class Reference

#include <KeyboardController.h>

Inheritance diagram for KeyboardController:
PlatformEventFilter ProxyEventLoop ProxyBase< PlatformEventLoop > PlatformEventLoop

Public Member Functions

 KeyboardController ()
 
bool ConsumeKeyPress (PlatformKey key)
 
bool IsKeyDown (PlatformKey key) const
 
void reset ()
 
- Public Member Functions inherited from PlatformEventFilter
 PlatformEventFilter (std::initializer_list< PlatformEventType > eventTypes)
 
 PlatformEventFilter (PlatformEventWildcard eventTypes)
 
virtual bool event (const PlatformEvent *event)
 
const std::vector< PlatformEventTypeeventTypes () const
 
- Public Member Functions inherited from ProxyEventLoop
 ProxyEventLoop (PlatformEventLoop *base=nullptr)
 
virtual ~ProxyEventLoop ()=default
 
virtual void exec (PlatformEventHandler *eventHandler) override
 
virtual void quit () override
 
virtual void processMessages (PlatformEventHandler *eventHandler) override
 
virtual void waitForMessages () override
 
- Public Member Functions inherited from ProxyBase< PlatformEventLoop >
 ProxyBase (PlatformEventLoop *base)
 
PlatformEventLoopbase () const
 
void setBase (PlatformEventLoop *base)
 
- Public Member Functions inherited from PlatformEventLoop
virtual ~PlatformEventLoop ()=default
 
virtual void exec (PlatformEventHandler *eventHandler)=0
 
virtual void quit ()=0
 
virtual void processMessages (PlatformEventHandler *eventHandler)=0
 
virtual void waitForMessages ()=0
 

Private Member Functions

virtual bool keyPressEvent (const PlatformKeyEvent *event) override
 
virtual bool keyReleaseEvent (const PlatformKeyEvent *event) override
 
virtual void processMessages (PlatformEventHandler *eventHandler) override
 

Private Attributes

IndexedArray< bool, PlatformKey::KEY_FIRST, PlatformKey::KEY_LAST > isKeyDown_ = {{}}
 
IndexedArray< bool, PlatformKey::KEY_FIRST, PlatformKey::KEY_LAST > isKeyDownThisFrame_ = {{}}
 
IndexedArray< bool, PlatformKey::KEY_FIRST, PlatformKey::KEY_LAST > isKeyDownReportPending_ = {{}}
 

Additional Inherited Members

- Protected Member Functions inherited from PlatformEventFilter
virtual bool keyPressEvent (const PlatformKeyEvent *event)
 
virtual bool keyReleaseEvent (const PlatformKeyEvent *event)
 
virtual bool mouseMoveEvent (const PlatformMouseEvent *event)
 
virtual bool mousePressEvent (const PlatformMouseEvent *event)
 
virtual bool mouseReleaseEvent (const PlatformMouseEvent *event)
 
virtual bool wheelEvent (const PlatformWheelEvent *event)
 
virtual bool moveEvent (const PlatformMoveEvent *event)
 
virtual bool resizeEvent (const PlatformResizeEvent *event)
 
virtual bool activationEvent (const PlatformWindowEvent *event)
 
virtual bool closeEvent (const PlatformWindowEvent *event)
 
virtual bool gamepadConnectionEvent (const PlatformGamepadEvent *event)
 
virtual bool gamepadKeyPressEvent (const PlatformGamepadKeyEvent *event)
 
virtual bool gamepadKeyReleaseEvent (const PlatformGamepadKeyEvent *event)
 
virtual bool gamepadAxisEvent (const PlatformGamepadAxisEvent *event)
 
virtual bool nativeEvent (const PlatformNativeEvent *event)
 
virtual bool textInputEvent (const PlatformTextInputEvent *event)
 
- Protected Member Functions inherited from ProxyBase< PlatformEventLoop >
PlatformEventLoopnonNullBase () const
 

Constructor & Destructor Documentation

◆ KeyboardController()

KeyboardController::KeyboardController ( )

Member Function Documentation

◆ ConsumeKeyPress()

bool KeyboardController::ConsumeKeyPress ( PlatformKey  key)

◆ IsKeyDown()

bool KeyboardController::IsKeyDown ( PlatformKey  key) const

◆ keyPressEvent()

bool KeyboardController::keyPressEvent ( const PlatformKeyEvent event)
overrideprivatevirtual

Reimplemented from PlatformEventFilter.

◆ keyReleaseEvent()

bool KeyboardController::keyReleaseEvent ( const PlatformKeyEvent event)
overrideprivatevirtual

Reimplemented from PlatformEventFilter.

◆ processMessages()

void KeyboardController::processMessages ( PlatformEventHandler eventHandler)
overrideprivatevirtual

Processes the messages that are currently in the message queue, and returns. Returns immediately if there are no messages in the message queue.

Parameters
eventHandlerCallback for event processing.

Reimplemented from ProxyEventLoop.

◆ reset()

void KeyboardController::reset ( )

Member Data Documentation

◆ isKeyDown_

IndexedArray<bool, PlatformKey::KEY_FIRST, PlatformKey::KEY_LAST> KeyboardController::isKeyDown_ = {{}}
private

Whether the key is currently held down.

◆ isKeyDownReportPending_

IndexedArray<bool, PlatformKey::KEY_FIRST, PlatformKey::KEY_LAST> KeyboardController::isKeyDownReportPending_ = {{}}
private

Whether there was a key down event that hasn't yet been consumed with a call to ConsumeKeyPress. Note that the key might already be released at this point, e.g. if press & release events were received one after another.

◆ isKeyDownThisFrame_

IndexedArray<bool, PlatformKey::KEY_FIRST, PlatformKey::KEY_LAST> KeyboardController::isKeyDownThisFrame_ = {{}}
private

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