DDraceNetwork Documentation
Loading...
Searching...
No Matches
menus_settings_controls.h
Go to the documentation of this file.
1/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
2/* If you are missing that file, acquire a complete release at teeworlds.com. */
3#ifndef GAME_CLIENT_COMPONENTS_MENUS_SETTINGS_CONTROLS_H
4#define GAME_CLIENT_COMPONENTS_MENUS_SETTINGS_CONTROLS_H
5
9#include <game/client/ui.h>
11
12#include <vector>
13
25
36
38{
39public:
41 const char *m_pLabel;
42 std::string m_Command;
43 std::vector<CBindSlotUiElement> m_vCurrentBinds;
46 bool m_AddNewBind = false;
48 bool m_ToBeDeleted = false;
49
50 std::vector<CBindSlotUiElement>::iterator GetBindSlotElement(const CBindSlot &BindSlot);
51 bool MatchesSearch(const char *pSearch) const;
52};
53
55{
56public:
57 void OnInterfacesInit(CGameClient *pClient) override;
58 void Render(CUIRect MainView);
59
60private:
63 std::vector<CBindOption> m_vBindOptions;
65 void UpdateBindOptions();
66
71 std::vector<int> m_vSearchMatches;
72 bool m_SearchMatchReveal = false;
74
75 void RenderSettingsBlock(float Height, CUIRect *pParentRect, const char *pTitle,
76 bool *pExpanded, CButtonContainer *pExpandButton, const std::function<void(CUIRect Rect)> &RenderContentFunction);
77
78 void RenderSettingsBindsBlock(EBindOptionGroup Group, CUIRect *pParentRect, const char *pTitle);
81
82 float MeasureSettingsMouseHeight() const;
84
85 std::vector<CButtonContainer> m_vJoystickIngameModeButtonContainers = {{}, {}};
86 char m_aaJoystickAxisCheckboxIds[NUM_JOYSTICK_AXES][2]; // 2 for X and Y buttons
92 void RenderJoystickBar(const CUIRect *pRect, float Current, float Tolerance, bool Active);
93};
94
95#endif
Definition menus_settings_controls.h:38
std::vector< CBindSlotUiElement >::iterator GetBindSlotElement(const CBindSlot &BindSlot)
Definition menus_settings_controls.cpp:48
bool MatchesSearch(const char *pSearch) const
Definition menus_settings_controls.cpp:55
bool m_ToBeDeleted
Definition menus_settings_controls.h:48
bool m_AddNewBind
Definition menus_settings_controls.h:46
bool m_AddNewBindActivate
Definition menus_settings_controls.h:47
char m_TooltipButtonId
Definition menus_settings_controls.h:45
std::vector< CBindSlotUiElement > m_vCurrentBinds
Definition menus_settings_controls.h:43
CButtonContainer m_AddBindButtonContainer
Definition menus_settings_controls.h:44
EBindOptionGroup m_Group
Definition menus_settings_controls.h:40
std::string m_Command
Definition menus_settings_controls.h:42
const char * m_pLabel
Definition menus_settings_controls.h:41
Definition menus_settings_controls.h:27
bool operator<(const CBindSlotUiElement &Other) const
Definition menus_settings_controls.cpp:34
CButtonContainer m_KeyReaderButton
Definition menus_settings_controls.h:30
CBindSlot m_Bind
Definition menus_settings_controls.h:29
bool m_ToBeDeleted
Definition menus_settings_controls.h:32
CButtonContainer m_KeyResetButton
Definition menus_settings_controls.h:31
Definition binds.h:27
Definition ui.h:269
Definition component.h:15
Definition gameclient.h:137
Definition lineinput.h:202
Definition menus_settings_controls.h:55
float MeasureSettingsBindsHeight(EBindOptionGroup Group) const
Definition menus_settings_controls.cpp:445
void OnInterfacesInit(CGameClient *pClient) override
Definition menus_settings_controls.cpp:61
void UpdateSearchMatches()
Definition menus_settings_controls.cpp:347
std::vector< int > m_vSearchMatches
Definition menus_settings_controls.h:71
void RenderSettingsBinds(EBindOptionGroup Group, CUIRect View)
Definition menus_settings_controls.cpp:463
CScrollRegion m_JoystickDropDownScrollRegion
Definition menus_settings_controls.h:87
void RenderSettingsBindsBlock(EBindOptionGroup Group, CUIRect *pParentRect, const char *pTitle)
Definition menus_settings_controls.cpp:438
bool m_aBindGroupExpanded[(int) EBindOptionGroup::NUM]
Definition menus_settings_controls.h:61
void RenderJoystickBar(const CUIRect *pRect, float Current, float Tolerance, bool Active)
Definition menus_settings_controls.cpp:762
void RenderSettingsJoystick(CUIRect View)
Definition menus_settings_controls.cpp:600
size_t m_NumPredefinedBindOptions
Definition menus_settings_controls.h:64
std::vector< CBindOption > m_vBindOptions
Definition menus_settings_controls.h:63
std::vector< CButtonContainer > m_vJoystickIngameModeButtonContainers
Definition menus_settings_controls.h:85
CUi::SDropDownState m_JoystickDropDownState
Definition menus_settings_controls.h:88
float MeasureSettingsJoystickHeight() const
Definition menus_settings_controls.cpp:583
CButtonContainer m_aBindGroupExpandButtons[(int) EBindOptionGroup::NUM]
Definition menus_settings_controls.h:62
char m_aaJoystickAxisCheckboxIds[NUM_JOYSTICK_AXES][2]
Definition menus_settings_controls.h:86
float MeasureSettingsMouseHeight() const
Definition menus_settings_controls.cpp:564
bool m_SearchMatchReveal
Definition menus_settings_controls.h:72
void RenderSettingsMouse(CUIRect View)
Definition menus_settings_controls.cpp:569
CButtonContainer m_ResetToDefaultButton
Definition menus_settings_controls.h:68
int m_CurrentSearchMatch
Definition menus_settings_controls.h:70
CLineInputBuffered< 128 > m_FilterInput
Definition menus_settings_controls.h:69
void RenderJoystickAxisPicker(CUIRect View)
Definition menus_settings_controls.cpp:692
void UpdateBindOptions()
Definition menus_settings_controls.cpp:206
CScrollRegion m_SettingsScrollRegion
Definition menus_settings_controls.h:67
void Render(CUIRect MainView)
Definition menus_settings_controls.cpp:120
void RenderSettingsBlock(float Height, CUIRect *pParentRect, const char *pTitle, bool *pExpanded, CButtonContainer *pExpandButton, const std::function< void(CUIRect Rect)> &RenderContentFunction)
Definition menus_settings_controls.cpp:375
Definition ui_scrollregion.h:90
Definition ui_rect.h:12
static const int NUM
Definition compression_test.cpp:6
@ NUM_JOYSTICK_AXES
Definition keys.h:341
EBindOptionGroup
Definition menus_settings_controls.h:15
@ WEAPON
Definition menus_settings_controls.h:17
@ VOTING
Definition menus_settings_controls.h:18
@ NUM
Definition menus_settings_controls.h:23
@ CHAT
Definition menus_settings_controls.h:19
@ CUSTOM
Definition menus_settings_controls.h:22
@ MISCELLANEOUS
Definition menus_settings_controls.h:21
@ DUMMY
Definition menus_settings_controls.h:20
@ MOVEMENT
Definition menus_settings_controls.h:16
Definition ui.h:780