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