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
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
ocornut
43fbd7ce84
Backends: standardized top of file comments.
2024-12-05 12:43:04 +01:00
ocornut
566558b17c
Replacing NULL with nullptr in examples/backends when they creeped back. ( #6313 , #7071 , #4537 )
2024-12-05 12:25:02 +01:00
ocornut
83660e37e3
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glut.cpp
# backends/imgui_impl_glut.h
# backends/imgui_impl_metal.mm
# imgui.cpp
# imgui_demo.cpp
2024-11-06 17:58:35 +01:00
ocornut
6f287dd16d
(Breaking) Removed pre-1.87 obsolete io.KeyMap[], io.KeysDown[], io.NavInputs[]. Remove IMGUI_DISABLE_OBSOLETE_KEYIO. ( #4921 )
2024-11-06 17:54:59 +01:00
ocornut
c347d6944b
Backends: GLFW: Linux workaround for spurious mouse up events emitted while dragging and creating new viewport. ( #3158 , #7733 , #7922 )
...
Initially suggested by rokups. Rewrote for recent backends with a few tweaks to accomodate for variable WM unfocus timing.
2024-11-05 11:26:38 +01:00
ocornut
942b64abfc
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
2024-10-24 18:15:51 +02:00
ocornut
a908d73c16
Backends: avoid missing -Wmissing-declaration warning. ( #8087 , #7997 )
2024-10-24 17:24:47 +02:00
ocornut
514a97a9b7
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx11.h
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx12.h
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdlrenderer2.cpp
# backends/imgui_impl_sdlrenderer2.h
# backends/imgui_impl_sdlrenderer3.cpp
# backends/imgui_impl_sdlrenderer3.h
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_vulkan.h
# backends/imgui_impl_wgpu.cpp
# backends/imgui_impl_wgpu.h
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_demo.cpp
2024-10-14 19:23:23 +02:00
ocornut
d885fe4dd0
(Breaking) moved ImGuiConfigFlags_NavEnableSetMousePos -> io.ConfigNavMoveSetMousePos, ImGuiConfigFlags_NavNoCaptureKeyboard -> ConfigNavCaptureKeyboard. ( #2517 , #2009 )
2024-10-14 15:29:24 +02:00
ocornut
22503bfe75
Backends: changed all backends to allow enabling ImGuiConfigFlags_ViewportsEnable after initialization. ( #5371 )
2024-10-08 20:47:24 +02:00
ocornut
bc77cccd31
Merge branch 'master' into docking
2024-09-19 14:52:43 +02:00