DDraceNetwork Documentation
Loading...
Searching...
No Matches
CTouchControls Class Reference

#include <touch_controls.h>

Inheritance diagram for CTouchControls:
[legend]
Collaboration diagram for CTouchControls:
[legend]

Classes

class  CActionState
 
class  CBindToggleTouchButtonBehavior
 
class  CBindTouchButtonBehavior
 
class  CButtonLabel
 
class  CButtonVisibility
 
class  CButtonVisibilityData
 
class  CEmoticonTouchButtonBehavior
 
class  CExtraMenuTouchButtonBehavior
 
class  CIngameMenuTouchButtonBehavior
 
class  CIssueParam
 
class  CJoystickActionTouchButtonBehavior
 
class  CJoystickAimTouchButtonBehavior
 
class  CJoystickFireTouchButtonBehavior
 
class  CJoystickHookTouchButtonBehavior
 
class  CJoystickTouchButtonBehavior
 
class  CPopupParam
 
class  CPredefinedTouchButtonBehavior
 
class  CSpectateTouchButtonBehavior
 
class  CSwapActionTouchButtonBehavior
 
class  CTouchButton
 
class  CTouchButtonBehavior
 
class  CUnitRect
 
class  CUseActionTouchButtonBehavior
 

Public Types

enum class  EDirectTouchIngameMode {
  DISABLED , ACTION , AIM , FIRE ,
  HOOK , NUM_STATES
}
 
enum class  EDirectTouchSpectateMode { DISABLED , AIM , NUM_STATES }
 
enum class  EButtonVisibility {
  INGAME , ZOOM_ALLOWED , VOTE_ACTIVE , DUMMY_ALLOWED ,
  DUMMY_CONNECTED , RCON_AUTHED , DEMO_PLAYER , EXTRA_MENU_1 ,
  EXTRA_MENU_2 , EXTRA_MENU_3 , EXTRA_MENU_4 , EXTRA_MENU_5 ,
  NUM_VISIBILITIES
}
 
enum class  EButtonShape { RECT , CIRCLE , NUM_SHAPES }
 
enum class  EPopupType { BUTTON_CHANGED , NO_SPACE , BUTTON_INVISIBLE , NUM_POPUPS }
 
enum class  EIssueType { CACHE_SETTINGS , SAVE_SETTINGS , CACHE_POSITION , NUM_ISSUES }
 

Public Member Functions

int Sizeof () const override
 
void OnInit () override
 
void OnReset () override
 
void OnWindowResize () override
 
bool OnTouchState (const std::vector< IInput::CTouchFingerState > &vTouchFingerStates) override
 
void OnRender () override
 
bool LoadConfigurationFromFile (int StorageType)
 
bool LoadConfigurationFromClipboard ()
 
bool SaveConfigurationToFile ()
 
void SaveConfigurationToClipboard ()
 
EDirectTouchIngameMode DirectTouchIngame () const
 
void SetDirectTouchIngame (EDirectTouchIngameMode DirectTouchIngame)
 
EDirectTouchSpectateMode DirectTouchSpectate () const
 
void SetDirectTouchSpectate (EDirectTouchSpectateMode DirectTouchSpectate)
 
bool IsEditingActive () const
 
void SetEditingActive (bool EditingActive)
 
bool HasEditingChanges () const
 
void SetEditingChanges (bool EditingChanges)
 
CTouchButtonNewButton ()
 
void DeleteSelectedButton ()
 
bool IsRectOverlapping (CUnitRect MyRect={0, 0, BUTTON_SIZE_MINIMUM, BUTTON_SIZE_MINIMUM}) const
 
CUnitRect UpdatePosition (CUnitRect MyRect, bool Ignore=false)
 
void ResetButtonPointers ()
 
void ResetVirtualVisibilities ()
 
CUIRect CalculateScreenFromUnitRect (CUnitRect Unit, EButtonShape Shape=EButtonShape::RECT) const
 
bool HasUnsavedChanges () const
 
