Commit Graph

514 Commits

Author SHA1 Message Date
ocornut
9064dbd404 Backends: DX9: Fixed incorrect assert triggering on reopening session with minimized windows. (#3424) 2023-10-02 15:28:22 +02:00
ocornut
d27b4ad366 Backends: GLFW: support for case where secondary viewport WndProc is not the same as main viewport one. (#6889) 2023-10-02 12:09:13 +02:00
ocornut
17bfafda55 Backends: GLFW: moved WndProc hook to bottom of file + rename a field. (#6889)
No functional change in this commit.
2023-10-02 12:09:08 +02:00
ocornut
bb2fb74645 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_win32.cpp
#	imgui.cpp
2023-09-26 11:42:49 +02:00
ocornut
12ee2dd789 Backends: Win32: Synthesize key-down event on key-up for VK_SNAPSHOT / ImGuiKey_PrintScreen as Windows doesn't emit it. (#6859) 2023-09-25 10:58:29 +02:00
ocornut
7e246a7bb9 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2023-09-16 13:51:51 +02:00
ocornut
357f752bed Docs: add more links to the top of every examples and backends files. 2023-09-11 14:01:40 +02:00
ocornut
72dbe45adc Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_win32.cpp
#	imgui.cpp
2023-09-08 18:02:06 +02:00
sneakyevil
c9d3c29aa3 Backend: Win32: support keyboard codepage conversion for when compiling in MBCS mode and creating a non-Unicode window. (#6785, #6782, #5725) 2023-09-07 14:08:58 +02:00
Deal
56a7b8b724 Backends: GLFW: Clear emscripten's MouseWheel callback before shutdown. (#6790, #6096, #4019) 2023-09-06 11:49:23 +02:00
ocornut
475453668d Backends: SDL2/SDL3: Fixed bad merge in docking branch (#6735) 2023-08-26 11:45:21 +02:00
ocornut
676497fe05 Merge branch 'master' into docking
ac64b65 on master seemed incorrect.

# Conflicts:
#	docs/CHANGELOG.txt
#	imgui.cpp
#	imgui_internal.h
#	imgui_widgets.cpp
2023-08-25 14:20:51 +02:00
ocornut
162f8e01aa Backends: SDL3: fixed typo in 1e17d59 (#6735) 2023-08-21 13:12:50 +02:00
ocornut
1161301386 Backends: amend "Missing features" sections for multi-viewports support. 2023-08-15 13:02:56 +02:00
ocornut
1e17d59965 Backends: SDL2,SDL3: added ImGui_ImplSDL2_InitForOther() / ImGui_ImplSDL3_InitForOther().
e.g. WebGPU users use a similarly named functions from GLFW backend.
2023-08-15 12:48:46 +02:00
ocornut
f8f805f046 Merge branch 'master' into docking
# 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_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_vulkan.cpp
#	backends/imgui_impl_win32.cpp
2023-07-20 23:18:47 +02:00
scorpion-26
e5977f05d8 Backends: GLFW: revert support for GLFW_CURSOR_DISABLED, let user use ImGuiConfigFlags_NoMouse. (#5625, #6609) 2023-07-18 11:49:43 +02:00
williamhCode
3dc3aef8a4 Backends: WebGPU: fix webgpu changes for Dawn. (#6602, #6188) 2023-07-13 12:42:08 +02:00
ocornut
0e8eb8c48e Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
Our codebase requires VS2012+ since a while.
2023-07-13 12:38:16 +02:00
ocornut
33e13c85e1 Backends: Made all backends sources files support global IMGUI_DISABLE. (#6601) 2023-07-13 11:27:52 +02:00
ohthesetrees
8566fec661
Backends: SDL3: Changing SDL_WINDOW_SKIP_TASKBAR to SDL_WINDOW_UTILITY for SDL3 (#6573) 2023-07-05 11:01:56 +02:00
sean
ac8573884d Backends: Vulkan: Amends for docking branch. (#5446, #5037) 2023-07-04 15:02:21 +02:00
ocornut
677c7b2258 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_vulkan.cpp
#	docs/CHANGELOG.txt
#	docs/TODO.txt
2023-07-04 14:58:03 +02:00
ocornut
121072cfe6 Backends: Vulkan: Amend for support for dynamic_rendering (#5446, #5037)
Simplified for master branch.

# Conflicts:
#	backends/imgui_impl_vulkan.cpp
2023-07-04 14:16:28 +02:00
sean
7812e836e4 Backends: Vulkan: Support for dynamic_rendering (#5446, #5037)
Co-authored-by: Caio Oliveira <cmarcelo@gmail.com>
Simplified for master branch.

# Conflicts:
#	backends/imgui_impl_vulkan.cpp
2023-07-04 14:01:27 +02:00
ocornut
6b01114057 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_opengl3.cpp
2023-06-23 16:04:13 +02:00
ocornut
cb5542bce5 Backends: OpenGL3: Fixed erroneous use glGetIntegerv(GL_CONTEXT_PROFILE_MASK) on contexts lower than 3.2. (#6539, #6333) 2023-06-20 15:30:52 +02:00
ocornut
1450d23b60 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_glfw.cpp
#	docs/CHANGELOG.txt
#	imgui.cpp
2023-06-20 15:12:09 +02:00
ocornut
b9db5c566b Backends: Win32: Added support for updating ParentViewportID after viewport creation.
This tends to be desirable for applicaton manipulating this value via ImGuiWindowClass::ParentViewportID.
I thought it would be a simple call to SetParent(), it's only slightly more complicated but added comments about it.
2023-06-15 11:26:27 +02:00
ocornut
884e3fd21f Backends: GLFW: Accept glfwGetTime() not returning a monotonically increasing value. (#6491, #6189, #6114) 2023-06-12 11:58:17 +02:00
ocornut
dec082ff97 Backends: OpenGL3: Fixed support for glBindSampler() backup/restore on ES3. (#6375, #6508)
Amend dd9db5e8 + 39f7248d4
2023-06-12 11:45:11 +02:00
Luca Lolli
8fd0a04135
Backends: SDL3: Fix backend in docking/multi-viewports branch. (#6483)
The definition has been renamed to SDL_EVENT_DISPLAY_CONTENT_SCALE_CHANGED.
Display scale is no longer available in SDL_DisplayMode but can be retrieved using SDL_GetDisplayContentScale.
2023-06-01 11:30:26 +02:00
ocornut
823a1385a2 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_sdlrenderer.h
#	docs/CHANGELOG.txt
#	imgui.cpp
2023-05-31 14:51:56 +02:00
ocornut
b476184574 Backends: SDLRenderer3: Amend/finish SDL_Renderer3 patch + add example. (#6286) 2023-05-30 20:36:07 +02:00
Andrea Carcone
0b57c07c79
Backends: SDL3: Add SDL_Renderer for SDL3 implementation. (#6286)
This is mostly a duplicate of SDL2 version with a few changes:
SDL_GetRenderScale -> SDL_RenderGetScale
SDL_ScaleModeLinear -> SDL_SCALEMODE_LINEAR
2023-05-30 20:30:30 +02:00
ocornut
b709b02e96 Backends: SDL_Renderer2: renamed all functions accordingly. (#6286) 2023-05-30 20:15:31 +02:00
ocornut
88e7d773df Backends: SDL_Renderer2: Renamed 'imgui_impl_sdlrenderer.h/cpp' to 'imgui_impl_sdlrenderer2.h/cpp' (#6286) 2023-05-30 20:11:19 +02:00
S41L0R
f0f3b927e0
Backends: GLFW: Avoid linking with GLFW function for homebrew switch (#6473) 2023-05-30 10:27:21 +02:00
slowriot
6cc967a124
Backends: GLFW: Only enable Vulkan support if not building with Emscripten (#6468) 2023-05-28 18:08:06 +02:00
omar
2e810d575c
Backends: GLFW: Fix breaking typo 19b436f68 (#5683, #6459) 2023-05-26 13:41:45 +02:00
ocornut
19b436f68d Backends: GLFW: Preserve monitor list when there are no monitor. (#5683) 2023-05-25 15:38:35 +02:00
ocornut
52e19113f3 Backends: OpenGL3: Added more explicit comments about using GL ES2/3 on targets where it's not automatic. (#6450) 2023-05-23 11:43:16 +02:00
ocornut
530134d125 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_metal.mm
#	backends/imgui_impl_opengl3.cpp
#	backends/imgui_impl_osx.mm
#	backends/imgui_impl_sdl3.cpp
#	imgui.cpp
2023-05-10 12:57:37 +02:00
Jason Millard
39f7248d4a Backends: OpenGL3: Add glBindSampler for GL ES 3.0. (#6375)
Amended given addition of GlProfileIsES3 in dd9db5e
2023-05-09 15:17:18 +02:00
ocornut
dd9db5e889 Backends: OpenGL3: Added runtime flags for ES2/ES3 to simplify coding-style. (#6375) 2023-05-09 15:09:47 +02:00
Alex
70cca1eac0
Backends: avoid null dereference in metal and osx shutdown (#6385, #6334)
Co-authored-by: Alexander Rath <alex@ist.besonders.cool>
2023-05-04 17:18:29 +02:00
ocornut
5dc6013713 Backends: SDL3: Fixed build on Emscripten/iOS/Android. (#6391) 2023-05-04 17:06:36 +02:00
ocornut
c11128891e Backends: SDL2/SDL3: Update monitor list when receiving a display event. (#6348) 2023-04-21 15:40:14 +02:00
ocornut
adf693c061 Viewports: added void* ImGuiPlatformMonitor::PlatformHandle field (backend-dependant). 2023-04-21 15:31:14 +02:00
ocornut
07e07030a6 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218)
This was still in docking, but moved back in upper locaton.
# Conflicts:
#	backends/imgui_impl_win32.cpp
2023-04-20 10:41:03 +02:00
ocornut
a89590b425 Backends: Win32: revert accidental deletion of ImGui_ImplWin32_EnableAlphaCompositing() in a566ecc (#3218) 2023-04-20 10:38:45 +02:00
ocornut
88ac2ced7c Backends: DX10: Fixed typo in previous commit. 2023-04-19 17:18:04 +02:00
ocornut
f498f084d6 Examples: Amend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553) 2023-04-19 16:48:07 +02:00
Mark Jansen
4bc51c6ff4 Examples: Extend Win32/Winapi + OpenGL example for multi-viewport. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553) 2023-04-19 16:46:54 +02:00
ocornut
1f2b84a654 Backends: clear viewport specific bits in io.BackendFlags on backend Shutdown(). (#6334)
Amend 055e715
2023-04-19 16:40:18 +02:00
ocornut
4f692ba840 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_metal.mm
#	backends/imgui_impl_opengl3.cpp
#	backends/imgui_impl_osx.mm
#	backends/imgui_impl_win32.cpp
#	docs/CHANGELOG.txt
2023-04-19 16:35:50 +02:00
ocornut
9308cfdcfb Examples: Amend Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553) 2023-04-19 16:28:15 +02:00
Mark Jansen
a566ecc58f Examples: Add Win32/Winapi + OpenGL example. (#3218, #5170 and #6086, #2772, #2600, #2359, #2022, #1553)
Removed mulit-viewpot stuff in this commit on master, will be re-added separately.
2023-04-19 16:22:53 +02:00
ocornut
a338b78eb9 Backends: OpenGL3: amend reset GL_POLYGON_MODE separately for front and back when possible. (#6333) 2023-04-19 11:55:40 +02:00
Gereon V
d0836aa89a Backends: OpenGL3: reset GL_POLYGON_MODE separately for front and back when possible. (#6333) 2023-04-19 11:55:36 +02:00
Gereon V
055e71518e Backends: clear bits set in io.BackendFlags on backend Shutdown(). Clear BackendPlatformName. (#6334, #6335)
Amended with fix for missing clear for ImGuiBackendFlags_HasGamepad.
2023-04-17 14:57:12 +02:00
Gereon V
f304603e13 Backends: GLUT: remove call to ImGui::NewFrame() from ImGui_ImplGLUT_NewFrame(). (#6337) 2023-04-17 14:44:56 +02:00
ocornut
bed11b35d1 Fix typos and use nullptr in backends. Amend 506f7e0 2023-04-11 16:20:17 +02:00
ocornut
aec062a8a5 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_osx.mm
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl3.cpp
#	docs/CHANGELOG.txt
#	examples/example_win32_directx9/main.cpp
#	imgui_internal.h
2023-04-11 16:16:17 +02:00
Elie Michel
d81f2ae4fb Backends: WebGPU: Use WGSL shaders instead of precompiled SPIR-V + add Gamma uniform. (#6188)
Add gamma correction uniform
Group uniforms in a single binding
The second binding was not satisfying the minimum
BufferBindingType::Uniform alignment (256) and since this alignment is
large it is more idiomatic to group uniforms tegether.

Also ensures that the size of the uniform buffer is aligned to 16 bytes.
2023-04-11 16:03:26 +02:00
Elie Michel
e67f2f4791 Backends: WebGPU: Align buffer sizes upon creation. (#6188)
Amend from original pr to use a macro.
2023-04-11 15:46:05 +02:00
ocornut
cbdac1e150 Backends: WebGPU: Reorganized to store data in io.BackendRendererUserData like other backends.
In theory supporting multiple contexts (untested).
2023-04-11 15:25:21 +02:00
Michael Martz
506f7e0074 Using nullptr in locations where warning disable is not convenient. (#6313, #4537) 2023-04-11 11:33:50 +02:00
ocornut
9203883bbe Comments + Metal using SetTexID(0) for consistency. 2023-04-11 11:22:42 +02:00
David Maas
e92b29ad53 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
Also marked "mouse" input in example_apple_metal's UIKit micro-backend as being touch input.

# Conflicts:
#	docs/CHANGELOG.txt
2023-04-11 10:14:53 +02:00
David
db4c4e3321
Backends: Android: Added support for io.AddMouseSourceEvent(). (#6315, #6318, #2702, #4921) 2023-04-11 10:01:53 +02:00
ocornut
1668693bcf Backends: SDL2/SDL3: Fixed IME text input rectangle position with viewports. (#6071, #1953) 2023-04-06 19:18:15 +02:00
ocornut
ec461c6ccb Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl3.cpp
#	imgui_demo.cpp
2023-04-06 19:16:08 +02:00
ocornut
a7703fe6f7 Backends: SDL2/SDL3: Avoid callng SDL_StartTextInput()/SDL_StopTextInput(). (#6306, #6071, #1953)
Amend 734c6af187
2023-04-06 19:12:10 +02:00
ocornut
ee5ce36745 Merge branch 'master' into docking, including specific merge for imgui_impl_glfw.cpp for f070497
# Conflicts:
#	backends/imgui_impl_glfw.cpp
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl3.cpp
#	backends/imgui_impl_win32.cpp
#	docs/CHANGELOG.txt
#	imgui.cpp
#	imgui.h
#	imgui_internal.h
2023-04-04 21:17:47 +02:00
ocornut
f070497cbd Backends: Win32/SDL2/SDL3/GLFW: Added support for io.AddMouseSourceEvent(). (#2334, #2702)
SDL doesn't distinguish Pen yet, but we don't need it as much as TouchScreen which will alter trickling.
2023-04-04 20:19:01 +02:00
ocornut
4fdafef54f Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_opengl2.cpp
#	backends/imgui_impl_opengl3.cpp
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl3.cpp
#	docs/CHANGELOG.txt
#	imgui_widgets.cpp
2023-03-29 18:41:41 +02:00
ocornut
8a6911b894 Backends: Fixes zealous warnings (#5760) 2023-03-23 18:18:52 +01:00
ocornut
7dcf129b3b Backends: OpenGL3: Properly restoring "no shader program bound". (#6267, #6220, #6224) 2023-03-23 13:27:55 +01:00
Bruno Perković
5320a6ebd3 Backends: Made SDL3 backend compatible with commit 698dbd8. (#6255, #6146) 2023-03-21 12:17:54 +01:00
ocornut
6b3435a2db Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_glfw.cpp
#	backends/imgui_impl_opengl3.cpp
#	docs/CHANGELOG.txt
2023-03-16 12:01:13 +01:00
Aiekick
91577c7f51 Backends: GLFW: Fixed key modifiers handling on secondary viewports. (#6248, #6034) 2023-03-16 11:59:45 +01:00
ocornut
85beda96de Backends: GLFW: Fix Emscripten erroneously enabling multi-viewport support, leading to assert. (#5683) 2023-03-15 14:51:46 +01:00
ocornut
0d606968d8 Backend: OpenGL3: Amend b0c18166 fix cases where glGetString(GL_VERSION) returns NULL. (#6154, #4445, #3530) 2023-03-15 12:25:34 +01:00
ocornut
9e30fb0ec1 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_glfw.cpp
#	docs/CHANGELOG.txt
#	imgui.cpp
2023-03-14 16:38:22 +01:00
ocornut
e39c2552ac Backends: GLFW: Avoid using glfwGetError() and glfwGetGamepadState() on Emscripten. (#6240) 2023-03-14 16:00:29 +01:00
ocornut
4078abe14c Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_opengl3.cpp
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl3.cpp
#	imgui.cpp
#	imgui.h
2023-03-06 17:03:55 +01:00
Cyphall
66b762577c Backends: OpenGL3: Fixed restoration of a potentially deleted OpenGL program. (#6220, #6224) 2023-03-06 11:55:55 +01:00
Adam Kewley
2496b973f9 Backends: SDL2,SDL3: Accept SDL_GetPerformanceCounter() not returning a monotonically increasing value. (#6189, #6114, #3644) 2023-02-23 15:07:15 +01:00
ocornut
e25e4526cd Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_win32.cpp
#	docs/CHANGELOG.txt
2023-02-15 18:18:47 +01:00
ocornut
5d74891285 Backends: Win32: Use WM_NCMOUSEMOVE / WM_NCMOUSELEAVE to track mouse positions over non-client area (OS decorations) when app is not focused. (#6045, #6162) 2023-02-15 18:11:41 +01:00
ocornut
192196711a Merge branch 'master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
2023-02-14 16:01:11 +01:00
Laurens Holst
b0c1816664 Backends: OpenGL3: Fixed loader compatibility with GL_VERSION for GL 2.x (#6154, #4445, #3530)
GL_MAJOR_VERSION and GL_MINOR_VERSION are available on GL 3.0 and above.
So we have to parse GL_VERSION under GL 2.x
Reference https://www.khronos.org/opengl/wiki/OpenGL_Context#Context_information_queries
Regressed since 459de65477
See https://github.com/ocornut/imgui/pull/3530
2023-02-14 15:39:49 +01:00
ocornut
ea4565368e Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_sdl2.cpp
#	backends/imgui_impl_sdl2.h
#	backends/imgui_impl_sdl3.cpp
#	backends/imgui_impl_sdl3.h
#	imgui.cpp
2023-02-10 17:05:06 +01:00
ocornut
0d7d877cb5 Backends: SDL3: Update for latest.
Note that resizing secondary viewports seems broken.
2023-02-10 14:45:52 +01:00
ocornut
85395b76b0 CI: Update versions.
Backends: GLFW: Warning fix under Linux.
2023-02-07 20:17:18 +01:00
ocornut
fac19e1883 Backends: SDL2:+SDL3 Implement SetPlatformImeDataFn (amends). (#6071, #1953) + fix SDL3 setting PlatformHandleRaw. (#6146) 2023-02-07 19:29:44 +01:00
imkzh
734c6af187 Backends: SDL2: Implement SetPlatformImeDataFn. (#6071, #1953) 2023-02-07 18:50:12 +01:00
ocornut
95412ad3a5 Backends: SDL3: Removed unnecessary #ifdef. 2023-02-07 17:09:51 +01:00
ocornut
a526ff8c30 Backends: SDL3: Added multi-viewports support. (#6146) 2023-02-07 16:30:58 +01:00