Commit graph

10130 commits

Author SHA1 Message Date
ocornut
01d466a9d9 ImStrv: marked with IM_NODEBUGSTEP.
Reduce cognitive/debug-stepping load.
2026-09-21 19:40:13 +02:00
ocornut
4b7a689c93 ImStrv: detect and fixed misuses of CalcTextSize() old signature. (9321) 2026-09-21 19:40:13 +02:00
David Mentler
618c5ae46a ImStrv: Added ImStrv formatter for LLDB (e.g. Xcode) 2026-09-21 19:40:13 +02:00
ocornut
18cc965dbd ImStrv: made length() returns an int as it simplify the most common case (of passing %.*s to printf) 2026-09-21 19:40:13 +02:00
ocornut
d82a368c49 ImStrv: allow constructing from two null pointers. 2026-09-21 19:40:12 +02:00
ocornut
2bac52d8cc ImStrv: Combo(), ListBox(): seems better to not introduce 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.
2026-09-21 19:40:12 +02:00
ocornut
903f1443af 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-09-21 19:40:12 +02:00
ocornut
6e9a5212c9 ImStrv: add needed disambiguishing functions for const char* now being ambiguous. (5079)
amended for gcc/clang warnings
amended to facilitate merge with docking
2026-09-21 19:40:12 +02:00
ocornut
c04b9b95b3 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-09-21 19:40:12 +02:00
璀境石
d6bc58a78e ImStrv: enhanced VS debugger .natvis support. build fixes. (5333, 5906) 2026-09-21 19:40:12 +02:00
ocornut
a7382877de ImStrv: standardized code doing format copy, optimized ImStrStr 2026-09-21 19:40:12 +02:00
ocornut
77b0b43c7f ImStrv: moved double char* function signatures under #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS blocks + fixed various compiles errors/warnings. 2026-09-21 19:40:12 +02:00
ocornut
37a2b772ae 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-09-21 19:40:11 +02:00
ocornut
43120eedf6 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-09-21 19:40:11 +02:00
Rokas Kupstys
3e38cfc922 ImStrv: Step 1 - change string type to ImStrv in API. (REBASED)
(last rebase amend 2024/12/11)
2026-09-21 19:13:29 +02:00
ocornut
58d7570b8b ImGuiTextFilterItem: shallow renames. 2026-09-21 18:26:00 +02:00
ocornut
6cf8332f93 ImGuiTextFilterItem: added MatchIncludesMask support field for e.g. ImGuiTextFilterMultiMatch. 2026-09-21 16:52:48 +02:00
ocornut
e19fea020f ImGuiTextFilter: moved ImGuiTextFilterItem to internals. (#2435) 2026-09-21 15:12:59 +02:00
ocornut
d5c68c301a ImGuiTextFilter: reworked filter to make space an AND operator. Demo: tweaked demo.
Removed FilterOp, MinWordSize added a few commits ago.
2026-09-21 14:29:04 +02:00
ocornut
420f179341 Backends: fixed Clang -Wold-style-cast warnings.
Amend 8e17468
2026-09-18 22:31:58 +02:00
ocornut
249e5a939d ImGuiTextFilter: added undocumented FilterOp support. (#2435) 2026-09-18 22:10:31 +02:00
ocornut
565564bb5c ImGuiTextFilter: reworked items parsing/storage to be able to simplify PassFilter().
As PassFilter() is the bottleneck.
2026-09-18 22:10:31 +02:00
ocornut
c0041b7d3c ImGuiTextFilter: added undocumented MinWordSize support. (#2435) 2026-09-18 22:09:14 +02:00
ocornut
c74e7e93a3 ImGuiTextFilter: Added support for space ' ' as separator. Added support for quoted "xxx" blocks. (#2435, #30) 2026-09-18 22:08:22 +02:00
ocornut
54f86be71e ImGuiTextFilter: fixed filtering when mixing "include" and "-exclude" keyword so that an "-exclude" match always filters out. (#2435)
+ fix typo in ImToUpper
2026-09-18 22:07:26 +02:00
ocornut
fc98dc4a72 (Internal) ImGuiTextFilter: renaming ImGuiTextRange->ImGuiTextFilterItem, Filters->Items. (#2435) 2026-09-18 22:04:44 +02:00
ocornut
a14bebd948 (Breaking) ImGuiTextFilter: removed float width parameter of Draw(const char* filter, float width). (#6206, #6395, #6447)
The reasoning is to (1) keep things consistent with DrawWithHint() without polluting the new function with width. (2) keep things consistent with other items.
2026-09-18 19:33:21 +02:00
ocornut
f7ada78e32 ImGuiTextFilter: added DrawWithHint(). (#6206, #6395, #6447) 2026-09-18 19:33:21 +02:00
ocornut
c8fc1829d0 ImGuiTextFilter: minor tweaks, made ImGuiTextRange fields match upcoming ImStrv. Removed exposed ImGuiTextRange helpers.
Rename CountGrep to CountInclude (#3906)
Toward #2435
2026-09-18 19:33:21 +02:00
ocornut
f09485d7be Style: inverted ImGuiCol_TitleBgXXX colors for StyleColorsLight().
So that the selected window title bar appears brighter.
2026-09-18 16:05:56 +02:00
ocornut
6d07f6eb09 Selectable: fixed ImGuiSelectableFlags_SelectOnNav triggering during NavInit.
Style Editor: fixed style/colors combo box applying style when opening Combo.
2026-09-18 15:49:00 +02:00
ocornut
5a0ac1678c Minor rename. 2026-09-17 21:09:14 +02:00
ocornut
eabff0fd08 Backends: OpenGL2/OpenGL3: Added support for platform_io.DrawCallback_SetSamplerFromTex. (#9378) 2026-09-17 20:36:02 +02:00
ocornut
25e16fd8b6 Backends: OpenGL3: minor refactor for both sampler callback to share more code + comments. (#9378) 2026-09-17 20:36:02 +02:00
ocornut
333f5186e3 Backends: OpenGL2, OpenGL3: fixed DrawCallback_ResetRenderState handler not reseting all states in the glTexParameter() path. (#9378)
+ made OpenGL3 SetSamplerLinear/SetSamplerNearest check UseBindSampler for consistency.
2026-09-17 20:36:02 +02:00
ocornut
b5135f270f Backends: SDLRenderer3: added support for platform_io.DrawCallback_SetSamplerFromTex. (#9378) 2026-09-17 19:08:19 +02:00
ocornut
09b7ff9385 Backends: rework header comments about ImGui_ImplXXX_GetRenderState() functions.
Amend 8e17468
2026-09-17 19:08:18 +02:00
ocornut
8d3e37eb53 Backends: SDLRenderer3: restore modified texture scale modes at the end of RenderDrawData(). (#9378, #9543) 2026-09-17 15:17:26 +02:00
ocornut
7cb5ded5d2 Backends: SDLRenderer2, SDLRenderer3: reduce includes. (#9543)
Amend a5b5f2d
2026-09-17 11:36:57 +02:00
Clownacy
a5b5f2d85a Backends: SDLRenderer3: expose CurrentScaleMode in ImGui_ImplSDLRenderer3_RenderState. (#9543) 2026-09-17 11:36:46 +02:00
ocornut
8e174685ae Backends: added ImGui_ImplXXXX_GetRenderState() helpers to all backends not having one. 2026-09-16 16:14:06 +02:00
ocornut
b00dd14a34 TabBar: using <> scrolling buttons while the selected Tab is at either end of the section mid-section but not fully visible always makes it fully visible. 2026-09-14 19:50:43 +02:00
ocornut
c8b9f0d6be TabBar: Improved scroll target when clicking a Tab that is larger than the scrolling region width.
The margin that is useful to indicate other tabs being available gets in the way of visibility in this case.
2026-09-14 19:05:13 +02:00
ocornut
ea60e7b748 TabBar: added TabBarGetTabPos() helper.
# Conflicts:
#	imgui_internal.h
#	imgui_widgets.cpp
2026-09-14 15:56:57 +02:00
ocornut
e0a2f6dea9 Drag and Drop: minor refactor into a helper RenderDragDropTargetRectForViewport() function. 2026-09-10 18:32:44 +02:00
ocornut
e8602501bb Mixed Value: various fixes. (#5518, #5677, #6865)
- With MixedValue+LiveEdit: a single edit that ends up with same output reports as edited.
- Standardize path sin TempInputscalar(), InputScalar(), InputTextEx().
- Refer to changes in imgui_test_suite, in particular "widgets_datatype_1", "widgets_status_liveedit_off",
2026-09-09 20:44:34 +02:00
ocornut
ea6d21687b BeginComboPreview(): fixed issues with nesting. Previous comments were wrong. (#1658, #4168) 2026-09-08 21:52:23 +02:00
ocornut
db5b735a5d (Breaking) BeginComboPreview: removed ImGuiComboFlags_CustomPreview: now unnecessary + better detect issues (#1658, #4168) 2026-09-08 19:38:42 +02:00
ocornut
32c3f6095a BeginComboPreview: set/restore WorkRect.Max.x. (#1658, #4168) 2026-09-08 17:44:56 +02:00
ocornut
148d128f6e Mixed Value: use ImGuiCol_TextMixedValue (= ImGuiCol_TextDisabled). Set MixedValueLabel to null to display original value. (#5518, #5677, #6865) 2026-09-08 16:47:04 +02:00