Commit Graph

9365 Commits

Author SHA1 Message Date
ocornut
4ba585bdb4 ImStrv: allow constructing from two null pointers. 2025-09-25 19:21:25 +02:00
ocornut
71d4bb5ccd ImStrv: Combo(), ListBox(): maybe seems better to not introducte the ImStrv [] versions?
As 1) user is unlikely to store that on their end. 2) nowadays with lambdas isn't an easy user-side conversion.
Then we limit explosion of an already messy API.
2025-09-25 19:21:25 +02:00
ocornut
e5f3d27b40 ImStrv: convert Combo()/ListBox() to use ImStrv in their getters.
Didn't convert Combo() "const char* items_separated_by_zeros" as this doesn't translate well when used via a ImStrv constructor, may actually aim to obsolete.
Fixed for shadowing local variable warning on 2025/06/25.
2025-09-25 19:21:25 +02:00
ocornut
0b9591eb42 ImStrv: Fixed BeginCombo() with ImGuiComboFlags_CustomPreview + fixes for latest (amended). 2025-09-25 19:21:25 +02:00
ocornut
cfe1ead665 ImStrv: add needed disambiguishing functions for const char* now being ambiguous. (5079)
amended for gcc/clang warnings
amended to facilitate merge with docking
2025-09-25 19:21:25 +02:00
ocornut
a15de5cc18 ImStrv: backtracked for now on supporting ImStrv for format strings.
It's widely incomplete and slow, requires a printf function taking non-zero-terminated format string to work.
Might do it eventually but it's much less a problem than labels. Format string are more frequently inlined in code and tend to be small, so existing solutions at call site can work better for now.
2025-09-25 19:21:25 +02:00
ocornut
8bee4e9eab ImStrv: Fixed various compile errors/warnings. 2025-09-25 19:21:25 +02:00
璀境石
fc01a2f34f ImStrv: enhanced VS debugger .natvis support. build fixes. (5333, 5906) 2025-09-25 19:21:25 +02:00
ocornut
394b1347c3 ImStrv: standardized code doing format copy, optimized ImStrStr 2025-09-25 19:21:25 +02:00
ocornut
7cface2b2d ImStrv: moved double char* function signatures under #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS blocks. 2025-09-25 19:21:25 +02:00
ocornut
ac74fda01c ImStrv: changed ImStrv xxx=NULL args to an explicit xxx=ImStrv()
This is mostly for the benefit of cimgui parser, ideally we would do without.
2025-09-25 19:21:25 +02:00
ocornut
1a151bbedd ImStrv: Step 2 - change ImStrv typedef to struct, perform all other logic conversion.
Squashed commits (initially a commit from rokups + many rework by ocornut. keeping them separate commits made rebasing unnecessarily tricking so merged from 2024/02)
ImStrv: many fixes (see details), added imconfig class extension example, added natvis description.
ImStrv: rework toward ensuring End is always set to constant can be compile time calculated
ImStrv: using length(), fix ambiguous empty() function, fix altered behaviors, removed unused operators.
ImStrv: various tweaks and fixes. removed ImGuiTextRange from ImGuiTextFilter, fix test engine hooks, removed constructor only used twice.
2025-09-25 19:21:24 +02:00
Rokas Kupstys
eda7f7ddb7 ImStrv: Step 1 - change string type to ImStrv in API. (REBASED)
(last rebase amend 2024/12/11)
2025-09-25 19:20:38 +02:00
ocornut
bf2e0b2c6f Tables: change ImGuiTableFlags_NoBordersInBody behavior to not draw border in body even when resizing. (#8893) 2025-09-25 19:07:59 +02:00
ocornut
cee40f8af9 Examples: made examples's main.cpp consistent with returning 1 on error. 2025-09-24 17:48:48 +02:00
ocornut
940627d008 Backends: SDL2: Fixed build for Emscripten and SDL_HAS_CAPTURE_AND_GLOBAL_MOUSE=0 platforms.
Amend e06b5df.
2025-09-24 15:29:00 +02:00
ocornut
719ea9c228 Comments 2025-09-24 15:00:24 +02:00
ocornut
f61a7ef222 Backends: SDL2,SDL3: avoid using the SDL_GetGlobalMouseState() path when one of our window is hovered. Fix mouse coordinate issue in fullscreen apps with macOS notch + better X11 perfs. (#7919, #7786) 2025-09-24 14:48:33 +02:00
ocornut
e06b5dfe12 Backends: SDL2,SDL3: Shallow tweaks.
Toward fallback focused mouse handler to be a closer match docking version.
2025-09-24 14:41:10 +02:00
ocornut
e1aea42e45 Windows: add resize grips for child windows with both ResizeX+ResizeY. Amends. (#8501) 2025-09-23 16:55:37 +02:00
Aleksi Juvani
82e9a5e47d Windows: add resize grips for child windows with both ResizeX+ResizeY. (#8501) 2025-09-23 16:48:45 +02:00
ocornut
5f6eaa5278 Backends: Win32: minor optimization not submitting gamepad input if packet number has not changed. (#8556)
To be honest I don't believe this is valuable as an optimization, but it makes debug stepping a little nicer.
2025-09-23 16:30:07 +02:00
ocornut
d701ffb478 Examples: added SDL3+DirectX11 example. Minor amends + fix both SDL2/SDL3+DirectX11 to allow WARP driver. (#8956, #8957) 2025-09-22 21:38:33 +02:00
Tomas Jakobsson
a00e517a81 Examples: added SDL3+DirectX11 example. (#8956, #8957) 2025-09-22 21:25:56 +02:00
Brenton Bostick
8868ad67e4 Fixed typos. (#8955) 2025-09-22 16:09:44 +02:00
ocornut
301e652376 Backends: OpenGL3: fixed GL loader to work on Haiku OS which does not support. (#8952) 2025-09-22 16:04:59 +02:00
ocornut
dc0198a7e4 CI: update Windows Vulkan scripts. Amends. (#8925) 2025-09-22 12:45:18 +02:00
yaz0r
ef6fe2ecee CI: update Windows Vulkan scripts. (#8925) 2025-09-22 12:34:23 +02:00
ocornut
46e6382b69 Added type formatters for the LLDB debuggers (e.g. Xcode, Android Studio) (#8950) 2025-09-22 12:26:53 +02:00
David Mentler
087fbf08f6 Added type formatters for the LLDB debuggers (e.g. Xcode) (#8950) 2025-09-22 12:25:17 +02:00
ocornut
d4f722d5b2 IO: added ImGuiPlatformIO::ClearPlatformHandlers(), ClearRendererHandlers(). Backends: call those on Shutdown(). (#8945, #2769) 2025-09-18 16:58:50 +02:00
ocornut
0e7cd694eb Version 1.92.4 WIP 2025-09-18 15:38:46 +02:00
ocornut
bf75bfec48 Amend f6890ed mostly to please static analyzers. v1.92.3 2025-09-17 19:05:22 +02:00
ocornut
1c544ee941 Version 1.92.3 2025-09-17 18:37:56 +02:00
ocornut
70a43f3088 Fixed build with IMGUI_ENABLE_TEST_ENGINE. 2025-09-17 18:12:32 +02:00
ocornut
9cf9d2be83 Debug Tools: ID Stack Tool: fixed a crash when using PushOverrideID(0) during a query. (#8937, #4631) 2025-09-17 18:06:45 +02:00
ocornut
7e473d38d3 Debug Tools: ID Stack Tool: internal renaming (should be no-op). 2025-09-17 18:06:45 +02:00
ocornut
6d834d325e Debug Tools: ID Stack Tool: fixed misleading/unnecessary run of UpdateDebugToolStackQueries() on first frame. (#4631)
`if (g.FrameCount != tool->LastActiveFrame + 1)` test failing on first frame.
Was not harmful but probably confusing in a debugger.
2025-09-17 18:06:45 +02:00
ocornut
f6890ed007 Nav, Inputs: fixed a crash that could occur when opening a popup following the processing of a global shortcut while no windows were focused.
Regression test: "window_popup_from_shortcut"
2025-09-17 16:41:40 +02:00
ocornut
431f2c5abd InputText: fixed dubious code handling ImGuiInputTextFlags_EscapeClearsAll.
Specifically the missing = 0. Somehow only now got reported by Emscripten CI.
2025-09-15 19:32:24 +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
3c6c5692b8 Examples: Win32+Vulkan, GLFW+Metal: Fixed not applying content scale. (#8921, #8756)
Somehow it breaks in Win32+OpenGL3 example: when enabled Win32 applies some extra scale.
2025-09-15 16:50:58 +02:00
ocornut
e044d99710 Examples: standardized all examples to have a base window size of 1280x800. 2025-09-15 16:34:36 +02:00
ocornut
22a6a83c54 Backends: SDL3: use SDL_GetWindowDisplayScale() on Mac to output DisplayFrameBufferScale. The function is more reliable during resolution changes e.g. going fullscreen. (#8703, #4414) 2025-09-15 15:16:42 +02:00
ocornut
cd476b27f8 Examples: GLFW+Vulkan: Fixed not applying content scale. (#8921, #8756) 2025-09-12 21:32:46 +02:00
ocornut
9f13684d70 Examples: GLFW+OpenGL2: Fixed not applying content scale. (#8921)
Note that this requires GLFW 3.3.
2025-09-12 20:57:04 +02:00