Files
GTASource/game/frontend/page_deck/uiPageHotkey.h
expvintl 419f2e4752 init
2025-02-23 17:40:52 +08:00

56 lines
1.5 KiB
C++

/////////////////////////////////////////////////////////////////////////////////
//
// FILE : uiPageHotkey.h
// PURPOSE : Container object for an input type, tooltip and action to perform.
// Used as top-level interactions on a given page.
//
// AUTHOR : james.strain
// STARTED : March 2021
//
/////////////////////////////////////////////////////////////////////////////////
#ifndef UI_PAGE_HOTKEY_H
#define UI_PAGE_HOTKEY_H
#include "frontend/page_deck/uiPageConfig.h"
#if UI_PAGE_DECK_ENABLED
// rage
#include "atl/hashstring.h"
#include "parser/macros.h"
// game
#include "frontend/input/uiInputEnums.h"
#include "frontend/page_deck/uiPageConfig.h"
#include "system/control_mapping.h"
class uiPageDeckMessageBase;
class uiPageHotkey final
{
public:
uiPageHotkey();
~uiPageHotkey();
uiPageDeckMessageBase* const GetMessage() { return m_message; }
uiPageDeckMessageBase const * const GetMessage() const { return m_message; }
atHashString GetLabel() const { return m_label; }
rage::InputType GetHotkeyInputType() const { return m_inputType; }
eFRONTEND_INPUT GetFrontendInputType() const;
bool IsValid() const;
private:
uiPageDeckMessageBase * const m_message;
atHashString m_label;
rage::InputType m_inputType;
PAR_SIMPLE_PARSABLE;
private:
static eFRONTEND_INPUT GetFrontendInputType( rage::InputType const inputType );
};
#endif // UI_PAGE_DECK_ENABLED
#endif // UI_PAGE_HOTKEY_H