You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// [ ] Platform: Mouse cursor shape and visibility (ImGuiBackendFlags_HasMouseCursors). Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'. FIXME: Check if this is even possible with Android.
11
11
// Important:
12
12
// - Consider using SDL or GLFW backend on Android, which will be more full-featured than this.
// [ ] Platform: Mouse cursor shape and visibility (ImGuiBackendFlags_HasMouseCursors). Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'. FIXME: Check if this is even possible with Android.
11
11
// Important:
12
12
// - Consider using SDL or GLFW backend on Android, which will be more full-featured than this.
if ((io.ConfigFlags & ImGuiConfigFlags_NavEnableGamepad) == 0) // FIXME: Technically feeding gamepad shouldn't depend on this now that they are regular inputs.
792
+
if ((io.ConfigFlags & ImGuiConfigFlags_NavEnableGamepad) == 0) // FIXME: Technically feeding gamepad shouldn't depend on this now that they are regular inputs, but see #8075
Copy file name to clipboardExpand all lines: backends/imgui_impl_osx.h
+1-1
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@
7
7
// [X] Platform: Clipboard support is part of core Dear ImGui (no specific code in this backend).
8
8
// [X] Platform: Mouse support. Can discriminate Mouse/Pen.
9
9
// [X] Platform: Keyboard support. Since 1.87 we are using the io.AddKeyEvent() function. Pass ImGuiKey values to all key functions e.g. ImGui::IsKeyPressed(ImGuiKey_Space). [Legacy kVK_* values are obsolete since 1.87 and not supported since 1.91.5]
10
-
// [X] Platform: Gamepad support. Enabled with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'.
10
+
// [X] Platform: Gamepad support.
11
11
// [X] Platform: Mouse cursor shape and visibility (ImGuiBackendFlags_HasMouseCursors). Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
Copy file name to clipboardExpand all lines: backends/imgui_impl_osx.mm
+3-4
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@
7
7
// [X] Platform: Clipboard support is part of core Dear ImGui (no specific code in this backend).
8
8
// [X] Platform: Mouse support. Can discriminate Mouse/Pen.
9
9
// [X] Platform: Keyboard support. Since 1.87 we are using the io.AddKeyEvent() function. Pass ImGuiKey values to all key functions e.g. ImGui::IsKeyPressed(ImGuiKey_Space). [Legacy kVK_* values are obsolete since 1.87 and not supported since 1.91.5]
10
-
// [X] Platform: Gamepad support. Enabled with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'.
10
+
// [X] Platform: Gamepad support.
11
11
// [X] Platform: Mouse cursor shape and visibility (ImGuiBackendFlags_HasMouseCursors). Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
12
12
// [X] Platform: IME support.
13
13
// Missing features or Issues:
@@ -31,6 +31,7 @@
31
31
32
32
// CHANGELOG
33
33
// (minor and older changes stripped away, please see git history for details)
34
+
// 2025-03-21: Fill gamepad inputs and set ImGuiBackendFlags_HasGamepad regardless of ImGuiConfigFlags_NavEnableGamepad being set.
34
35
// 2025-01-20: Removed notification observer when shutting down. (#8331)
35
36
// 2024-08-22: moved some OS/backend related function pointers from ImGuiIO to ImGuiPlatformIO:
if ((io.ConfigFlags & ImGuiConfigFlags_NavEnableGamepad) == 0) // FIXME: Technically feeding gamepad shouldn't depend on this now that they are regular inputs.
Copy file name to clipboardExpand all lines: backends/imgui_impl_sdl2.cpp
+2-1
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@
7
7
// [X] Platform: Clipboard support.
8
8
// [X] Platform: Mouse support. Can discriminate Mouse/TouchScreen.
9
9
// [X] Platform: Keyboard support. Since 1.87 we are using the io.AddKeyEvent() function. Pass ImGuiKey values to all key functions e.g. ImGui::IsKeyPressed(ImGuiKey_Space). [Legacy SDL_SCANCODE_* values are obsolete since 1.87 and not supported since 1.91.5]
10
-
// [X] Platform: Gamepad support. Enabled with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'.
10
+
// [X] Platform: Gamepad support.
11
11
// [X] Platform: Mouse cursor shape and visibility (ImGuiBackendFlags_HasMouseCursors). Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
12
12
// [X] Platform: Basic IME support. App needs to call 'SDL_SetHint(SDL_HINT_IME_SHOW_UI, "1");' before SDL_CreateWindow()!.
13
13
@@ -21,6 +21,7 @@
21
21
22
22
// CHANGELOG
23
23
// (minor and older changes stripped away, please see git history for details)
24
+
// 2025-03-21: Fill gamepad inputs and set ImGuiBackendFlags_HasGamepad regardless of ImGuiConfigFlags_NavEnableGamepad being set.
24
25
// 2025-03-10: When dealing with OEM keys, use scancodes instead of translated keycodes to choose ImGuiKey values. (#7136, #7201, #7206, #7306, #7670, #7672, #8468)
25
26
// 2025-02-26: Only start SDL_CaptureMouse() when mouse is being dragged, to mitigate issues with e.g.Linux debuggers not claiming capture back. (#6410, #3650)
26
27
// 2025-02-24: Avoid calling SDL_GetGlobalMouseState() when mouse is in relative mode.
Copy file name to clipboardExpand all lines: backends/imgui_impl_sdl2.h
+1-1
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@
6
6
// [X] Platform: Clipboard support.
7
7
// [X] Platform: Mouse support. Can discriminate Mouse/TouchScreen.
8
8
// [X] Platform: Keyboard support. Since 1.87 we are using the io.AddKeyEvent() function. Pass ImGuiKey values to all key functions e.g. ImGui::IsKeyPressed(ImGuiKey_Space). [Legacy SDL_SCANCODE_* values are obsolete since 1.87 and not supported since 1.91.5]
9
-
// [X] Platform: Gamepad support. Enabled with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'.
9
+
// [X] Platform: Gamepad support.
10
10
// [X] Platform: Mouse cursor shape and visibility (ImGuiBackendFlags_HasMouseCursors). Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
11
11
// [X] Platform: Basic IME support. App needs to call 'SDL_SetHint(SDL_HINT_IME_SHOW_UI, "1");' before SDL_CreateWindow()!.
Copy file name to clipboardExpand all lines: backends/imgui_impl_sdl3.cpp
+2-1
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@
6
6
// [X] Platform: Clipboard support.
7
7
// [X] Platform: Mouse support. Can discriminate Mouse/TouchScreen.
8
8
// [X] Platform: Keyboard support. Since 1.87 we are using the io.AddKeyEvent() function. Pass ImGuiKey values to all key functions e.g. ImGui::IsKeyPressed(ImGuiKey_Space). [Legacy SDL_SCANCODE_* values are obsolete since 1.87 and not supported since 1.91.5]
9
-
// [X] Platform: Gamepad support. Enabled with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'.
9
+
// [X] Platform: Gamepad support.
10
10
// [X] Platform: Mouse cursor shape and visibility (ImGuiBackendFlags_HasMouseCursors). Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
11
11
// [X] Platform: IME support.
12
12
@@ -20,6 +20,7 @@
20
20
21
21
// CHANGELOG
22
22
// (minor and older changes stripped away, please see git history for details)
23
+
// 2025-03-21: Fill gamepad inputs and set ImGuiBackendFlags_HasGamepad regardless of ImGuiConfigFlags_NavEnableGamepad being set.
23
24
// 2025-03-10: When dealing with OEM keys, use scancodes instead of translated keycodes to choose ImGuiKey values. (#7136, #7201, #7206, #7306, #7670, #7672, #8468)
24
25
// 2025-02-26: Only start SDL_CaptureMouse() when mouse is being dragged, to mitigate issues with e.g.Linux debuggers not claiming capture back. (#6410, #3650)
25
26
// 2025-02-24: Avoid calling SDL_GetGlobalMouseState() when mouse is in relative mode.
Copy file name to clipboardExpand all lines: backends/imgui_impl_sdl3.h
+1-1
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@
6
6
// [X] Platform: Clipboard support.
7
7
// [X] Platform: Mouse support. Can discriminate Mouse/TouchScreen.
8
8
// [X] Platform: Keyboard support. Since 1.87 we are using the io.AddKeyEvent() function. Pass ImGuiKey values to all key functions e.g. ImGui::IsKeyPressed(ImGuiKey_Space). [Legacy SDL_SCANCODE_* values are obsolete since 1.87 and not supported since 1.91.5]
9
-
// [X] Platform: Gamepad support. Enabled with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'.
9
+
// [X] Platform: Gamepad support.
10
10
// [X] Platform: Mouse cursor shape and visibility (ImGuiBackendFlags_HasMouseCursors). Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
Copy file name to clipboardExpand all lines: backends/imgui_impl_sdlgpu3.cpp
+5-4
Original file line number
Diff line number
Diff line change
@@ -17,10 +17,11 @@
17
17
// - Introduction, links and more at the top of imgui.cpp
18
18
19
19
// Important note to the reader who wish to integrate imgui_impl_sdlgpu3.cpp/.h in their own engine/app.
20
-
// - Unlike other backends, the user must call the function Imgui_ImplSDLGPU3_PrepareDrawData() BEFORE issuing a SDL_GPURenderPass containing ImGui_ImplSDLGPU3_RenderDrawData.
20
+
// - Unlike other backends, the user must call the function ImGui_ImplSDLGPU3_PrepareDrawData() BEFORE issuing a SDL_GPURenderPass containing ImGui_ImplSDLGPU3_RenderDrawData.
21
21
// Calling the function is MANDATORY, otherwise the ImGui will not upload neither the vertex nor the index buffer for the GPU. See imgui_impl_sdlgpu3.cpp for more info.
22
22
23
23
// CHANGELOG
24
+
// 2025-03-21: Fixed typo in function name Imgui_ImplSDLGPU3_PrepareDrawData() -> ImGui_ImplSDLGPU3_PrepareDrawData().
24
25
// 2025-01-16: Renamed ImGui_ImplSDLGPU3_InitInfo::GpuDevice to Device.
25
26
// 2025-01-09: SDL_GPU: Added the SDL_GPU3 backend.
Copy file name to clipboardExpand all lines: backends/imgui_impl_sdlgpu3.h
+2-2
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@
17
17
// - Introduction, links and more at the top of imgui.cpp
18
18
19
19
// Important note to the reader who wish to integrate imgui_impl_sdlgpu3.cpp/.h in their own engine/app.
20
-
// - Unline other backends, the user must call the function Imgui_ImplSDLGPU_PrepareDrawData BEFORE issuing a SDL_GPURenderPass containing ImGui_ImplSDLGPU_RenderDrawData.
20
+
// - Unlike other backends, the user must call the function ImGui_ImplSDLGPU_PrepareDrawData BEFORE issuing a SDL_GPURenderPass containing ImGui_ImplSDLGPU_RenderDrawData.
21
21
// Calling the function is MANDATORY, otherwise the ImGui will not upload neither the vertex nor the index buffer for the GPU. See imgui_impl_sdlgpu3.cpp for more info.
Copy file name to clipboardExpand all lines: backends/imgui_impl_win32.cpp
+1-3
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@
5
5
// [X] Platform: Clipboard support (for Win32 this is actually part of core dear imgui)
6
6
// [X] Platform: Mouse support. Can discriminate Mouse/TouchScreen/Pen.
7
7
// [X] Platform: Keyboard support. Since 1.87 we are using the io.AddKeyEvent() function. Pass ImGuiKey values to all key functions e.g. ImGui::IsKeyPressed(ImGuiKey_Space). [Legacy VK_* values are obsolete since 1.87 and not supported since 1.91.5]
8
-
// [X] Platform: Gamepad support. Enabled with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'.
8
+
// [X] Platform: Gamepad support.
9
9
// [X] Platform: Mouse cursor shape and visibility (ImGuiBackendFlags_HasMouseCursors). Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
10
10
11
11
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
//if ((io.ConfigFlags & ImGuiConfigFlags_NavEnableGamepad) == 0) // FIXME: Technically feeding gamepad shouldn't depend on this now that they are regular inputs.
339
-
// return;
340
338
341
339
// Calling XInputGetState() every frame on disconnected gamepads is unfortunately too slow.
342
340
// Instead we refresh gamepad availability by calling XInputGetCapabilities() _only_ after receiving WM_DEVICECHANGE.
Copy file name to clipboardExpand all lines: backends/imgui_impl_win32.h
+1-1
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@
5
5
// [X] Platform: Clipboard support (for Win32 this is actually part of core dear imgui)
6
6
// [X] Platform: Mouse support. Can discriminate Mouse/TouchScreen/Pen.
7
7
// [X] Platform: Keyboard support. Since 1.87 we are using the io.AddKeyEvent() function. Pass ImGuiKey values to all key functions e.g. ImGui::IsKeyPressed(ImGuiKey_Space). [Legacy VK_* values are obsolete since 1.87 and not supported since 1.91.5]
8
-
// [X] Platform: Gamepad support. Enabled with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'.
8
+
// [X] Platform: Gamepad support.
9
9
// [X] Platform: Mouse cursor shape and visibility (ImGuiBackendFlags_HasMouseCursors). Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
10
10
11
11
// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
Copy file name to clipboardExpand all lines: examples/example_sdl3_sdlgpu3/main.cpp
+3-3
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@
7
7
// - Introduction, links and more at the top of imgui.cpp
8
8
9
9
// Important note to the reader who wish to integrate imgui_impl_sdlgpu3.cpp/.h in their own engine/app.
10
-
// - Unlike other backends, the user must call the function Imgui_ImplSDLGPU_PrepareDrawData() BEFORE issuing a SDL_GPURenderPass containing ImGui_ImplSDLGPU_RenderDrawData.
10
+
// - Unlike other backends, the user must call the function ImGui_ImplSDLGPU_PrepareDrawData() BEFORE issuing a SDL_GPURenderPass containing ImGui_ImplSDLGPU_RenderDrawData.
11
11
// Calling the function is MANDATORY, otherwise the ImGui will not upload neither the vertex nor the index buffer for the GPU. See imgui_impl_sdlgpu3.cpp for more info.
12
12
13
13
#include"imgui.h"
@@ -178,8 +178,8 @@ int main(int, char**)
178
178
179
179
if (swapchain_texture != nullptr && !is_minimized)
180
180
{
181
-
// This is mandatory: call Imgui_ImplSDLGPU3_PrepareDrawData() to upload the vertex/index buffer!
0 commit comments