Skip to content

Commit 859b489

Browse files
committed
Add mouse_button_event
1 parent 50c7c70 commit 859b489

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

include/lxgui/input_keys.hpp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ namespace lxgui::input {
1010

1111
enum class mouse_button : std::uint8_t { left = 0, right, middle };
1212

13+
enum class mouse_button_event : std::uint8_t { up = 0, down = 1, double_click = 2 };
14+
1315
enum class key : std::uint8_t {
1416
k_unassigned = 0x00,
1517
k_escape = 0x01,
@@ -177,6 +179,24 @@ std::string_view get_mouse_button_codename(mouse_button button_id);
177179
*/
178180
std::string_view get_localizable_mouse_button_name(mouse_button button_id);
179181

182+
/**
183+
* \brief Returns a standard English name for the provided mouse button event.
184+
* \param button_event The ID code of the mouse button event
185+
* \note This will return a standard English button name, e.g., "Up" for the mouse up event.
186+
* This can be used for string-based key identification in scripts, where key
187+
* integer codes would be less usable, or for displaying debug or error messages.
188+
*/
189+
std::string_view get_mouse_button_event_codename(mouse_button_event button_event);
190+
191+
/**
192+
* \brief Returns the localizable name of the provided mouse button event.
193+
* \param button_event The ID code of the mouse button event
194+
* \return The localizable name of the provided mouse button event
195+
* \note This will return localizable button names, e.g., "{mouse_event_up}" for the mouse up event.
196+
* Use a @ref lxgui::gui::localizer to transform this into a user-friendly name.
197+
*/
198+
std::string_view get_localizable_mouse_button_event_name(mouse_button_event button_event);
199+
180200
/**
181201
* \brief Returns a standard English name for the provided key.
182202
* \param key_id The key

src/input_keys.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,24 @@ std::string_view get_localizable_mouse_button_name(mouse_button button_id) {
2020
}
2121
}
2222

23+
std::string_view get_mouse_button_event_codename(mouse_button_event button_event) {
24+
switch (button_event) {
25+
case mouse_button_event::up: return "Up";
26+
case mouse_button_event::down: return "Down";
27+
case mouse_button_event::double_click: return "DoubleClick";
28+
default: return "";
29+
}
30+
}
31+
32+
std::string_view get_localizable_mouse_button_event_name(mouse_button_event button_event) {
33+
switch (button_event) {
34+
case mouse_button_event::up: return "{mouse_event_up}";
35+
case mouse_button_event::down: return "{mouse_event_down}";
36+
case mouse_button_event::double_click: return "{mouse_event_double_click}";
37+
default: return "{mouse_event_unknown}";
38+
}
39+
}
40+
2341
std::string_view get_key_codename(key key_id) {
2442
switch (key_id) {
2543
case key::k_escape: return "Escape";

0 commit comments

Comments
 (0)