Luanti 5.16.0-dev
Loading...
Searching...
No Matches
MyEventReceiver Class Reference

#include <inputhandler.h>

Inheritance diagram for MyEventReceiver:
Collaboration diagram for MyEventReceiver:

Public Member Functions

virtual bool OnEvent (const SEvent &event)
bool IsKeyDown (GameKeyType key) const
bool WasKeyDown (GameKeyType key)
bool WasKeyPressed (GameKeyType key) const
bool WasKeyReleased (GameKeyType key) const
void reloadKeybindings ()
s32 getMouseWheel ()
void clearInput ()
void releaseAllKeys ()
void clearWasKeyPressed ()
void clearWasKeyReleased ()
PointerType getLastPointerType ()

Public Attributes

JoystickControllerjoystick = nullptr

Private Member Functions

void listenForKey (KeyPress keyCode, GameKeyType action)
bool setKeyDown (KeyPress keyCode, bool is_down)
void setKeyDown (GameKeyType action, bool is_down)
bool checkKeyDown (GameKeyType action) const

Private Attributes

std::array< std::vector< KeyPress >, KeyType::INTERNAL_ENUM_COUNTkeybindings
s32 mouse_wheel = 0
std::set< KeyPressphysicalKeyDown
std::bitset< GameKeyType::INTERNAL_ENUM_COUNT > keyIsDown
std::bitset< GameKeyType::INTERNAL_ENUM_COUNT > keyWasDown
std::bitset< GameKeyType::INTERNAL_ENUM_COUNT > keyWasPressed
std::bitset< GameKeyType::INTERNAL_ENUM_COUNT > keyWasReleased
std::unordered_map< KeyPress, GameKeyTypekeysListenedFor
bool fullscreen_is_down = false
bool close_world_down = false
bool esc_down = false
PointerType last_pointer_type = PointerType::Mouse

Member Function Documentation

◆ checkKeyDown()

bool MyEventReceiver::checkKeyDown ( GameKeyType action) const
private

References keybindings, and physicalKeyDown.

Referenced by setKeyDown().

Here is the caller graph for this function:

◆ clearInput()

void MyEventReceiver::clearInput ( )
inline

◆ clearWasKeyPressed()

void MyEventReceiver::clearWasKeyPressed ( )
inline

References keyWasPressed.

◆ clearWasKeyReleased()

void MyEventReceiver::clearWasKeyReleased ( )
inline

References keyWasReleased.

◆ getLastPointerType()

PointerType MyEventReceiver::getLastPointerType ( )
inline

References last_pointer_type.

◆ getMouseWheel()

s32 MyEventReceiver::getMouseWheel ( )
inline

References mouse_wheel.

◆ IsKeyDown()

bool MyEventReceiver::IsKeyDown ( GameKeyType key) const
inline

References keyIsDown.

Referenced by setKeyDown().

Here is the caller graph for this function:

◆ listenForKey()

void MyEventReceiver::listenForKey ( KeyPress keyCode,
GameKeyType action )
inlineprivate

References keysListenedFor.

Referenced by reloadKeybindings().

Here is the caller graph for this function:

◆ OnEvent()

bool MyEventReceiver::OnEvent ( const SEvent & event)
virtual

References ARRLEN, close_world_down, esc_down, EscapeKey, fullscreen_is_down, g_gamecallback, g_logger, g_menumgr, g_settings, g_touchcontrols, RenderingEngine::get_raw_device(), isMenuActive(), joystick, keySettingHasMatch(), last_pointer_type, LL_ERROR, LL_INFO, LL_NONE, LL_VERBOSE, LL_WARNING, LMBKey, MMBKey, Mouse, mouse_wheel, RMBKey, setKeyDown(), and Touch.

Here is the call graph for this function:

◆ releaseAllKeys()

void MyEventReceiver::releaseAllKeys ( )
inline

◆ reloadKeybindings()

◆ setKeyDown() [1/2]

void MyEventReceiver::setKeyDown ( GameKeyType action,
bool is_down )
private

References IsKeyDown(), keyIsDown, keyWasDown, keyWasPressed, and keyWasReleased.

Here is the call graph for this function:

◆ setKeyDown() [2/2]

bool MyEventReceiver::setKeyDown ( KeyPress keyCode,
bool is_down )
private

References checkKeyDown(), keysListenedFor, physicalKeyDown, and setKeyDown().

Referenced by OnEvent(), and setKeyDown().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ WasKeyDown()

bool MyEventReceiver::WasKeyDown ( GameKeyType key)
inline

References keyWasDown.

◆ WasKeyPressed()

bool MyEventReceiver::WasKeyPressed ( GameKeyType key) const
inline

References keyWasPressed.

◆ WasKeyReleased()

bool MyEventReceiver::WasKeyReleased ( GameKeyType key) const
inline

References keyWasReleased.

Member Data Documentation

◆ close_world_down

bool MyEventReceiver::close_world_down = false
private

Referenced by OnEvent().

◆ esc_down

bool MyEventReceiver::esc_down = false
private

Referenced by OnEvent().

◆ fullscreen_is_down

bool MyEventReceiver::fullscreen_is_down = false
private

Referenced by OnEvent().

◆ joystick

JoystickController* MyEventReceiver::joystick = nullptr

Referenced by OnEvent().

◆ keybindings

std::array<std::vector<KeyPress>, KeyType::INTERNAL_ENUM_COUNT> MyEventReceiver::keybindings
private

Referenced by checkKeyDown(), and reloadKeybindings().

◆ keyIsDown

std::bitset<GameKeyType::INTERNAL_ENUM_COUNT> MyEventReceiver::keyIsDown
private

◆ keysListenedFor

std::unordered_map<KeyPress, GameKeyType> MyEventReceiver::keysListenedFor
private

◆ keyWasDown

std::bitset<GameKeyType::INTERNAL_ENUM_COUNT> MyEventReceiver::keyWasDown
private

Referenced by clearInput(), setKeyDown(), and WasKeyDown().

◆ keyWasPressed

std::bitset<GameKeyType::INTERNAL_ENUM_COUNT> MyEventReceiver::keyWasPressed
private

◆ keyWasReleased

std::bitset<GameKeyType::INTERNAL_ENUM_COUNT> MyEventReceiver::keyWasReleased
private

◆ last_pointer_type

PointerType MyEventReceiver::last_pointer_type = PointerType::Mouse
private

Referenced by getLastPointerType(), and OnEvent().

◆ mouse_wheel

s32 MyEventReceiver::mouse_wheel = 0
private

Referenced by clearInput(), getMouseWheel(), and OnEvent().

◆ physicalKeyDown

std::set<KeyPress> MyEventReceiver::physicalKeyDown
private

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