void SetUnsavedChanges (bool UnsavedChanges)
 
std::array< bool,(size_t) EButtonVisibility::NUM_VISIBILITIESVirtualVisibilities () const
 
void ReverseVirtualVisibilities (int Number)
 
std::optional< CUnitRectShownRect () const
 
void SetShownRect (std::optional< CUnitRect > Rect)
 
CTouchButtonSelectedButton () const
 
void SetSelectedButton (CTouchButton *TargetButton)
 
bool NoRealButtonSelected () const
 
void RemakeSampleButton ()
 
CTouchButtonSampleButton () const
 
bool IsButtonEditing () const
 
ColorRGBA DefaultBackgroundColorInactive () const
 
ColorRGBA DefaultBackgroundColorActive () const
 
ColorRGBA BackgroundColorInactive () const
 
ColorRGBA BackgroundColorActive () const
 
void SetBackgroundColorInactive (ColorRGBA Color)
 
void SetBackgroundColorActive (ColorRGBA Color)
 
std::vector< CTouchButton * > GetButtonsEditor ()
 
bool PreviewAllButtons () const
 
void SetPreviewAllButtons (bool Preview)
 
CPopupParam RequiredPopup ()
 
bool AnyIssueNotResolved () const
 
std::array< CTouchControls::CIssueParam,(unsigned) CTouchControls::EIssueType::NUM_ISSUESIssues ()
 
- Public Member Functions inherited from CComponent
virtual ~CComponent ()=default
 
virtual void OnStateChange (int NewState, int OldState)
 
virtual void OnConsoleInit ()
 
virtual void OnShutdown ()
 
virtual void OnUpdate ()
 
virtual void OnNewSnapshot ()
 
virtual void OnRelease ()
 
virtual void OnMapLoad ()
 
virtual void OnMessage (int Msg, void *pRawMsg)
 
virtual bool OnCursorMove (float x, float y, IInput::ECursorType CursorType)
 
virtual bool OnInput (const IInput::CEvent &Event)
 
- Public Member Functions inherited from CComponentInterfaces
virtual void OnInterfacesInit (CGameClient *pClient)
 
virtual ~CComponentInterfaces ()=default
 

Static Public Attributes

static constexpr const int BUTTON_SIZE_SCALE = 1000000
 
static constexpr const int BUTTON_SIZE_MINIMUM = 50000
 
static constexpr const int BUTTON_SIZE_MAXIMUM = 500000
 
static const constexpr int MAX_EXTRA_MENU_NUMBER = (int)EButtonVisibility::EXTRA_MENU_5 - (int)EButtonVisibility::EXTRA_MENU_1 + 1
 

Private Types

enum  { ACTION_AIM , ACTION_FIRE , ACTION_HOOK , NUM_ACTIONS }
 

Private Member Functions

void InitVisibilityFunctions ()
 
int NextActiveAction (int Action) const
 
int NextDirectTouchAction () const
 
void UpdateButtonsGame (const std::vector< IInput::CTouchFingerState > &vTouchFingerStates)
 
void ResetButtons ()
 
void RenderButtonsGame ()
 
vec2 CalculateScreenSize () const
 
bool ParseConfiguration (const void *pFileData, unsigned FileLength)
 
std::optional< EDirectTouchIngameModeParseDirectTouchIngameMode (const json_value *pModeValue)
 
std::optional< EDirectTouchSpectateModeParseDirectTouchSpectateMode (const json_value *pModeValue)
 
std::optional< ColorRGBAParseColor (const json_value *pColorValue, const char *pAttributeName, std::optional< ColorRGBA > DefaultColor) const
 
std::optional< CTouchButtonParseButton (const json_value *pButtonObject)
 
std::unique_ptr< CTouchButtonBehaviorParseBehavior (const json_value *pBehaviorObject)
 
std::unique_ptr< CPredefinedTouchButtonBehaviorParsePredefinedBehavior (const json_value *pBehaviorObject)
 
