summaryrefslogtreecommitdiffhomepage
path: root/opentrack-dinput/dinput.hpp
diff options
context:
space:
mode:
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