DDraceNetwork Documentation
Loading...
Searching...
No Matches
binds.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_BINDS_H
4#define GAME_CLIENT_COMPONENTS_BINDS_H
5
6#include <engine/console.h>
7#include <engine/keys.h>
8
10
11#include <vector>
12
13class IConfigManager;
14
15class CBinds : public CComponent
16{
17 static void ConBind(IConsole::IResult *pResult, void *pUserData);
18 static void ConBinds(IConsole::IResult *pResult, void *pUserData);
19 static void ConUnbind(IConsole::IResult *pResult, void *pUserData);
21 class IConsole *GetConsole() const { return Console(); }
22
24
26 {
27 public:
28 int m_Key;
30
31 CBindSlot(int Key, int ModifierMask) :
32 m_Key(Key),
34 {
35 }
36 };
37 CBindSlot GetBindSlot(const char *pBindString) const;
38
39 // free buffer after use
40 char *GetKeyBindCommand(int ModifierCombination, int Key) const;
41
42public:
43 CBinds();
44 ~CBinds();
45 int Sizeof() const override { return sizeof(*this); }
46
48 {
49 public:
51 int Sizeof() const override { return sizeof(*this); }
52 bool OnInput(const IInput::CEvent &Event) override;
53 };
54
56
57 enum
58 {
66 };
67
69
70 void Bind(int KeyId, const char *pStr, bool FreeOnly = false, int ModifierCombination = MODIFIER_NONE);
71 void SetDefaults();
72 void UnbindAll();
73 const char *Get(int KeyId, int ModifierCombination);
74 void GetKey(const char *pBindStr, char *pBuf, size_t BufSize);
75 static int GetModifierMask(IInput *pInput);
76 static int GetModifierMaskOfKey(int Key);
77 static const char *GetModifierName(int Modifier);
78 static void GetKeyBindModifiersName(int ModifierCombination, char *pBuf, size_t BufSize);
79
80 void OnConsoleInit() override;
81 bool OnInput(const IInput::CEvent &Event) override;
82
83 // DDRace
84
85 void SetDDRaceBinds(bool FreeOnly);
86
87private:
89 std::vector<CBindSlot> m_vActiveBinds;
90};
91#endif
Definition binds.h:26
CBindSlot(int Key, int ModifierMask)
Definition binds.h:31
int m_Key
Definition binds.h:28
int m_ModifierMask
Definition binds.h:29
Definition binds.h:48
int Sizeof() const override
Definition binds.h:51
bool OnInput(const IInput::CEvent &Event) override
Definition binds.cpp:15
CBinds * m_pBinds
Definition binds.h:50
Definition binds.h:16
bool m_MouseOnAction
Definition binds.h:55
void Bind(int KeyId, const char *pStr, bool FreeOnly=false, int ModifierCombination=MODIFIER_NONE)
Definition binds.cpp:42
~CBinds()
Definition binds.cpp:37
static void ConfigSaveCallback(IConfigManager *pConfigManager, void *pUserData)
Definition binds.cpp:472
const char * Get(int KeyId, int ModifierCombination)
Definition binds.cpp:230
CBindSlot GetBindSlot(const char *pBindString) const
Definition binds.cpp:399
bool OnInput(const IInput::CEvent &Event) override
Definition binds.cpp:113
static int GetModifierMask(IInput *pInput)
Definition binds.cpp:68
static const char * GetModifierName(int Modifier)
Definition binds.cpp:426
void OnConsoleInit() override
Definition binds.cpp:306
static void ConUnbindAll(IConsole::IResult *pResult, void *pUserData)
Definition binds.cpp:393
int Sizeof() const override
Definition binds.h:45
void SetDefaults()
Definition binds.cpp:259
static void ConBind(IConsole::IResult *pResult, void *pUserData)
Definition binds.cpp:318
void GetKey(const char *pBindStr, char *pBuf, size_t BufSize)
Definition binds.cpp:237
void UnbindAll()
Definition binds.cpp:218
char * m_aapKeyBindings[MODIFIER_COMBINATION_COUNT][KEY_LAST]
Definition binds.h:88
char * GetKeyBindCommand(int ModifierCombination, int Key) const
Definition binds.cpp:457
@ MODIFIER_COMBINATION_COUNT
Definition binds.h:65
@ MODIFIER_CTRL
Definition binds.h:60
@ MODIFIER_GUI
Definition binds.h:63
@ MODIFIER_SHIFT
Definition binds.h:62
@ MODIFIER_ALT
Definition binds.h:61
@ MODIFIER_COUNT
Definition binds.h:64
@ MODIFIER_NONE
Definition binds.h:59
static int GetModifierMaskOfKey(int Key)
Definition binds.cpp:92
class IConsole * GetConsole() const
Definition binds.h:21
static void GetKeyBindModifiersName(int ModifierCombination, char *pBuf, size_t BufSize)
Definition binds.cpp:444
CBindsSpecial m_SpecialBinds
Definition binds.h:68
void SetDDRaceBinds(bool FreeOnly)
Definition binds.cpp:492
static void ConBinds(IConsole::IResult *pResult, void *pUserData)
Definition binds.cpp:339
static void ConUnbind(IConsole::IResult *pResult, void *pUserData)
Definition binds.cpp:378
CBinds()
Definition binds.cpp:31
std::vector< CBindSlot > m_vActiveBinds
Definition binds.h:89
class IConsole * Console() const
Definition component.cpp:73
Definition component.h:165
Definition config.h:9
Definition console.h:47
Definition console.h:18
Definition input.h:22
Definition input.h:18
Definition vmath.h:15
@ KEY_LAST
Definition keys.h:335