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  CUnitRect
class  CButtonLabel
class  CButtonVisibility
class  CButtonVisibilityData
class  CTouchButton
class  CTouchButtonBehavior
class  CPredefinedTouchButtonBehavior
class  CIngameMenuTouchButtonBehavior
class  CExtraMenuTouchButtonBehavior
class  CEmoticonTouchButtonBehavior
class  CSpectateTouchButtonBehavior
class  CSwapActionTouchButtonBehavior
class  CUseActionTouchButtonBehavior
class  CJoystickTouchButtonBehavior
class  CJoystickActionTouchButtonBehavior
class  CJoystickAimTouchButtonBehavior
class  CJoystickFireTouchButtonBehavior
class  CJoystickHookTouchButtonBehavior
class  CBindTouchButtonBehavior
class  CBindToggleTouchButtonBehavior
class  CActionState
class  CPopupParam
class  CIssueParam

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, EButtonShape Shape) const
std::optional< CUnitRectUpdatePosition (CUnitRect MyRect, EButtonShape Shape, bool Ignore=false)
void ResetButtonPointers ()
void ResetVirtualVisibilities ()
CUIRect CalculateScreenFromUnitRect (CUnitRect Unit, EButtonShape Shape=EButtonShape::RECT) const
CUnitRect CalculateHitbox (const CUnitRect &Rect, EButtonShape Shape) 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)
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 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)
std::optional< CUnitRectFindPositionXY (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

enum class CTouchControls::EButtonShape
strong
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

enum class CTouchControls::EIssueType
strong
Enumerator
CACHE_SETTINGS 
SAVE_SETTINGS 
CACHE_POSITION 
NUM_ISSUES 

◆ EPopupType

enum class CTouchControls::EPopupType
strong
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

◆ CalculateHitbox()

CTouchControls::CUnitRect CTouchControls::CalculateHitbox ( const CUnitRect & Rect,
EButtonShape Shape ) const

◆ 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()

std::optional< 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,
EButtonShape Shape ) const

◆ Issues()

std::array< CTouchControls::CIssueParam,(unsigned) CTouchControls::EIssueType::NUM_ISSUES > CTouchControls::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

◆ 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()

std::optional< CTouchControls::CUnitRect > CTouchControls::UpdatePosition ( CUnitRect MyRect,
EButtonShape Shape,
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

const int CTouchControls::BUTTON_SIZE_MAXIMUM = 500000
staticconstexpr

◆ BUTTON_SIZE_MINIMUM

const int CTouchControls::BUTTON_SIZE_MINIMUM = 50000
staticconstexpr

◆ BUTTON_SIZE_SCALE

const int CTouchControls::BUTTON_SIZE_SCALE = 1000000
staticconstexpr

◆ DIRECT_TOUCH_INGAME_MODE_NAMES

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

◆ DIRECT_TOUCH_SPECTATE_MODE_NAMES

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

◆ LABEL_TYPE_NAMES

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

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

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