CommonLibSSE (powerof3)
BSDirectInputManager.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTSingleton.h"
4 
5 #include "REX/W32/BASE.h"
6 
7 namespace REX::W32
8 {
9  struct DIDEVICEOBJECTDATA;
10  struct IDirectInput8A;
11  struct IDirectInputDevice8A;
12 }
13 
14 namespace RE
15 {
16  class BSDirectInputManager : public BSTSingletonSDM<BSDirectInputManager>
17  {
18  public:
20 
21  REX::W32::IDirectInputDevice8A* CreateDeviceWithGUID(REX::W32::GUID* a_guid);
22  void GetDeviceState(REX::W32::IDirectInputDevice8A* a_device, std::uint32_t a_size, void* a_outData);
23  void GetDeviceData(REX::W32::IDirectInputDevice8A* a_device, std::uint32_t* a_dataSize, REX::W32::DIDEVICEOBJECTDATA** a_outData);
24  void ReleaseDevice(REX::W32::IDirectInputDevice8A* a_device);
25 
26  // members
27  std::uint32_t pad00; // 00
28  REX::W32::IDirectInput8A* diInterface; // 08
29  };
30  static_assert(sizeof(BSDirectInputManager) == 0x10);
31 }
Definition: BSDirectInputManager.h:17
void GetDeviceState(REX::W32::IDirectInputDevice8A *a_device, std::uint32_t a_size, void *a_outData)
REX::W32::IDirectInputDevice8A * CreateDeviceWithGUID(REX::W32::GUID *a_guid)
REX::W32::IDirectInput8A * diInterface
Definition: BSDirectInputManager.h:28
std::uint32_t pad00
Definition: BSDirectInputManager.h:27
void ReleaseDevice(REX::W32::IDirectInputDevice8A *a_device)
static BSDirectInputManager * GetSingleton()
void GetDeviceData(REX::W32::IDirectInputDevice8A *a_device, std::uint32_t *a_dataSize, REX::W32::DIDEVICEOBJECTDATA **a_outData)
Definition: BSDirectInputManager.h:8
Definition: AbsorbEffect.h:6
Definition: DINPUT.h:309
Definition: BASE.h:63
Definition: BSTSingleton.h:50