ocornut
c99ac2451f
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_vulkan.cpp
2025-07-08 17:25:22 +02:00
Pascal Thomet
18dca11dd0
Backends: GLFW, SDL2: ImplXXX_GetContentScaleXXX() helpers return 1.0f on emscripten / apple / android ( #8742 , #8733 )
...
We can divide platforms into two cases based on how they report screen geometry:
- Case 1: Platforms which report screen size in "physical pixels": Windows (for "Dpi aware" apps), Linux (with Wayland)
- Case 2: Platforms which report screen size in "density-independent pixels": macOS, iOS, Android, emscripten
As a consequence, there are two important things we need to know:
- FramebufferScale: The scaling factor FrameBufferSize / ScreenSize
- In case 1, the framebuffer size is equal to the screen size and DisplayFramebufferScale=1.
- In case 2, the framebuffer size is equal to the screen size multiplied by a factor, for example DisplayFramebufferScale=2.
- ContentScale The scaling factor for the content that we will display
- In case 1, the content scale will often need to be > 1 (e.g., 2), because we will need to display bigger elements so that they show with a correct physical size on the screen.
- In case 2, the content scale is equal to 1
This commit fixes ContentScale for platforms in case 2.
2025-07-08 15:53:42 +02:00
ocornut
495d6f1e39
Undef 'Status' in main header file. ( #8751 , #8765 )
2025-07-07 14:56:50 +02:00
ocornut
92e2df5978
Merge branch 'master' into docking
2025-06-30 21:18:46 +02:00
ocornut
d99ab9f903
Backends: SDL2: undef Status for X11. ( #8751 )
2025-06-28 17:15:18 +02:00
ocornut
4fde473f38
Backends: warning fixes (for docking branch).
2025-06-20 15:24:52 +02:00
ocornut
b580c11303
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl2.cpp
2025-06-20 15:19:36 +02:00
ocornut
e97e55adbc
Backends: Fixed various warnings discovered when using MinGW GCC 15/Clang on latest backends.
...
dx12: 'ImGui_ImplDX12_Data* bd' shadowed local in spite of being in lambda.
2025-06-20 15:18:00 +02:00
ocornut
9a50c09172
Bsckends: SDL2, GLFW: fixed ImGui_ImplXXXX_GetContentScaleXXX functions never using SDL 2.0.4 & GLFW 3.3 path in master.
...
Amend 9da3e6696a
, 8269924c
(was broken for master)
2025-06-20 14:38:33 +02:00
ocornut
65857236c7
Backends: GLFW, SDL2, SDL3, update for docking to use helpers.
2025-06-11 18:07:43 +02:00
ocornut
6af6cec23f
Merge branch 'master_fonts' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx10.h
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_metal.h
# backends/imgui_impl_metal.mm
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl2.h
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_opengl3.h
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_sdlgpu3.cpp
# backends/imgui_impl_sdlgpu3.h
# backends/imgui_impl_vulkan.cpp
# examples/example_glfw_opengl3/main.cpp
# examples/example_sdl2_directx11/main.cpp
# examples/example_sdl2_opengl2/main.cpp
# examples/example_sdl2_opengl3/main.cpp
# examples/example_sdl2_vulkan/main.cpp
# examples/example_sdl3_opengl3/main.cpp
# examples/example_sdl3_sdlgpu3/main.cpp
# examples/example_sdl3_vulkan/main.cpp
# examples/example_win32_directx10/main.cpp
# examples/example_win32_directx11/main.cpp
# examples/example_win32_directx12/main.cpp
# examples/example_win32_directx9/main.cpp
# imgui.cpp
# imgui.h
# imgui_demo.cpp
# imgui_internal.h
2025-06-11 18:07:19 +02:00
ocornut
b98e92839c
Backends: SDL2, SDL3, GLFW: Backport small part of c90ea13
from docking.
2025-06-11 16:24:04 +02:00
ocornut
9da3e6696a
Backends: SDL2: added ImGui_ImplSDL2_GetDpiScaleForDisplay(), ImGui_ImplSDL2_GetContentScaleForWindow() helpers.
2025-06-11 16:12:41 +02:00
ocornut
e11ad6b77e
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# imgui.cpp
2025-05-19 18:48:22 +02:00
ocornut
9361c35176
Backends: SDL2, SDL3: maximum room for sanitizer to not be zealous.
2025-05-15 15:36:42 +02:00
ocornut
c008c7d494
Merge remote-tracking branch 'origin/master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
2025-05-15 14:45:15 +02:00
ocornut
c90ea1315a
Viewports: added per-viewport FramebufferScale, Platform_GetWindowFramebufferScale() + Backends: GLFW, SDL2, SDL3, Apple: added support. ( #1065 , #1542 , #1676 , #1786 , #2826 , #3757 , #5081 , #5580 , #5592 , #6465 , #7273 , #7779 etc.)
...
)
Metal backend is not in charge of writing to DpiScale/FramebufferScale (tho it was a neat workaround).
2025-05-15 14:43:30 +02:00
ocornut
08689c51a9
Backends: GLFW, SDL2, SDL3: include GLFW/SDL version number in io.BackendPlatformName.
...
# Conflicts:
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
2025-05-13 15:50:51 +02:00
ocornut
fcdaa32793
Backends: GLFW: Disable multi-viewports under Wayland. ( #8587 )
2025-04-26 14:54:09 +02:00
ocornut
fe298cf984
Revert "Backends: SDL2, SDL3: viewports created with ImGuiViewportFlags_NoInputs are passing SDL_WINDOW_TOOLTIP to SDL_CreateWindow(). ( #8576 )"
...
This reverts commit 2a000ee091
.
2025-04-25 20:10:46 +02:00
ocornut
2a000ee091
Backends: SDL2, SDL3: viewports created with ImGuiViewportFlags_NoInputs are passing SDL_WINDOW_TOOLTIP to SDL_CreateWindow(). ( #8576 )
...
Which reduces issues related to losing key down state on focus loss.
2025-04-23 19:12:32 +02:00
ocornut
f53de38e1f
Viewports, Backends: Debug logging.
2025-04-23 16:47:00 +02:00
ocornut
06c2c9f456
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
2025-04-09 19:08:45 +02:00
Zane van Iperen
74e453cf15
Backends: SDL2, SDL3: don't attempt to call SDL_CaptureMouse() on drivers where we don't call SDL_GetGlobalMouseState(). ( #8561 )
2025-04-09 14:58:32 +02:00
ocornut
b811c42034
Backends: SDL2/SDL3: revert updating monitors and work area info every frame. Workaround for Windows. ( #8415 , #8558 )
...
Partly revert logic from 1a7b5945c7
.
2025-04-09 14:28:43 +02:00
ocornut
df5690d91a
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# imgui.cpp
2025-03-30 16:42:28 +02:00
ocornut
979c7d76ab
Backends: SDL2, SDL3, OSX: Fill gamepad inputs and set ImGuiBackendFlags_HasGamepad regardless of ImGuiConfigFlags_NavEnableGamepad being set. ( #8508 )
2025-03-21 15:42:47 +01:00
ocornut
aa97252f60
Merge branch 'master' into docking
...
# Conflicts:
# imgui_internal.h
2025-03-13 21:01:21 +01:00
ocornut
51e4cba909
Backends: Fixed zealous warnings.
2025-03-11 12:05:23 +01:00
ocornut
6972b6c380
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_win32.cpp
2025-03-10 20:02:36 +01:00
ocornut
a9e53829d2
Backends: Win32, SDL2, SDL3, GLFW: prioritize scancodes instead of translated keycodes when dealing with OEM keys + Added ImGuiKey_Oem102. ( #7136 , #7201 , #7206 , #7306 , #7670 , #7672 , #8468 )
2025-03-10 18:01:29 +01:00
ocornut
3fb14b50f8
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# imgui.cpp
2025-02-26 21:08:45 +01:00
ocornut
aa83d5d455
Backends: SDL2, SDL3: Only start SDL_CaptureMouse() when mouse is being dragged. ( #6410 , #3650 )
...
To mitigate issues with e.g. Linux debuggers not claiming capture back.
2025-02-26 15:34:31 +01:00
ocornut
2db3e9d439
Backends: SDL2, SDL3: Use display bounds when SDL_GetDisplayUsableBounds() fails or return a zero size. ( #8415 , #3457 )
...
Analoguous to aa8e09d7f1
for GLFW.
2025-02-25 17:11:56 +01:00
ocornut
9ab0b66f50
Backends: fixed comment to state that ImGuiViewport::PlaformHandle is used to store SDL's WindowID, not SDL_Window*. ( #7853 )
...
Amend 2d99052
2025-02-25 15:55:54 +01:00
TheMode
dac40d0487
Backends: SDL2, SDL3: don't call SDL_GetGlobalMouseState() when mouse position is in relative mode. ( #8425 , #8407 )
2025-02-24 12:26:48 +01:00
ocornut
773060155f
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_glfw.h
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_osx.h
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
2025-02-21 19:56:20 +01:00
ocornut
1a7b5945c7
Backends: GLFW/SDL2/SDL3: Update monitors and work areas information every frame, as the later may change regardless of monitor changes. ( #8415 )
2025-02-21 19:23:39 +01:00
ocornut
eec097fe35
Added ImGuiMouseCursor_Progress mouse cursor 8a35386+ support in SDL2,SDL3,Win32,Allegro5 backends.
...
Amend 8a35386
2025-02-18 18:52:08 +01:00
ocornut
8a35386ba7
Added ImGuiMouseCursor_Wait mouse cursor (busy/wait/hourglass shape) + support in SDL2,SDL3,Win32,Allegro5 backends.
2025-02-18 18:40:47 +01:00
ocornut
afd659bb92
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_vulkan.cpp
2025-02-17 11:46:16 +01:00
ocornut
b78cc37891
Backends: SDL2: Fixed build for versions older than 2.0.14. ( #7660 )
2025-02-12 19:27:43 +01:00
ocornut
71d39a4634
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# imgui.cpp
# imgui_internal.h
2025-02-12 19:17:48 +01:00
ocornut
a431e1277e
Backends: SDL2, SDL3: Using SDL_OpenURL() in platform_io.Platform_OpenInShellFn handler. ( #7660 )
2025-02-10 12:09:44 +01:00
ocornut
6e94f6cefb
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# imgui.cpp
# imgui_internal.h
2025-01-20 18:04:31 +01:00
ocornut
4c2e7bb035
Backends: SDL2,SDL3: removed assert preventing using ImGui_ImplSDL2_SetGamepadMode()/ImGui_ImplSDL3_SetGamepadMode() with ImGui_ImplSDL2_GamepadMode_Manual/ImGui_ImplSDL3_GamepadMode_Manual and an empty array. ( #8329 )
2025-01-20 15:24:46 +01:00
ocornut
c0ae3258f9
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2025-01-14 13:46:39 +01:00
ocornut
6fb7d44255
Backends: SDL2/SDL3: Comments. ( #7672 , #7670 )
2025-01-13 17:40:38 +01:00
ocornut
960a6f14bf
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_metal.mm
# imgui.cpp
2025-01-08 14:36:14 +01:00
ocornut
a9cd0f5e42
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_allegro5.cpp
# backends/imgui_impl_allegro5.h
# backends/imgui_impl_android.cpp
# backends/imgui_impl_android.h
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx10.h
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_dx9.h
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_glfw.h
# backends/imgui_impl_metal.h
# backends/imgui_impl_metal.mm
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl2.h
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_opengl3.h
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl2.h
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_sdl3.h
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_vulkan.h
# backends/imgui_impl_win32.cpp
# backends/imgui_impl_win32.h
# imgui.cpp
2024-12-11 12:27:25 +01:00