Commit Graph

9452 Commits

Author SHA1 Message Date
ocornut
7126bb2484 ImStrv: moved double char* function signatures under #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS blocks. 2025-11-05 20:30:28 +01:00
ocornut
63fe2f18a9 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-11-05 20:30:28 +01:00
ocornut
8469bc60a1 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-11-05 20:30:28 +01:00
Rokas Kupstys
a4b6520423 ImStrv: Step 1 - change string type to ImStrv in API. (REBASED)
(last rebase amend 2024/12/11)
2025-11-05 20:26:33 +01:00
ocornut
a0bfbe4d8f Windows: BgClickFlags inherited by default + missing info in Changelog. Amend 40f9e4e. (#899, #3071, #5044, #3379) 2025-11-05 20:16:45 +01:00
ocornut
e674f57bb6 Backends: SDL3: Fixed an issue with missing characters events when an already active text field changes viewports. (#9054)
Always use SDL_GetKeyboardFocus().
(tried to defer ImGui_ImplSDL3_PlatformSetImeData() processing for when OS-window is available but it didn't actually work because we don't systemetically OS-focus new viewports and SDL3 only sent characters to keyboard focused window.)
2025-11-05 19:15:47 +01:00
ocornut
1897248bda Misc: added assert to detect ~ImGuiContext() called without DestroyContext(). (#9051) 2025-11-04 17:55:18 +01:00
ocornut
051a31594f Metrics: fixed table and columns rect highlight from display when metrics window is not in the same viewport as the table. 2025-11-03 19:48:57 +01:00
ocornut
dc6e0f4b9e Tables: Angled headers: fixed an auto-resize feedback loop that could affect tables with empty non-resizing columns using angled headers. 2025-11-03 19:35:19 +01:00
BrutPitt
df3f2fff88 Examples: WebGPU: moved CreateWGPUSurface to the bottom of the file due to interference with X.h. (#8381) 2025-11-03 19:15:41 +01:00
ocornut
8e5e79054e Examples: WGPU: tweak headers and standardize other things so examples have less differences. (#8381) 2025-11-03 19:05:28 +01:00
BrutPitt
3cc8b470a6 Backends, Examples: WebGPU: header optimization. Added the code for using Dawn “pre-built” library. (#8381) 2025-11-03 19:05:28 +01:00
ocornut
f1becf7e4b Amend 149587b config/build infos change to be resilient to IM_ASSERT() macros using stringification inside a list. 2025-11-03 14:31:14 +01:00
Brenton Bostick
a3546b52f8 Various typo fixes (#9042) 2025-11-03 13:26:12 +01:00
ocornut
823ccc274e Examples: update docs. (#8381) 2025-10-31 19:34:12 +01:00
BrutPitt
ff672b2db3 Examples: SDL2+WebGPU, SDL3+WebGPU: add new examples. (#8381) 2025-10-31 19:10:23 +01:00
BrutPitt
778aed9966 Examples: GLFW+WebGPU: update to latest specs and to work on Emscripten 4.0.10+ and latest Dawn-Native, WGPU-Native. (#8381, #8567, #8191, #7435) 2025-10-31 19:10:23 +01:00
BrutPitt
c5b2a848fa Backends: WebGPU: added smaller and debug helpers. (#8381, #8831, #8567, #8191, #7435) 2025-10-31 19:10:23 +01:00
BrutPitt
d0e3b1d4e2 Backends: WebGPU: added ImGui_ImplWGPU_CreateWGPUSurfaceHelper(). (#8381, #8831, #8567, #8191, #7435) 2025-10-31 19:10:23 +01:00
ocornut
505ff536f9 Textures: fixed an issue preventing multi-contexts from using each others' fonts if context 2 runs after context 1's Render() function. (#9039) 2025-10-31 16:38:27 +01:00
ocornut
db577cd445 Fonts: rename internal fields for consistency. 2025-10-31 16:38:23 +01:00
ocornut
149587b85b Config/build infos emit infos to convey when IM_ASSERT() macro is disabled. 2025-10-30 18:03:36 +01:00
ocornut
670a92723a Move IM_STRINGIFY() to imgui.h 2025-10-30 17:47:06 +01:00
ocornut
130c3e6b75 Backends: Vulkan: tweak comments. (#9041) 2025-10-30 16:04:21 +01:00
ocornut
3c578fa87e InputText: restore truncating, now between UTF-8 codepoint. (#9029)
Amend e612536, 2a194e2.
2025-10-29 18:40:40 +01:00
ocornut
8df962a6ed Debug Tools: fixed DebugTextEncoding() potentially reading out of bounds if provided a trailing truncated UTF-8 sequence. 2025-10-29 17:58:52 +01:00
ocornut
2a194e21a0 InputText: revert truncation behavior from e612536 as it can truncate mid-UTF8. (#9029) 2025-10-29 17:24:23 +01:00
ocornut
9753c741b9 Disabled, ButtonBehavior: fixed a bug when a previously enabled item that got nav focus and then turns disabled could still be activated using keyboard. (#9036)
ButtonBehavior() was relying on lack of nav focus for keyboard handling
2025-10-29 16:43:27 +01:00
ocornut
7c483a0eba Add indentation to ButtonBehavior() - no logic change. 2025-10-29 16:39:37 +01:00
ocornut
0ba9fedf1a Win32: Revert 1.92.4 change of comparing dwPacketNumber. (#8556) 2025-10-29 16:29:47 +01:00
ocornut
2c54b15a5f Update ignore list. 2025-10-29 15:03:55 +01:00
ocornut
2a229c8cb8 Examples: SDL3+OpenGL3: fixed Emscripten makefile + ignore list.
Can't get this to run however.
2025-10-29 14:21:43 +01:00
ocornut
40f9e4e8e2 Windows: store BgClickFlags which allows the equivalent of io.ConfigWindowsMoveFromTitleBarOnly to be overridden on a per window basis. (#899, #3071, #5044, + #3379)
io.ConfigWindowsMoveFromTitleBarOnly now sets initial value for BgClickFlags. Using e.g. ImGui::GetCurrentWindow()->BgClickFlags &= ~ImGuiWindowBgClickFlags_Move; allow per-window override.
This will be extended for supporting scrolling options for #3379.
As a minor side effect: the effect of enabling io.ConfigWindowsMoveFromTitleBarOnly now happens one frame later ('window_modal_bounds_exceeding_work_area" test accidentally broke in some situations because of that)
2025-10-28 19:13:11 +01:00
ocornut
245e12cca7 Internals: tweak UpdateMouseMovingWindowEndFrame(). 2025-10-28 19:06:37 +01:00
ocornut
8019d39545 Shuffle a few internal context fields to reduce padding. 2025-10-28 19:06:36 +01:00
ocornut
a1632c6116 InputText, Demo: amend comments to direct more users to the std::string version.
https://www.youtube.com/watch?v=pLwvNdpTpjs wasted a solid hour before finding this.
Crazy that people are using AI instead of actually _reading_ comments, demo and headers. (The information appeared multiple times on their screen)
2025-10-24 17:10:57 +02:00
ocornut
c72d0b2cbb Backends: Vulkan: SwapChainImageUsage assume VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT which is added automatically. (#8946, #8110, #8111, #8686)
Merge bad3c14 which was accidentally only pushed to docking. No important side effect.
2025-10-23 21:04:48 +02:00
ocornut
e6125361f9 InputText: paste does a truncate when not fitting instead of ignoring it. (#9029) 2025-10-23 20:53:29 +02:00
ocornut
b7e45b3a48 InputText: rework STB_TEXTEDIT_INSERTCHARS() signature to allow partial insertion (unused). (#9029)
To be submitted as a PR to nothings/stb.
2025-10-23 20:19:16 +02:00
ocornut
6add99f8d2 Examples: SDL3+Vulkan: Fixed call to ImGui_ImplVulkanH_CreateOrResizeWindow() during resize. (#9030)
Surprisingly it still worked because ImGui_ImplVulkanH_CreateWindowSwapChain() pulls from `cap.currentExtent` when available.
2025-10-23 20:00:57 +02:00
ocornut
750c5d2a61 InputText: do not require anymore that CursorPos be clamped by user code. (#9029)
Add clamping outside of callback code + simplify logic. The previous logic checking for difference was because old code e.g. 21d03edcb0 required a ImTextCountCharsFromUtf8() which is not required since #7925.
2025-10-23 18:54:32 +02:00
ocornut
e571ccf3f4 InputText: removed unnecessary variables. 2025-10-23 18:43:20 +02:00
ocornut
b8573a7e33 Groups: fixed an issue reporting IsItemEdited() signal after EndGroup() for some widgets e.g. Checkbox(), Selectable(). (#9028) 2025-10-23 13:54:14 +02:00
ocornut
bc5da9b367 Examples: DirectX10: Amends. (#8979) 2025-10-22 13:58:51 +02:00
ocornut
b3dab0a406 Examples: DirectX10, DirectX11, DirectX12: comments about fullscreen mode and swapchain setup. (#8979) 2025-10-22 13:57:27 +02:00
ocornut
2a022d997b Examples: GLFW+WebGPU: removed unnecessary ImGui_ImplWGPU_InvalidateDeviceObjects() call during surface resize. (#8381)
+ Relayout changelog.
2025-10-22 13:42:23 +02:00
ocornut
5870b979a8 Examples: GLFW+WebGPU: fixed cmakefile for example to use legacy path. (#8381)
Amend 71447b94f
2025-10-22 13:39:00 +02:00
ocornut
bdb8243602 Backends: SDl3: Fixed Platform_OpenInShellFn() return value. (#9027) 2025-10-22 13:33:36 +02:00
ocornut
b46f099a3f Backends: GLFW: fixed building on Linux platforms where Wayland headers are not available. (#9024, #8969, #8921, #8920) 2025-10-20 23:57:09 +02:00
ocornut
63bfad401f MultiSelect: added ImGuiMultiSelectFlags_NoSelectOnRightClick. (#8200, #9015) 2025-10-20 18:58:45 +02:00