std::unique_ptr< CExtraMenuTouchButtonBehaviorParseExtraMenuBehavior (const json_value *pBehaviorObject)
 
std::unique_ptr< CBindTouchButtonBehaviorParseBindBehavior (const json_value *pBehaviorObject)
 
std::unique_ptr< CBindToggleTouchButtonBehaviorParseBindToggleBehavior (const json_value *pBehaviorObject)
 
void WriteConfiguration (CJsonWriter *pWriter)
 
void BuildPositionXY (std::vector< CUnitRect > vVisibleButtonRects, CUnitRect MyRect)
 
CUnitRect FindPositionXY (std::vector< CUnitRect > &vVisibleButtonRects, CUnitRect MyRect)
 
void RenderButtonsEditor ()
 
void UpdateButtonsEditor (const std::vector< IInput::CTouchFingerState > &vTouchFingerStates)
 
void UpdateSampleButton (const CTouchButton &SrcButton)
 

Private Attributes

CButtonVisibilityData m_aVisibilityFunctions [(int) EButtonVisibility::NUM_VISIBILITIES]
 
EDirectTouchIngameMode m_DirectTouchIngame = EDirectTouchIngameMode::ACTION
 
EDirectTouchSpectateMode m_DirectTouchSpectate = EDirectTouchSpectateMode::AIM
 
ColorRGBA m_BackgroundColorInactive = ColorRGBA(0.0f, 0.0f, 0.0f, 0.25f)
 
ColorRGBA m_BackgroundColorActive = ColorRGBA(0.2f, 0.2f, 0.2f, 0.25f)
 
std::vector< CTouchButtonm_vTouchButtons
 
bool m_aExtraMenuActive [(int) EButtonVisibility::EXTRA_MENU_5 -(int) EButtonVisibility::EXTRA_MENU_1+1] = {false}
 
int m_ActionSelected = ACTION_FIRE
 
int m_JoystickPressCount = 0
 
int m_DirectTouchLastAction = ACTION_FIRE
 
CActionState m_aDirectTouchActionStates [NUM_ACTIONS]
 
std::vector< IInput::CTouchFingerm_vStaleFingers
 
bool m_EditingActive = false
 
bool m_EditingChanges = false
 
std::vector< ivec2m_vTargets
 
std::vector< CUnitRectm_vLastUpdateRects
 
std::vector< CUnitRectm_vXSortedRects
 
std::vector< CUnitRectm_vYSortedRects
 
int m_LastWidth = -10
 
int m_LastHeight = -10
 
bool m_PreventSaving = false
 
std::optional< IInput::CTouchFingerStatem_ActiveFingerState
 
std::optional< IInput::CTouchFingerStatem_ZoomFingerState
 
std::optional< IInput::CTouchFingerStatem_LongPressFingerState
 
vec2 m_ZoomStartPos = vec2(0.0f, 0.0f)
 
vec2 m_AccumulatedDelta = vec2(0.0f, 0.0f)
 
std::vector< IInput::CTouchFingerStatem_vDeletedFingerState
 
std::array< bool,(size_t) EButtonVisibility::NUM_VISIBILITIESm_aVirtualVisibilities
 
std::unique_ptr< CTouchButtonm_pSampleButton = nullptr
 
std::optional< CUnitRectm_ShownRect
 
CTouchButtonm_pSelectedButton = nullptr
 
bool m_UnsavedChanges = false
 
bool m_PreviewAllButtons = false
 
CPopupParam m_PopupParam
 
std::array< CIssueParam,(int) EIssueType::NUM_ISSUESm_aIssueParam
 

Static Private Attributes

static constexpr const char *const DIRECT_TOUCH_INGAME_MODE_NAMES [(int) EDirectTouchIngameMode::NUM_STATES] = {"disabled", "action", "aim", "fire", "hook"}
 
static constexpr const char *const DIRECT_TOUCH_SPECTATE_MODE_NAMES [(int) EDirectTouchSpectateMode::NUM_STATES] = {"disabled", "aim"}
 
