|
|
@ -88,10 +88,10 @@ struct ImGui_ImplWin32_Data |
|
|
|
INT64 Time; |
|
|
|
INT64 TicksPerSecond; |
|
|
|
ImGuiMouseCursor LastMouseCursor; |
|
|
|
bool HasGamepad; |
|
|
|
bool WantUpdateHasGamepad; |
|
|
|
|
|
|
|
#ifndef IMGUI_IMPL_WIN32_DISABLE_GAMEPAD |
|
|
|
bool HasGamepad; |
|
|
|
bool WantUpdateHasGamepad; |
|
|
|
HMODULE XInputDLL; |
|
|
|
PFN_XInputGetCapabilities XInputGetCapabilities; |
|
|
|
PFN_XInputGetState XInputGetState; |
|
|
@ -129,7 +129,6 @@ bool ImGui_ImplWin32_Init(void* hwnd) |
|
|
|
io.BackendFlags |= ImGuiBackendFlags_HasSetMousePos; // We can honor io.WantSetMousePos requests (optional, rarely used)
|
|
|
|
|
|
|
|
bd->hWnd = (HWND)hwnd; |
|
|
|
bd->WantUpdateHasGamepad = true; |
|
|
|
bd->TicksPerSecond = perf_frequency; |
|
|
|
bd->Time = perf_counter; |
|
|
|
bd->LastMouseCursor = ImGuiMouseCursor_COUNT; |
|
|
@ -139,6 +138,7 @@ bool ImGui_ImplWin32_Init(void* hwnd) |
|
|
|
|
|
|
|
// Dynamically load XInput library
|
|
|
|
#ifndef IMGUI_IMPL_WIN32_DISABLE_GAMEPAD |
|
|
|
bd->WantUpdateHasGamepad = true; |
|
|
|
const char* xinput_dll_names[] = |
|
|
|
{ |
|
|
|
"xinput1_4.dll", // Windows 8+
|
|
|
@ -634,8 +634,10 @@ IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND hwnd, UINT msg, WPARA |
|
|
|
return 1; |
|
|
|
return 0; |
|
|
|
case WM_DEVICECHANGE: |
|
|
|
#ifndef IMGUI_IMPL_WIN32_DISABLE_GAMEPAD |
|
|
|
if ((UINT)wParam == DBT_DEVNODES_CHANGED) |
|
|
|
bd->WantUpdateHasGamepad = true; |
|
|
|
#endif |
|
|
|
return 0; |
|
|
|
} |
|
|
|
return 0; |
|
|
|