1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-18 04:23:20 +01:00
Files
OpenRCT2/src/openrct2/Input.cpp
Aaron van Geffen 2a99b2f1f9 Rework modifier key state into strong enum class (#22558)
* Rework modifier key state into strong enum class

* Move modifier key state into InputManager
2024-08-14 16:36:05 +02:00

77 lines
1.3 KiB
C++

/*****************************************************************************
* Copyright (c) 2014-2024 OpenRCT2 developers
*
* For a complete list of all authors, please refer to contributors.md
* Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
*
* OpenRCT2 is licensed under the GNU General Public License version 3.
*****************************************************************************/
#include "Input.h"
#include "Context.h"
#include "Game.h"
InputState _inputState;
uint8_t _inputFlags;
WidgetRef gHoverWidget;
WidgetRef gPressedWidget;
uint32_t _tooltipNotShownTimeout;
/**
*
* rct2: 0x006E3B43
*/
void TitleHandleKeyboardInput()
{
ContextInputHandleKeyboard(true);
}
/**
*
* rct2: 0x006E3B43
*/
void GameHandleKeyboardInput()
{
ContextInputHandleKeyboard(false);
}
void InputSetFlag(INPUT_FLAGS flag, bool on)
{
if (on)
{
_inputFlags |= flag;
}
else
{
_inputFlags &= ~flag;
}
}
bool InputTestFlag(INPUT_FLAGS flag)
{
return _inputFlags & flag;
}
void InputResetFlags()
{
_inputFlags = 0;
}
void InputSetState(InputState state)
{
_inputState = state;
}
InputState InputGetState()
{
return _inputState;
}
void ResetTooltipNotShown()
{
_tooltipNotShownTimeout = gCurrentRealTimeTicks + 50;
}