static constexpr const char *const SHAPE_NAMES [(int) EButtonShape::NUM_SHAPES] = {"rect", "circle"}
 
static constexpr const char *const LABEL_TYPE_NAMES [(int) CButtonLabel::EType::NUM_TYPES] = {"plain", "localized", "icon"}
 

Additional Inherited Members

- Protected Member Functions inherited from CComponentInterfaces
class CGameClientGameClient () const
 
class IClientClient () const
 
class IKernelKernel () const
 
class IEngineEngine () const
 
class IGraphicsGraphics () const
 
class ITextRenderTextRender () const
 
class IInputInput () const
 
class IStorageStorage () const
 
class CUiUi () const
 
class ISoundSound () const
 
class CRenderToolsRenderTools () const
 
class CRenderMapRenderMap () const
 
class IConfigManagerConfigManager () const
 
class CConfigConfig () const
 
class IConsoleConsole () const
 
class IDemoPlayerDemoPlayer () const
 
class IDemoRecorderDemoRecorder (int Recorder) const
 
class IFavoritesFavorites () const
 
class IServerBrowserServerBrowser () const
 
class CLayersLayers () const
 
class CCollisionCollision () const
 
int64_t time () const
 
float LocalTime () const
 
class IHttpHttp () const
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
ACTION_AIM 
ACTION_FIRE 
ACTION_HOOK 
NUM_ACTIONS 

◆ EButtonShape

Enumerator
RECT 
CIRCLE 
NUM_SHAPES 

◆ EButtonVisibility

Enumerator
INGAME 
ZOOM_ALLOWED 
VOTE_ACTIVE 
DUMMY_ALLOWED 
DUMMY_CONNECTED 
RCON_AUTHED 
DEMO_PLAYER 
EXTRA_MENU_1 
EXTRA_MENU_2 
EXTRA_MENU_3 
EXTRA_MENU_4 
EXTRA_MENU_5 
NUM_VISIBILITIES 

◆ EDirectTouchIngameMode

Enumerator
DISABLED 
ACTION 
AIM 
FIRE 
HOOK 
NUM_STATES 

◆ EDirectTouchSpectateMode

Enumerator
DISABLED 
AIM 
NUM_STATES 

◆ EIssueType

Enumerator
CACHE_SETTINGS 
SAVE_SETTINGS 
CACHE_POSITION 
NUM_ISSUES 

◆ EPopupType

Enumerator
BUTTON_CHANGED 
NO_SPACE 
BUTTON_INVISIBLE 
NUM_POPUPS 

Member Function Documentation

◆ AnyIssueNotResolved()

bool CTouchControls::AnyIssueNotResolved ( ) const

◆ BackgroundColorActive()

ColorRGBA CTouchControls::BackgroundColorActive ( ) const
inline

◆ BackgroundColorInactive()

ColorRGBA CTouchControls::BackgroundColorInactive ( ) const
inline

◆ BuildPositionXY()

void CTouchControls::BuildPositionXY ( std::vector< CUnitRect vVisibleButtonRects,
CUnitRect  MyRect 
)
private

◆ CalculateScreenFromUnitRect()

CUIRect CTouchControls::CalculateScreenFromUnitRect ( CUnitRect  Unit,
EButtonShape  Shape = EButtonShape::RECT 
) const

◆ CalculateScreenSize()

vec2 CTouchControls::CalculateScreenSize ( ) const
private

◆ DefaultBackgroundColorActive()

ColorRGBA CTouchControls::DefaultBackgroundColorActive ( ) const
inline

◆ DefaultBackgroundColorInactive()

ColorRGBA CTouchControls::DefaultBackgroundColorInactive ( ) const
inline

◆ DeleteSelectedButton()

void CTouchControls::DeleteSelectedButton ( )

◆ DirectTouchIngame()

EDirectTouchIngameMode CTouchControls::DirectTouchIngame ( ) const
inline

◆ DirectTouchSpectate()

