Commit Graph

9721 Commits

Author SHA1 Message Date
ocornut
65b6243083 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.
2026-03-13 17:09:45 +01:00
ocornut
b54d685311 ImStrv: add needed disambiguishing functions for const char* now being ambiguous. (5079)
amended for gcc/clang warnings
amended to facilitate merge with docking
2026-03-13 17:09:45 +01:00
ocornut
9ef854390b 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.
2026-03-13 17:09:45 +01:00
璀境石
934390cfee ImStrv: enhanced VS debugger .natvis support. build fixes. (5333, 5906) 2026-03-13 17:09:45 +01:00
ocornut
d113ebd68c ImStrv: standardized code doing format copy, optimized ImStrStr 2026-03-13 17:09:45 +01:00
ocornut
cf0b502fd6 ImStrv: moved double char* function signatures under #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS blocks + fixed various compiles errors/warnings. 2026-03-13 17:09:45 +01:00
ocornut
08454a5e5e 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.
2026-03-13 17:09:44 +01:00
ocornut
366e1a9e45 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.
2026-03-13 17:09:44 +01:00
Rokas Kupstys
9f6b804e58 ImStrv: Step 1 - change string type to ImStrv in API. (REBASED)
(last rebase amend 2024/12/11)
2026-03-13 17:09:44 +01:00
Yan Pujante
4a2e3cce69 Examples: SDL2+WebGPU: fixes hi-dpi handling. (#9300) 2026-03-13 17:07:47 +01:00
ocornut
fd752d8357 InputText: Fixed a glitch when using ImGuiInputTextFlags_ElideLeft where the local x offset would be incorrect during the deactivation frame. (#9298) 2026-03-13 16:32:39 +01:00
ocornut
d02c645e38 Nav: short Gamepad Activation press on InputText() always activate with Text Input mode. 2026-03-13 15:07:46 +01:00
ocornut
49ee151ed6 Nav: pressing gamepad north button activates context menus.
+ update ShowUserGuide().
2026-03-13 15:07:46 +01:00
ocornut
b76ab6232d Nav: changed Gamepad mapping for "Activate with Text Input" action from FaceUp press to FaceDown long press. (#8803, #787) 2026-03-13 15:07:46 +01:00
ocornut
6dbda97fee Backends: OpenGL2, OpenGL3, SDLRenderer3: replaced erroneous IM_ASSERT(tex->TexID == 0) calls. (#9295, #9293)
Amend/fix 0db5919 which revealed this.
2026-03-12 19:29:39 +01:00
ocornut
90743d3112 Nav: allow ImGuiKey_Menu or Shift + F10 to work on Begin()...BeginPopupContextItem() sequence aiming at title bar. (#8803, #9270) 2026-03-12 19:12:47 +01:00
ocornut
14a500a476 Nav: allow ImGuiKey_Menu or Shift + F10 to open context menus. Rework with polling in NavUpdate(). (#8803, #9270)
This might be a little less flexible but removes burden from the higher-frequency calls.
2026-03-12 18:52:42 +01:00
ocornut
6cc99a6e2b Nav: allow ImGuiKey_Menu or Shift + F10 to open context menus. Amends. (#8803, #9270)
This doesn't attempt to move the shortcut polling in NavUpdate() yet.
2026-03-12 18:30:05 +01:00
exelix
a103826154 Nav: allow ImGuiKey_Menu or Shift + F10 to open context menus. (#8803, #9270) 2026-03-12 18:24:34 +01:00
ocornut
0db591935f Changed default ImTextureID_Invalid value to -1 instead of 0 +added comments. (#9293, #8745, #8465, #7090) 2026-03-12 14:44:15 +01:00
ocornut
1fbab15c0a Focus: fixed fallback "Debug" window temporarily taking focus and setting io.WantCaptureKeyboard for a frame. (#9243) 2026-03-11 21:59:44 +01:00
Michael Böhme
7546f1eb16 Backends: Vulkan: ImGui_ImplVulkan_AddTexture() skips updating descriptor_set if failing to allocate. (#8677)
Reduce error surface to the check_vk_result() call.
2026-03-11 21:22:50 +01:00
omar
5220c14f4b Docs: update readme. 2026-03-11 21:16:49 +01:00
ocornut
378cb85bf0 Amend missing Changelog entry. (#9115) 2026-03-11 21:02:46 +01:00
ocornut
5aa7d61139 InputText: reworked so that io.ConfigInputTextEnterKeepActive reactivate in order for e.g. IsItemDeactivatedAfterEdit() to work. Amends. (#9001, #9115)
Rework. Fixes dangling InputTextReactivateId in case of field being hidden on activation.
2026-03-11 20:33:18 +01:00
xttt
03a9946a14 InputText: reworked so that io.ConfigInputTextEnterKeepActive reactivate in order for e.g. IsItemDeactivatedAfterEdit() to work. (#9001, #9115) 2026-03-11 20:15:48 +01:00
MaciejDziuban
decb5cdf10 Backends: Vulkan: added ImGui_ImplVulkan_PipelineInfo::ExtraDynamicStates. (#9211)
This new setting allows an application to force the pipeline created by vulkan backend to specify more dynamic states than just default viewport and scissor.
It is useful e.g. when using draw list callbacks, e.g. adding VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT to be able to use vkCmdSetColorBlendEquationEXT inside callbacks.
2026-03-11 17:00:47 +01:00
ocornut
5dd56d4bb5 Demo: add an option to enable ImGuiSliderFlags_ColorMarkers in Multi-Components section + fixed warnings. 2026-03-09 18:01:37 +01:00
Yan Pujante
512982d0d2 Examples: Emscripten: fixes minor rendering issues (#9281)
- in Firefox, scrollbar would appear => adding overflow: hidden fixes this issue
- when the canvas has the focus, Chrome draws a very small blue outline, setting it to none fixes this issue
2026-03-09 16:54:21 +01:00
ocornut
9e6b888626 Examples: reorder builds items to favor main.cpp and backend failing earlier. 2026-03-09 16:19:22 +01:00
ocornut
83fa0ae263 Backends, Examples: removed Emscripten < 4.0.10 support. Removed IMGUI_IMPL_WEBGPU_BACKEND_WGPU. Amends. (#9281, #8381) 2026-03-09 16:18:59 +01:00
Yan Pujante
e92820db2a Backends, Examples: removed Emscripten < 4.0.10 support. Removed IMGUI_IMPL_WEBGPU_BACKEND_WGPU. (#9281, #8381)
- This commit removes the option of using -sUSE_WEBGPU=1 from CMake and make
- Compiling with a version of Emscripten >= 4.0.10 will work the same way as it was before
- Compiling with a version of Emscripten < 4.0.10 will print an error message and abort the build (in the case of CMake)
- Since there can only be 1 implementation for the backend in the case of Emscripten, this commit cleans the code accordingly
2026-03-09 15:45:34 +01:00
Brenton Bostick
6f8bdb7bf7 Docs: fixed misc typos (#9267) 2026-03-09 14:51:06 +01:00
ocornut
ca166c0e5f Docs: imgui_manual -> imgui_explorer.
Amend 650eca3.
2026-03-09 14:24:03 +01:00
ocornut
41765fbda7 Scrollbar: extend hit-testing bounding box when window is sitting at the edge of a viewport. (#9276) 2026-03-06 18:03:27 +01:00
Simon
ba84d2d372 Fixed -Wconversion warnings in GCC. (#9265) 2026-02-27 13:48:30 +01:00
ocornut
11acd9f5cb Sliders: extracted code into TempInputIsClampEnabled() helper for reuse.
Toward #9164, #76
2026-02-27 00:04:51 +01:00
ocornut
238651ffa3 Sliders: shallow rework of TempInputScalar().
Toward #9164, #76
2026-02-27 00:00:42 +01:00
ocornut
14e0c70f88 Sliders: removed unnecessary is_logarithmic parameters as they can be inferred. (#3786, #1823, #1316, #642) 2026-02-26 21:25:14 +01:00
ocornut
ef022c5e0a Separator: added and following style.SeparatorSize. (#2657, #9263)
Reapply c5d83d8a from 1.70 which was reverted in 9534ef9b2.
2026-02-26 17:21:57 +01:00
ocornut
c40226e9de CloseButton, InputText: scale thickness to integer amount when using style.ScaleAllSizes(). (#7031) 2026-02-25 22:16:20 +01:00
ocornut
650eca386e Doc: update link to imgui_manual, add a new one near top of the demo + update binaries. 2026-02-25 20:34:35 +01:00
Pascal Thomet
848da73a81 Demo: fixed/tweaked missing IMGUI_DEMO_MARKER for examples applets. (#9261, #3689) 2026-02-25 19:48:03 +01:00
ocornut
8a15a1064d Add DemoMarker() function to formalize access for other demos than imgui_demo.cpp (#9261, #3689) 2026-02-25 19:25:57 +01:00
Seppo Räisänen
dd5c604768 Backends: SDLGPU3: remove unnecessary call to SDL_WaitForGPUIdle when releasing vertex/index buffers. (#9262) 2026-02-25 18:08:27 +01:00
ocornut
2b415e642b Backends: WebGPU: fixed Emscripten version check. (#8381)
Amend ff673d3.
2026-02-24 17:49:08 +01:00
ocornut
68a91d3060 InputText: Shift+Enter in multi-line editor always adds a new line. (#9239) 2026-02-24 17:10:56 +01:00
ocornut
0666da6a72 TreeNode: fixed duplicate TreeNodeGetOpen() declaration. (#3823, #9251, #7553, #6754, #5423, #2958, #2079, #1947, #1131, #722)
Amend f6e0953b3
2026-02-24 13:34:20 +01:00
ocornut
7dec6b6de8 Demo: TreeNode: add sectiont to increase visibility of tree clipping demo. 2026-02-23 22:53:35 +01:00
ocornut
33dfa7f834 TreeNode, Demo: Property Editor: demonstrate a way to perform tree clipping by fast-forwarding through non-visible chunks. (#3823, #9251, #6990, #6042) 2026-02-23 22:38:06 +01:00