aboutsummaryrefslogtreecommitdiff
path: root/src/ui/input_util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/input_util.cpp')
-rw-r--r--src/ui/input_util.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/ui/input_util.cpp b/src/ui/input_util.cpp
new file mode 100644
index 00000000..6cf2d695
--- /dev/null
+++ b/src/ui/input_util.cpp
@@ -0,0 +1,23 @@
+#include "input_util.hpp"
+
+#include "system_headers.hpp"
+
+namespace cru::ui
+{
+ bool IsKeyDown(const int virtual_code)
+ {
+ const auto result = ::GetKeyState(virtual_code);
+ return (static_cast<unsigned short>(result) & 0x8000) != 0;
+ }
+
+ bool IsKeyToggled(const int virtual_code)
+ {
+ const auto result = ::GetKeyState(virtual_code);
+ return (static_cast<unsigned short>(result) & 1) != 0;
+ }
+
+ bool IsAnyMouseButtonDown()
+ {
+ return IsKeyDown(VK_LBUTTON) || IsKeyDown(VK_RBUTTON) || IsKeyDown(VK_MBUTTON);
+ }
+}