EDirectTouchSpectateMode CTouchControls::DirectTouchSpectate ( ) const
inline

◆ FindPositionXY()

CTouchControls::CUnitRect CTouchControls::FindPositionXY ( std::vector< CUnitRect > &  vVisibleButtonRects,
CUnitRect  MyRect 
)
private

◆ GetButtonsEditor()

std::vector< CTouchControls::CTouchButton * > CTouchControls::GetButtonsEditor ( )

◆ HasEditingChanges()

bool CTouchControls::HasEditingChanges ( ) const
inline

◆ HasUnsavedChanges()

bool CTouchControls::HasUnsavedChanges ( ) const
inline

◆ InitVisibilityFunctions()

void CTouchControls::InitVisibilityFunctions ( )
private

◆ IsButtonEditing()

bool CTouchControls::IsButtonEditing ( ) const
inline

◆ IsEditingActive()

bool CTouchControls::IsEditingActive ( ) const
inline

◆ IsRectOverlapping()

bool CTouchControls::IsRectOverlapping ( CUnitRect  MyRect = {0, 0, BUTTON_SIZE_MINIMUMBUTTON_SIZE_MINIMUM}) const

◆ Issues()

◆ LoadConfigurationFromClipboard()

bool CTouchControls::LoadConfigurationFromClipboard ( )

◆ LoadConfigurationFromFile()

bool CTouchControls::LoadConfigurationFromFile ( int  StorageType)

◆ NewButton()

CTouchControls::CTouchButton * CTouchControls::NewButton ( )

◆ NextActiveAction()

int CTouchControls::NextActiveAction ( int  Action) const
private

◆ NextDirectTouchAction()

int CTouchControls::NextDirectTouchAction ( ) const
private

◆ NoRealButtonSelected()

bool CTouchControls::NoRealButtonSelected ( ) const
inline

◆ OnInit()

void CTouchControls::OnInit ( )
overridevirtual

Called to let the components run initialization code.

Reimplemented from CComponent.

◆ OnRender()

void CTouchControls::OnRender ( )
overridevirtual

Called when the component should get rendered.

The render order depends on the component insertion order.

Reimplemented from CComponent.

◆ OnReset()

void CTouchControls::OnReset ( )
overridevirtual

Called to reset the component. This method is usually called on your component constructor to avoid code duplication.

See also
CHud::CHud()
CHud::OnReset()

Reimplemented from CComponent.

◆ OnTouchState()

bool CTouchControls::OnTouchState ( const std::vector< IInput::CTouchFingerState > &  vTouchFingerStates)
overridevirtual

Called with all current touch finger states.

Parameters
vTouchFingerStatesThe touch finger states to be handled.
Returns
true if the component used the touch events, false otherwise.

Reimplemented from CComponent.

◆ OnWindowResize()

void CTouchControls::OnWindowResize ( )
overridevirtual

Called when the window has been resized.

Reimplemented from CComponent.

◆ ParseBehavior()

std::unique_ptr< CTouchControls::CTouchButtonBehavior > CTouchControls::ParseBehavior ( const json_value pBehaviorObject)
private

◆ ParseBindBehavior()

std::unique_ptr< CTouchControls::CBindTouchButtonBehavior > CTouchControls::ParseBindBehavior ( const json_value pBehaviorObject)
private

◆ ParseBindToggleBehavior()

std::unique_ptr< CTouchControls::CBindToggleTouchButtonBehavior > CTouchControls::ParseBindToggleBehavior ( const json_value pBehaviorObject)
private

◆ ParseButton()

std::optional< CTouchControls::CTouchButton > CTouchControls::ParseButton ( const json_value pButtonObject)
private

◆ ParseColor()

std::optional< ColorRGBA > CTouchControls::ParseColor ( const json_value pColorValue,
const char pAttributeName,
std::optional< ColorRGBA DefaultColor 
) const
private

◆ ParseConfiguration()

bool CTouchControls::ParseConfiguration ( const void pFileData,
unsigned  FileLength 
)
private

