summaryrefslogtreecommitdiffhomepage
path: root/opentrack-dinput/dinput.hpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2016-08-10 12:02:00 +0200
committerStanislaw Halik <sthalik@misaki.pl>2016-08-10 12:02:00 +0200
commit6e7af85c52e994fada7f989f4af2a6e793dedac9 (patch)
treef5e70bdd6e376f282bc625274fd2cece30f62020 /opentrack-dinput/dinput.hpp
parent8ee2337bc9e9285fac8bada710a2e39629ce5050 (diff)
dinput: split from logic module
For use in the joystick module.
Diffstat (limited to 'opentrack-dinput/dinput.hpp')
-rw-r--r--opentrack-dinput/dinput.hpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/opentrack-dinput/dinput.hpp b/opentrack-dinput/dinput.hpp
new file mode 100644
index 00000000..db901887
--- /dev/null
+++ b/opentrack-dinput/dinput.hpp
@@ -0,0 +1,28 @@
+#pragma once
+
+#ifdef _WIN32
+
+#ifndef DIRECTINPUT_VERSION
+# define DIRECTINPUT_VERSION 0x800
+#endif
+#include "export.hpp"
+#include <dinput.h>
+#include <windows.h>
+
+struct OPENTRACK_DINPUT_EXPORT dinput_handle final
+{
+ using di_t = LPDIRECTINPUT8;
+private:
+ static dinput_handle self;
+ dinput_handle();
+ ~dinput_handle();
+ static di_t init_di();
+ di_t handle;
+public:
+ static di_t make_di();
+
+ dinput_handle(const dinput_handle&) = delete;
+ dinput_handle(dinput_handle&&) = delete;
+};
+
+#endif