Commit Graph

9353 Commits

Author SHA1 Message Date
ocornut
e686c8ec03 ImStrv: fixes in DebugHookIdInfo(). 2025-09-22 12:29:38 +02:00
ocornut
e25f56f705 ImStrv: fix in ShowIDStackToolWindow(), Font section. Font loading. 2025-09-22 12:29:38 +02:00
ocornut
dbe36e34a5 ImStrv: made length() returns an int as it simplify the most common case (of passing %.*s to printf) 2025-09-22 12:29:38 +02:00
ocornut
8e81880e44 ImStrv: allow constructing from two null pointers. 2025-09-22 12:29:38 +02:00
ocornut
d3e76a341c 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-22 12:29:38 +02:00
ocornut
86af6db63b 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-22 12:29:38 +02:00
ocornut
6d452bf0fe ImStrv: Fixed BeginCombo() with ImGuiComboFlags_CustomPreview + fixes for latest (amended). 2025-09-22 12:29:38 +02:00
ocornut
852c4577c7 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-22 12:29:38 +02:00
ocornut
82f08ec727 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-22 12:29:38 +02:00
ocornut
872292c5d2 ImStrv: Fixed various compile errors/warnings. 2025-09-22 12:29:38 +02:00
璀境石
d0e4faeffd ImStrv: enhanced VS debugger .natvis support. build fixes. (5333, 5906) 2025-09-22 12:29:38 +02:00
ocornut
0dd8e4a528 ImStrv: standardized code doing format copy, optimized ImStrStr 2025-09-22 12:29:38 +02:00
ocornut
963d39eea7 ImStrv: moved double char* function signatures under #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS blocks. 2025-09-22 12:29:37 +02:00
ocornut
64b15e33d2 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-22 12:29:37 +02:00
ocornut
9a1c0ce98c 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-22 12:29:37 +02:00
Rokas Kupstys
327ae2b2e2 ImStrv: Step 1 - change string type to ImStrv in API. (REBASED)
(last rebase amend 2024/12/11)
2025-09-22 12:29:37 +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
ocornut
6d25cb844b CI: switch iOS build to macos-14 runner as macos-latest currently fails. 2025-09-12 16:41:05 +02:00
ocornut
36133d8ac4 InputText: Word-Wrap: hide vertical scrollbar but takes its width into account. (#3237, #952, #1062, #7363)
Also increase IMGUI_VERSION_NUM for good measure, forgot to increase it when moving to public api.
2025-09-12 16:03:18 +02:00
ocornut
b6a33f8ce1 InputText: Word-Wrap: amend 7f1e2bb to avoid triggering static analyzer. (#3237, #952, #1062, #7363)
And generally more logical this way anyhow.
2025-09-12 15:05:23 +02:00
ocornut
78c1d4a92c InputText: Word-Wrap: moving ImGuiInputTextFlags_WordWrap to public API. Added in demo. (#3237, #952, #1062, #7363) 2025-09-12 15:03:33 +02:00
ocornut
7f1e2bb8dd InputText: Word-Wrap: avoid word-wrap specific path InputTextLineIndexGetPosOffset() when word-wrap is disabled. (#3237, #952, #1062, #7363) 2025-09-12 15:03:33 +02:00
ocornut
2f3e85bc37 Comments 2025-09-12 15:03:33 +02:00
ocornut
8a94422246 InputText: optimize inactive path by avoiding an early ImStrlen(). 2025-09-11 21:26:10 +02:00
ocornut
ae832ce532 InputText: moved blocks so same text rendering code is now used for active and inactive states.
(ignore whitespace to visualize this change easily)
2025-09-11 21:26:04 +02:00
ocornut
1e52e7b90c InputText: Added a line index. Refactored cursor and selection rendering, now simpler, easier to reason about, and faster. (#3237, #952, #1062, #7363) 2025-09-11 21:26:01 +02:00
ocornut
67085d732a ImGuiTextIndex: rename member. 2025-09-11 21:25:56 +02:00
ocornut
f36c65661c InputText: fixed pressing End (without Shift) in a multi-line selection from mistakenly moving cursor based on selection start. 2025-09-11 18:45:07 +02:00
ocornut
e2b7d84e96 CI: disable pvs-studio 28 days warning (amend). 2025-09-11 15:15:48 +02:00