◆ ParseDirectTouchIngameMode()

std::optional< CTouchControls::EDirectTouchIngameMode > CTouchControls::ParseDirectTouchIngameMode ( const json_value pModeValue)
private

◆ ParseDirectTouchSpectateMode()

std::optional< CTouchControls::EDirectTouchSpectateMode > CTouchControls::ParseDirectTouchSpectateMode ( const json_value pModeValue)
private

◆ ParseExtraMenuBehavior()

std::unique_ptr< CTouchControls::CExtraMenuTouchButtonBehavior > CTouchControls::ParseExtraMenuBehavior ( const json_value pBehaviorObject)
private

◆ ParsePredefinedBehavior()

std::unique_ptr< CTouchControls::CPredefinedTouchButtonBehavior > CTouchControls::ParsePredefinedBehavior ( const json_value pBehaviorObject)
private

◆ PreviewAllButtons()

bool CTouchControls::PreviewAllButtons ( ) const
inline

◆ RemakeSampleButton()

void CTouchControls::RemakeSampleButton ( )
inline

◆ RenderButtonsEditor()

void CTouchControls::RenderButtonsEditor ( )
private

◆ RenderButtonsGame()

void CTouchControls::RenderButtonsGame ( )
private

◆ RequiredPopup()

CTouchControls::CPopupParam CTouchControls::RequiredPopup ( )

◆ ResetButtonPointers()

void CTouchControls::ResetButtonPointers ( )

◆ ResetButtons()

void CTouchControls::ResetButtons ( )
private

◆ ResetVirtualVisibilities()

void CTouchControls::ResetVirtualVisibilities ( )

◆ ReverseVirtualVisibilities()

void CTouchControls::ReverseVirtualVisibilities ( int  Number)
inline

◆ SampleButton()

CTouchButton * CTouchControls::SampleButton ( ) const
inline

◆ SaveConfigurationToClipboard()

void CTouchControls::SaveConfigurationToClipboard ( )

◆ SaveConfigurationToFile()

bool CTouchControls::SaveConfigurationToFile ( )

◆ SelectedButton()

CTouchButton * CTouchControls::SelectedButton ( ) const
inline

◆ SetBackgroundColorActive()

void CTouchControls::SetBackgroundColorActive ( ColorRGBA  Color)
inline

◆ SetBackgroundColorInactive()

void CTouchControls::SetBackgroundColorInactive ( ColorRGBA  Color)
inline

◆ SetDirectTouchIngame()

void CTouchControls::SetDirectTouchIngame ( EDirectTouchIngameMode  DirectTouchIngame)
inline

◆ SetDirectTouchSpectate()

void CTouchControls::SetDirectTouchSpectate ( EDirectTouchSpectateMode  DirectTouchSpectate)
inline

◆ SetEditingActive()

void CTouchControls::SetEditingActive ( bool  EditingActive)
inline

◆ SetEditingChanges()

void CTouchControls::SetEditingChanges ( bool  EditingChanges)
inline

◆ SetPreviewAllButtons()

void CTouchControls::SetPreviewAllButtons ( bool  Preview)
inline

◆ SetSelectedButton()

void CTouchControls::SetSelectedButton ( CTouchButton TargetButton)
inline

◆ SetShownRect()

void CTouchControls::SetShownRect ( std::optional< CUnitRect Rect)
inline

◆ SetUnsavedChanges()

void CTouchControls::SetUnsavedChanges ( bool  UnsavedChanges)
inline

◆ ShownRect()

std::optional< CUnitRect > CTouchControls::ShownRect ( ) const
inline

◆ Sizeof()

int CTouchControls::Sizeof ( ) const
inlineoverridevirtual

Gets the size of the non-abstract component.

Implements CComponent.

◆ UpdateButtonsEditor()

void CTouchControls::UpdateButtonsEditor ( const std::vector< IInput::CTouchFingerState > &  vTouchFingerStates)
private

◆ UpdateButtonsGame()

