1#ifndef GAME_CLIENT_COMPONENTS_TOUCH_CONTROLS_H
2#define GAME_CLIENT_COMPONENTS_TOUCH_CONTROLS_H
41 int Sizeof()
const override {
return sizeof(*this); }
45 bool OnTouchState(
const std::vector<IInput::CTouchFingerState> &vTouchFingerStates)
override;
359 static constexpr const char *
const BEHAVIOR_ID =
"joystick-action";
546 void UpdateButtons(
const std::vector<IInput::CTouchFingerState> &vTouchFingerStates);
554 std::optional<ColorRGBA>
ParseColor(
const json_value *pColorValue,
const char *pAttributeName, std::optional<ColorRGBA> DefaultColor)
const;
Definition: component.h:20
Definition: jsonwriter.h:15
Definition: touch_controls.h:515
IInput::CTouchFinger m_Finger
Definition: touch_controls.h:518
bool m_Active
Definition: touch_controls.h:517
Definition: touch_controls.h:158
int m_Y
Definition: touch_controls.h:161
int m_X
Definition: touch_controls.h:160
int m_H
Definition: touch_controls.h:163
int m_W
Definition: touch_controls.h:162
Definition: touch_controls.h:23
void UpdateButtons(const std::vector< IInput::CTouchFingerState > &vTouchFingerStates)
Definition: touch_controls.cpp:906
void OnWindowResize() override
Definition: touch_controls.cpp:713
void RenderButtons()
Definition: touch_controls.cpp:1087
void OnReset() override
Definition: touch_controls.cpp:707
std::optional< EDirectTouchIngameMode > ParseDirectTouchIngameMode(const json_value *pModeValue)
Definition: touch_controls.cpp:1201
void WriteConfiguration(CJsonWriter *pWriter)
Definition: touch_controls.cpp:1596
int m_DirectTouchLastAction
Definition: touch_controls.h:512
int NextActiveAction(int Action) const
Definition: touch_controls.cpp:856
void SaveConfigurationToClipboard()
Definition: touch_controls.cpp:796
int m_ActionSelected
Definition: touch_controls.h:506
void SetEditingActive(bool EditingActive)
Definition: touch_controls.h:66
void OnRender() override
Definition: touch_controls.cpp:742
int NextDirectTouchAction() const
Definition: touch_controls.cpp:870
EButtonShape
Definition: touch_controls.h:75
static constexpr const char *const SHAPE_NAMES[(int) EButtonShape::NUM_SHAPES]
Definition: touch_controls.h:81
bool m_aExtraMenuActive[(int) EButtonVisibility::EXTRA_MENU_5 -(int) EButtonVisibility::EXTRA_MENU_1+1]
Definition: touch_controls.h:501
bool IsEditingActive() const
Definition: touch_controls.h:65
int Sizeof() const override
Definition: touch_controls.h:41
EDirectTouchSpectateMode DirectTouchSpectate() const
Definition: touch_controls.h:59
bool LoadConfigurationFromClipboard()
Definition: touch_controls.cpp:776
std::optional< EDirectTouchSpectateMode > ParseDirectTouchSpectateMode(const json_value *pModeValue)
Definition: touch_controls.cpp:1231
std::optional< CTouchButton > ParseButton(const json_value *pButtonObject)
Definition: touch_controls.cpp:1282
std::unique_ptr< CBindTouchButtonBehavior > ParseBindBehavior(const json_value *pBehaviorObject)
Definition: touch_controls.cpp:1482
bool m_EditingActive
Definition: touch_controls.h:536
vec2 CalculateScreenSize() const
Definition: touch_controls.cpp:1104
std::unique_ptr< CBindToggleTouchButtonBehavior > ParseBindToggleBehavior(const json_value *pBehaviorObject)
Definition: touch_controls.cpp:1530
CActionState m_aDirectTouchActionStates[NUM_ACTIONS]
Definition: touch_controls.h:524
static constexpr const char *const DIRECT_TOUCH_SPECTATE_MODE_NAMES[(int) EDirectTouchSpectateMode::NUM_STATES]
Definition: touch_controls.h:72
std::vector< CTouchButton > m_vTouchButtons
Definition: touch_controls.h:496
@ ACTION_AIM
Definition: touch_controls.h:121
@ ACTION_HOOK
Definition: touch_controls.h:123
@ NUM_ACTIONS
Definition: touch_controls.h:124
@ ACTION_FIRE
Definition: touch_controls.h:122
bool LoadConfigurationFromFile(int StorageType)
Definition: touch_controls.cpp:761
void OnInit() override
Definition: touch_controls.cpp:698
void SetDirectTouchSpectate(EDirectTouchSpectateMode DirectTouchSpectate)
Definition: touch_controls.h:60
void SetEditingChanges(bool EditingChanges)
Definition: touch_controls.h:68
std::unique_ptr< CExtraMenuTouchButtonBehavior > ParseExtraMenuBehavior(const json_value *pBehaviorObject)
Definition: touch_controls.cpp:1465
EDirectTouchIngameMode
Definition: touch_controls.h:26
ColorRGBA m_BackgroundColorInactive
Definition: touch_controls.h:482
EDirectTouchIngameMode DirectTouchIngame() const
Definition: touch_controls.h:53
bool HasEditingChanges() const
Definition: touch_controls.h:67
std::unique_ptr< CPredefinedTouchButtonBehavior > ParsePredefinedBehavior(const json_value *pBehaviorObject)
Definition: touch_controls.cpp:1426
void SetDirectTouchIngame(EDirectTouchIngameMode DirectTouchIngame)
Definition: touch_controls.h:54
ColorRGBA m_BackgroundColorActive
Definition: touch_controls.h:489
bool ParseConfiguration(const void *pFileData, unsigned FileLength)
Definition: touch_controls.cpp:1111
void ResetButtons()
Definition: touch_controls.cpp:1075
bool OnTouchState(const std::vector< IInput::CTouchFingerState > &vTouchFingerStates) override
Definition: touch_controls.cpp:722
CButtonVisibilityData m_aVisibilityFunctions[(int) EButtonVisibility::NUM_VISIBILITIES]
Definition: touch_controls.h:117
static constexpr const char *const LABEL_TYPE_NAMES[(int) CButtonLabel::EType::NUM_TYPES]
Definition: touch_controls.h:155
std::unique_ptr< CTouchButtonBehavior > ParseBehavior(const json_value *pBehaviorObject)
Definition: touch_controls.cpp:1391
EDirectTouchIngameMode m_DirectTouchIngame
Definition: touch_controls.h:468
std::optional< ColorRGBA > ParseColor(const json_value *pColorValue, const char *pAttributeName, std::optional< ColorRGBA > DefaultColor) const
Definition: touch_controls.cpp:1261
bool SaveConfigurationToFile()
Definition: touch_controls.cpp:782
bool m_EditingChanges
Definition: touch_controls.h:541
EButtonVisibility
Definition: touch_controls.h:84
EDirectTouchSpectateMode
Definition: touch_controls.h:35
CJoystickActionTouchButtonBehavior * m_pPrimaryJoystickTouchButtonBehavior
Definition: touch_controls.h:531
void InitVisibilityFunctions()
Definition: touch_controls.cpp:804
static constexpr const char *const DIRECT_TOUCH_INGAME_MODE_NAMES[(int) EDirectTouchIngameMode::NUM_STATES]
Definition: touch_controls.h:71
EDirectTouchSpectateMode m_DirectTouchSpectate
Definition: touch_controls.h:475
struct _json_value json_value
Definition: serverbrowser.h:17