ocornut
aa9476a38a
IO: added ImGuiPlatformIO::ClearPlatformHandlers(), ClearRendererHandlers(). Backends: call those on Shutdown(). ( #8945 , #2769 )
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_metal.mm
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# backends/imgui_impl_sdlgpu3.cpp
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_win32.cpp
# docs/CHANGELOG.txt
# imgui.h
2025-09-18 17:02:44 +02:00
ocornut
34bff4672c
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# docs/CHANGELOG.txt
# examples/example_glfw_metal/main.mm
# examples/example_glfw_opengl2/main.cpp
# examples/example_glfw_vulkan/main.cpp
# examples/example_win32_opengl3/main.cpp
# examples/example_win32_vulkan/main.cpp
# imgui.h
2025-09-17 18:48:39 +02:00
ocornut
6274ca4266
Backends: GLFW: fixed build for Emscripten which doesn't expose glfw3native.h.
...
Amend 10d0162
2025-09-15 19:28:01 +02:00
ocornut
d92c8c6aff
Backends: SDL2: Content Scales are always reported as 1.0 on Wayland. ( #8921 )
...
SDL_GetDisplayDPI() seems generally broken on X11/Wayland, but our logs shows that on Wayland we get both a content scale from SDL_GetDisplayDPI() and a framebuffer scale.
2025-09-15 19:20:56 +02:00
ocornut
72c00f39c1
Backends: GLFW: fix ImGui_ImplGlfw_IsWayland() amend broken 10d0162
. ( #8921 , #8920 )
...
Accidentally broke this while shuffling code...
2025-09-15 19:16:05 +02:00
ocornut
2675b7ca26
Backends: GLFW: Content Scales always reported as 1.0 on Wayland, FramebufferScale always reported as 1.0 on X11. ( #8920 , #8921 )
2025-09-15 18:55:09 +02:00
ocornut
10d0162378
Backends: GLFW: added ImGui_ImplGlfw_IsWayland(). ( #8921 , #8920 )
...
(technically presently untested but we've researched this)
2025-09-15 18:40:22 +02:00
ocornut
a4cd45f44c
Backends: GLFW: fixed imgui_impl_glfw.cpp being affected by X headers '#define Status' leak since 6b2cdf2
. ( #8884 )
2025-09-12 19:51:31 +02:00
ocornut
37b18acdf5
Backends: GLFW: improve multi-viewport behavior in tiling WMs (X11). Amends. ( #8884 , #8474 , #8289 )
2025-09-10 20:28:30 +02:00
ikos3k
6b2cdf29bc
Backends: GLFW: improve multi-viewport behavior in tiling WMs (X11) ( #8884 , #8474 , #8289 )
...
- Implement _NET_WM_WINDOW_TYPE_DIALOG for viewports
- Fix override_redirect for proper WM control
- Tested on i3wm and xfce4
2025-09-10 20:04:04 +02:00
ocornut
ab760992ad
Merge branch 'master' into docking
2025-09-08 13:35:24 +02:00
fdsa
09ebcf1779
Docs: fixed mismatched parentheses & other small changes. ( #8922 )
2025-09-08 11:30:14 +02:00
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
efe2b21a5f
Backends: GLFW: Fixed not installing WndProc hook in all GLFW version, so AddMouseSourceEvent() logic was missing for some viewports.
2025-06-21 20:10:18 +02:00
ocornut
e132b444a9
Backends: GLFW: Fixed crash when using GLFW 3.3 ( #8713 , #8676 , #8239 , #8069 )
...
Amend 2a8c75f
2025-06-21 20:04:42 +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
2a8c75f3e6
Backends: GLFW: amend for multi-context support with multi-viewport. ( #8676 , #8239 , #8069 )
2025-06-18 17:01:49 +02:00
ocornut
c2c38beec8
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_glfw.h
2025-06-18 16:55:20 +02:00
ocornut
f633a60581
Backends: GLFW: Added support for multiple Dear ImGui contexts. ( #8676 , #8239 , #8069 )
2025-06-18 16:46:37 +02:00
ocornut
d290e583c5
Backends: GLFW: fixed WndProc relying on current context. ( #8676 , #8239 , #8069 )
...
This makes the backend closer to support multi-context.
2025-06-18 16:39:57 +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
8269924c33
Backends: GLFW: added ImGui_ImplGlfw_GetContentScaleForMonitor(), ImGui_ImplGlfw_GetContentScaleForWindow() helpers.
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
2025-06-11 16:13:49 +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
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
79bba34c5f
Revert "Added ImGuiKey_AbntC1, ImGuiKey_AbntC2 + Backends: GLFW, Win32: added support. ( #8468 )"
...
This reverts commit 557c77e455
.
2025-03-13 16:32:50 +01:00
ocornut
557c77e455
Added ImGuiKey_AbntC1, ImGuiKey_AbntC2 + Backends: GLFW, Win32: added support. ( #8468 )
2025-03-11 18:38:45 +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
935938bbd9
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
2025-03-03 18:57:42 +01:00
ocornut
ce13f6b73e
Backends: GLFW: Fixed clipboard handler assertion when using GLFW <= 3.2.1 compiled with asserts enabled. ( #8452 )
...
Amend 8e4010479
2025-03-03 13:11:16 +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
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
8679cfa2d8
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_glfw.h
# examples/example_apple_metal/example_apple_metal.xcodeproj/project.pbxproj
# imgui.cpp
2025-02-07 18:27:32 +01:00
fdsa
4f1d3809c3
Fixed tabs and spaces ( #8377 )
2025-02-06 19:54:43 +01:00
ocornut
2d20e13746
Backends: GLFW: Added comment about io.AddMouseSourceEvent() not being properly called. ( #8374 )
2025-02-04 20:19:57 +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
Arash Partow
63649e0359
Avoid clang/gcc warnings: -Wnontrivial-memaccess. ( #8295 )
2025-01-08 11:40:59 +01:00