void CTouchControls::UpdateButtonsGame ( const std::vector< IInput::CTouchFingerState > &  vTouchFingerStates)
private

◆ UpdatePosition()

CTouchControls::CUnitRect CTouchControls::UpdatePosition ( CUnitRect  MyRect,
bool  Ignore = false 
)

◆ UpdateSampleButton()

void CTouchControls::UpdateSampleButton ( const CTouchButton SrcButton)
private

◆ VirtualVisibilities()

std::array< bool,(size_t) EButtonVisibility::NUM_VISIBILITIES > CTouchControls::VirtualVisibilities ( ) const
inline

◆ WriteConfiguration()

void CTouchControls::WriteConfiguration ( CJsonWriter pWriter)
private

Member Data Documentation

◆ BUTTON_SIZE_MAXIMUM

constexpr const int CTouchControls::BUTTON_SIZE_MAXIMUM = 500000
staticconstexpr

◆ BUTTON_SIZE_MINIMUM

constexpr const int CTouchControls::BUTTON_SIZE_MINIMUM = 50000
staticconstexpr

◆ BUTTON_SIZE_SCALE

constexpr const int CTouchControls::BUTTON_SIZE_SCALE = 1000000
staticconstexpr

◆ DIRECT_TOUCH_INGAME_MODE_NAMES

constexpr const char* const CTouchControls::DIRECT_TOUCH_INGAME_MODE_NAMES[(int) EDirectTouchIngameMode::NUM_STATES] = {"disabled", "action", "aim", "fire", "hook"}
staticconstexprprivate

◆ DIRECT_TOUCH_SPECTATE_MODE_NAMES

constexpr const char* const CTouchControls::DIRECT_TOUCH_SPECTATE_MODE_NAMES[(int) EDirectTouchSpectateMode::NUM_STATES] = {"disabled", "aim"}
staticconstexprprivate

◆ LABEL_TYPE_NAMES

constexpr const char* const CTouchControls::LABEL_TYPE_NAMES[(int) CButtonLabel::EType::NUM_TYPES] = {"plain", "localized", "icon"}
staticconstexprprivate

◆ m_AccumulatedDelta

vec2 CTouchControls::m_AccumulatedDelta = vec2(0.0f, 0.0f)
private

◆ m_ActionSelected

int CTouchControls::m_ActionSelected = ACTION_FIRE
private

The currently selected action which is used for direct touch and is changed and used by some button behaviors.

◆ m_ActiveFingerState

std::optional<IInput::CTouchFingerState> CTouchControls::m_ActiveFingerState
private

◆ m_aDirectTouchActionStates

CActionState CTouchControls::m_aDirectTouchActionStates[NUM_ACTIONS]
private

The states of the different actions for direct touch input.

◆ m_aExtraMenuActive

bool CTouchControls::m_aExtraMenuActive[(int) EButtonVisibility::EXTRA_MENU_5 -(int) EButtonVisibility::EXTRA_MENU_1+1] = {false}
private

The activation states of the different extra menus which are toggle by the extra menu button behavior.

◆ m_aIssueParam

std::array<CIssueParam, (int)EIssueType::NUM_ISSUES> CTouchControls::m_aIssueParam
private

◆ m_aVirtualVisibilities

std::array<bool, (size_t)EButtonVisibility::NUM_VISIBILITIES> CTouchControls::m_aVirtualVisibilities
private

◆ m_aVisibilityFunctions

CButtonVisibilityData CTouchControls::m_aVisibilityFunctions[(int) EButtonVisibility::NUM_VISIBILITIES]
private

◆ m_BackgroundColorActive

ColorRGBA CTouchControls::m_BackgroundColorActive = ColorRGBA(0.2f, 0.2f, 0.2f, 0.25f)
private

Background color of active touch buttons.

Saved to the touch controls configuration.

◆ m_BackgroundColorInactive

ColorRGBA CTouchControls::m_BackgroundColorInactive = ColorRGBA(0.0f, 0.0f, 0.0f, 0.25f)
private

