ocornut
07a985c9a5
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-25 12:28:59 +01:00
璀境石
50ddffa1d2
ImStrv: enhanced VS debugger .natvis support. build fixes. (5333, 5906)
2026-03-25 12:28:59 +01:00
ocornut
fa2c6cf63a
ImStrv: standardized code doing format copy, optimized ImStrStr
2026-03-25 12:28:59 +01:00
ocornut
731c8ab11f
ImStrv: moved double char* function signatures under #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS blocks + fixed various compiles errors/warnings.
2026-03-25 12:28:59 +01:00
ocornut
c53d7a62cc
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-25 12:28:59 +01:00
ocornut
7df3385776
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-25 12:28:59 +01:00
Rokas Kupstys
71f5155eea
ImStrv: Step 1 - change string type to ImStrv in API. (REBASED)
...
(last rebase amend 2024/12/11)
2026-03-25 12:28:58 +01:00
ocornut
6c754ed2cb
TempInputText, InputText: enforce making active via ImGuiInputTextFlags_MergedItem. Restore cursor as Rect is provided + comments. ( #2718 , #6690 )
2026-03-25 11:36:40 +01:00
ocornut
79411a0405
Backends, Examples: WebGPU: fixed warnings + scale initial surface height for native.
2026-03-23 16:21:50 +01:00
ocornut
6b1776a7d2
Tables: context menu can be open using navigation Shift+F10 etc. ( #8803 , #9270 )
2026-03-23 15:37:56 +01:00
ocornut
38f5e5a0b8
Tables: rework column reordering code. ( #9312 )
...
- Move more logic into TableQueueSetColumnDisplayOrder() so that it may be called from different locations.
- Use to checking if both columns are on same size of the frozen barrier slightly changed to avoid reordering hidden column (with caveat of ill-defined design for what's "right").
2026-03-23 15:14:58 +01:00
ocornut
697b6886e3
Docs: update FAQ about label/ID system. ( #9318 )
2026-03-23 14:13:36 +01:00
ocornut
8314fc3e5a
Menus: shallow tweaks.
2026-03-20 20:47:07 +01:00
ocornut
50b488765f
ButtonBehavior, Selectable: made low-level ImGuiButtonFlags_PressedOnRelease not explicitely avoid taking current active id. ImGuiButtonFlags_NoHoldingActiveId may be used for that.
...
Ditto for ImGuiSelectableFlags_SelectOnRelease, ImGuiSelectableFlags_NoHoldingActiveId. All internals.
Toward #9312
2026-03-20 20:15:17 +01:00
ocornut
4af77622d9
Scrollbar: Fixed an issue which could lead initial click to move the current scroll by a pixel.
2026-03-20 16:14:17 +01:00
ocornut
2315b9f33d
InputTextMultiline: fixed an issue where edit buffer wouldn't be reapplied to back buffer on the IsItemDeactivatedAfterEdit() frame. ( #9308 , #8915 , #8273 )
2026-03-20 15:48:14 +01:00
ocornut
04dfcd838b
InputTextMultiline: fixed losing revert value when activating scrollbar. (toward #9308 )
2026-03-20 15:48:14 +01:00
ocornut
2d957152e4
InputTextMultiline: avoid going through reactivation path and InputTextDeactivateHook() when activating scrollbar. ( #9308 )
2026-03-20 15:37:56 +01:00
ocornut
325563a982
InputTextMultiline: InputTextMultiline: fixed an issue calculating lines count when active.
...
Amend 4252275
2026-03-20 15:17:07 +01:00
Pascal Thomet
763db046fa
Docs: fixed imgui_manual -> imgui_explorer link. ( #9315 )
2026-03-20 12:40:32 +01:00
ocornut
3a26b640b2
Drag and Drop: make SetDragDropPayload() memcpy size match our buffer.
2026-03-20 11:50:05 +01:00
ocornut
386ce49c58
Backends: DirectX9: fixed build typo in 0500e54.
2026-03-19 18:17:35 +01:00
ocornut
b2c3e37d55
Multi-Select: fix/amend 9700846. . ( #9307 , #1861 )
2026-03-19 16:58:14 +01:00
ocornut
9700846bb3
MultiSelect: added ImGuiMultiSelectFlags_SelectOnClickAlways mode. Prevents Drag and Drop of multiple items but allows BoxSelect to always reselect even when clicking inside a selecttion. ( #9307 , #1861 )
2026-03-19 16:39:50 +01:00
ocornut
0b4967992a
MultiSelect: Box-Select: removed now seemingly unnecessary 'selected==false' check, which will also prevent implementation of ImGuiMultiSelectFlags_SelectOnClickAlways. ( #9307 )
...
We enter into the block either though navigation, and then the Mouse check fails, either through mouse, and then Selected==false is tested above.
Amend f904a6646 .
2026-03-19 16:29:03 +01:00
ocornut
20d8bcb600
(Breaking) MultiSelect: renamed ImGuiMultiSelectFlags_SelectOnClick to ImGuiMultiSelectFlags_SelectOnAuto. ( #1861 , #6518 )
2026-03-19 16:04:04 +01:00
ocornut
358d3912c9
Backends: SDLRenderer2/3: fixed build, typo in 0500e54.
2026-03-19 12:34:11 +01:00
ocornut
4d1ba782ee
Revert changing default value of ImTextureID_Invalid to -1. Back to 0. ( #9295 , #9310 , #9293 , #8745 , #8465 , #7090 )
...
Reverts 0db591935f
2026-03-19 11:54:42 +01:00
ocornut
0500e546b5
Backends: DX9, Metal, SDLRenderer2/3: fixed more assumptions that ImTextureID_Invald == 0 + Amend Changelogs. ( #9310 , #9293 )
2026-03-19 11:47:01 +01:00
Starman
7fc3092870
Backends: SDLGPU3: Prevent DestroyTexture from deleting invalid textures if ImTextureID_Invalid != 0. ( #9310 , #9293 )
...
Amend 0db5919
2026-03-19 11:31:48 +01:00
ocornut
b724f940d6
InputText: fixed selection highlight Y1 offset being very slightly off (since 1.92.3). ( #9311 )
...
Fixes 1e52e7b90c
2026-03-19 11:20:00 +01:00
ocornut
4252275c64
InputTextMultiline: fixed an issue calculating lines count when inactive, no word-wrap, and ending with a \n.
...
Amend 1e52e7b90c (#3237 , #952 , #1062 , #7363 )
2026-03-18 20:12:14 +01:00
ocornut
6abe65aac6
InputText: amend fix to avoid PVS-Studio sort of rightful false positive. Amend f4c2f50. ( #9174 )
...
Checking for state != NULL in the two othr functions where state is already deferenced was misleading.
imgui_widgets.cpp:4496:1: error: V595 The 'state' pointer was utilized before it was verified against nullptr. Check lines: 4496, 4500.
imgui_widgets.cpp:5273:1: error: V595 The 'state' pointer was utilized before it was verified against nullptr. Check lines: 5273, 5289.
2026-03-18 18:57:02 +01:00
ocornut
f4c2f50896
InputText: fixed a crash when handling ImGuiInputTextFlags_CallbackResize. ( #9174 )
...
Fix/amend cb3b7ff .
2026-03-18 18:37:04 +01:00
ocornut
27cacb0e30
Fixed GetForegroundDrawList()/GetBackgroundDrawList() per-viewport buffers not being collected/ ( #9303 )
2026-03-18 16:48:18 +01:00
ocornut
709be8c495
Discard/GC of ImDrawList buffers for unused windows favor restoring them to ~Size*1.05 instead of Capacity when awakening again. ( #9303 )
...
+ made "GC now" button process even active windows.
2026-03-18 15:34:12 +01:00
ocornut
994ca12b29
Fixed warning. (Amend 1677236)
2026-03-16 18:51:38 +01:00
ocornut
6464276b62
InputText: cleanup/rework old comments + remove unnecessary indent in callback and main block setting apply_new_text.
...
Amend 00f12b9a0 , 3349296370 etc.
2026-03-16 18:42:28 +01:00
ocornut
16772365e2
Moved ImGuiButtonFlags_AllowOverlap from imgui_internal.h to imgui.h + standardize comments.
2026-03-16 18:42:22 +01:00
ocornut
8957b3df03
InputScalar: minor rework to facilitate incoming change. Intended to have no side-effects.
2026-03-16 11:41:01 +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