summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2014-10-13 12:45:47 -0400
committerLioncash <mathew1800@gmail.com>2014-10-15 09:29:25 -0400
commitb7b2074cc2e78bb13160372ee82be7f85d0e3772 (patch)
treec5760301847ada1d17a10bfe01ec638d758d8388 /Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp
parent89123155960021d4a026f98a8fb6c1ca3a03a630 (diff)
ControllerInterface: Get rid of SetHwnd(), introduce Reinitialize()
Initialize now just takes the handle directly. Reinitialize is added because it is much more straightforward in comparison to doing the Shutdown-Initialize manually.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp')
-rw-r--r--Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp31
1 files changed, 16 insertions, 15 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp b/Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp
index 09fcf12ed8..ec2973f3d3 100644
--- a/Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp
@@ -41,25 +41,27 @@ ControllerInterface g_controller_interface;
//
// Detect devices and inputs outputs / will make refresh function later
//
-void ControllerInterface::Initialize()
+void ControllerInterface::Initialize(void* const hwnd)
{
if (m_is_init)
return;
+ m_hwnd = hwnd;
+
#ifdef CIFACE_USE_DINPUT
- ciface::DInput::Init(m_devices, (HWND)m_hwnd);
+ ciface::DInput::Init(m_devices, (HWND)hwnd);
#endif
#ifdef CIFACE_USE_XINPUT
ciface::XInput::Init(m_devices);
#endif
#ifdef CIFACE_USE_XLIB
- ciface::Xlib::Init(m_devices, m_hwnd);
+ ciface::Xlib::Init(m_devices, hwnd);
#ifdef CIFACE_USE_X11_XINPUT2
- ciface::XInput2::Init(m_devices, m_hwnd);
+ ciface::XInput2::Init(m_devices, hwnd);
#endif
#endif
#ifdef CIFACE_USE_OSX
- ciface::OSX::Init(m_devices, m_hwnd);
+ ciface::OSX::Init(m_devices, hwnd);
#endif
#ifdef CIFACE_USE_SDL
ciface::SDL::Init(m_devices);
@@ -71,6 +73,15 @@ void ControllerInterface::Initialize()
m_is_init = true;
}
+void ControllerInterface::Reinitialize()
+{
+ if (!m_is_init)
+ return;
+
+ Shutdown();
+ Initialize(m_hwnd);
+}
+
//
// DeInit
//
@@ -120,16 +131,6 @@ void ControllerInterface::Shutdown()
}
//
-// SetHwnd
-//
-// Sets the hwnd used for some crap when initializing, use before calling Init
-//
-void ControllerInterface::SetHwnd( void* const hwnd )
-{
- m_hwnd = hwnd;
-}
-
-//
// UpdateInput
//
// Update input for all devices, return true if all devices returned successful