Background color of inactive touch buttons.

Saved to the touch controls configuration.

◆ m_DirectTouchIngame

EDirectTouchIngameMode CTouchControls::m_DirectTouchIngame = EDirectTouchIngameMode::ACTION
private

Mode of direct touch input while ingame.

Saved to the touch controls configuration.

◆ m_DirectTouchLastAction

int CTouchControls::m_DirectTouchLastAction = ACTION_FIRE
private

The action that was last activated with direct touch input, which will determine the finger that will be used to update the mouse position from direct touch input.

◆ m_DirectTouchSpectate

EDirectTouchSpectateMode CTouchControls::m_DirectTouchSpectate = EDirectTouchSpectateMode::AIM
private

Mode of direct touch input while spectating.

Saved to the touch controls configuration.

◆ m_EditingActive

bool CTouchControls::m_EditingActive = false
private

Whether editing mode is currently active.

◆ m_EditingChanges

bool CTouchControls::m_EditingChanges = false
private

Whether there are changes to the current configuration in editing mode.

◆ m_JoystickPressCount

int CTouchControls::m_JoystickPressCount = 0
private

Counts how many joysticks are pressed.

◆ m_LastHeight

int CTouchControls::m_LastHeight = -10
private

◆ m_LastWidth

int CTouchControls::m_LastWidth = -10
private

◆ m_LongPressFingerState

std::optional<IInput::CTouchFingerState> CTouchControls::m_LongPressFingerState
private

◆ m_PopupParam

CPopupParam CTouchControls::m_PopupParam
private

◆ m_PreventSaving

bool CTouchControls::m_PreventSaving = false
private

◆ m_PreviewAllButtons

bool CTouchControls::m_PreviewAllButtons = false
private

◆ m_pSampleButton

std::unique_ptr<CTouchButton> CTouchControls::m_pSampleButton = nullptr
private

◆ m_pSelectedButton

CTouchButton* CTouchControls::m_pSelectedButton = nullptr
private

◆ m_ShownRect

std::optional<CUnitRect> CTouchControls::m_ShownRect
private

◆ m_UnsavedChanges

bool CTouchControls::m_UnsavedChanges = false
private

◆ m_vDeletedFingerState

std::vector<IInput::CTouchFingerState> CTouchControls::m_vDeletedFingerState
private

◆ m_vLastUpdateRects

std::vector<CUnitRect> CTouchControls::m_vLastUpdateRects
private

◆ m_vStaleFingers

std::vector<IInput::CTouchFinger> CTouchControls::m_vStaleFingers
private

These fingers were activating buttons that became invisible and were therefore deactivated. The fingers are stored until they are released so they do not activate direct touch input or touch buttons anymore.

◆ m_vTargets

std::vector<ivec2> CTouchControls::m_vTargets
private

◆ m_vTouchButtons

std::vector<CTouchButton> CTouchControls::m_vTouchButtons
private

All touch buttons.

Saved to the touch controls configuration.

◆ m_vXSortedRects

std::vector<CUnitRect> CTouchControls::m_vXSortedRects
private

◆ m_vYSortedRects

std::vector<CUnitRect> CTouchControls::m_vYSortedRects
private

◆ m_ZoomFingerState

std::optional<IInput::CTouchFingerState> CTouchControls::m_ZoomFingerState
private

◆ m_ZoomStartPos

vec2 CTouchControls::m_ZoomStartPos = vec2(0.0f, 0.0f)
private

◆ MAX_EXTRA_MENU_NUMBER

const constexpr int CTouchControls::MAX_EXTRA_MENU_NUMBER = (int)EButtonVisibility::EXTRA_MENU_5 - (int)EButtonVisibility::EXTRA_MENU_1 + 1
staticconstexpr

◆ SHAPE_NAMES

constexpr const char* const CTouchControls::SHAPE_NAMES[(int) EButtonShape::NUM_SHAPES] = {"rect", "circle"}
staticconstexprprivate

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