ocornut
e3854498fa
ImStrv: made length() returns an int as it simplify the most common case (of passing %.*s to printf)
2026-10-26 13:59:40 +01:00
ocornut
71ce91097a
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-10-26 13:59:40 +01:00
ocornut
81c9a72e9f
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-10-26 13:59:40 +01:00
ocornut
09f7ec1ba5
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-10-26 13:59:40 +01:00
ocornut
84971a4993
ImStrv: standardized code doing format copy, optimized ImStrStr
2026-10-26 13:59:40 +01:00
ocornut
1845eabf86
ImStrv: moved double char* function signatures under #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS blocks + fixed various compiles errors/warnings.
2026-10-26 13:59:40 +01:00
ocornut
3de2c4b14c
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-10-26 13:59:40 +01:00
ocornut
ac9042899f
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-10-26 13:59:40 +01:00
Rokas Kupstys
652998ed0b
ImStrv: Step 1 - change string type to ImStrv in API. (REBASED)
...
(last rebase amend 2024/12/11)
2026-10-26 13:59:39 +01:00
ocornut
4c9c888fc5
Build: warning fixes for VS2015 and <v141.
2026-10-15 15:39:58 +02:00
ocornut
cbe3d5fb88
Version 1.93.1 WIP
2026-10-15 14:34:31 +02:00
ocornut
c1aaac65e8
Version 1.93.0
2026-10-14 17:55:08 +02:00
ocornut
09cd4416e8
PlotHistogram: fixed passing inverted coordinates to AddRectFilled().
2026-10-13 16:20:49 +02:00
ocornut
0e756a649d
(Breaking) DrawList: renamed ImDrawFlags_RoundCornersXXX to ImDrawFlags_RoundXXX. ( #9504 )
2026-10-07 18:53:55 +02:00
ocornut
ee66cfcdf3
TabBar: simpify TabItem rendering using stroke flags.
...
May tend toward using _StrokeInside more but _StrokeCenterBiased is closer to current behavior.
2026-10-07 18:53:54 +02:00
ocornut
5181e95a46
DrawList: removed g_LEGACY_STROKES.
2026-10-07 18:53:53 +02:00
ocornut
e8c8a10a2d
DrawList: amends/review legacy stroke paths + minor tweaks.
2026-10-07 18:53:51 +02:00
Mikko Mononen
37f16412d5
Fixed layout/pixel-perfect issues in various widgets (w/ g_LEGACY_STROKES toggle). ( #9504 )
2026-10-07 18:53:49 +02:00
ocornut
580c00c316
InputText: fixed a crash using Home key with WordWrap+ReadOnly. ( #9561 )
...
Only the change in STB_TEXTEDIT_MOVELINESTART_IMPL() is required. The others are just for nicer semantic.
2026-09-28 17:47:39 +02:00
Brenton Bostick
e728936797
Docs: fixed typos/repeated words. ( #9555 )
2026-09-24 14:33:24 +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
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
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
ocornut
334f484892
ColorEdit4, ColorPicker4: added support for ImGuiItemFlags_MixedValue. ( #5518 , #5677 , #6865 )
2026-09-07 19:48:28 +02:00
ocornut
dd32dace81
InputText: using MixedValue automatically sets ImGuiInputTextFlags_AutoSelectAll. ( #5518 , #5677 , #6865 )
2026-09-07 19:09:24 +02:00
ocornut
04b37d6d23
Added ImGuiItemFlags_MixedValue support for Drags, Sliders, InputScalar, InputText, RadioButton, Combo. ( #5518 , #5677 , #6865 )
2026-09-07 18:56:32 +02:00
ocornut
687f7fb8ac
Drags, Sliders: ongoing drags may be cancelled using Right-Mouse mouse button, reverting to the initial value. ( #8564 , #9534 )
2026-09-07 16:16:55 +02:00
ocornut
96b6eb7728
Fixed PVS-Studio false positives.
...
Not sure if there's a way to report them.
2026-09-04 12:37:48 +02:00
ocornut
f150bf09f9
Drags, Sliders: ongoing drags may be cancelled using Escape or Gamepad Triangle, reverting to the initial value. ( #8564 , #9534 )
2026-09-04 12:24:49 +02:00
ocornut
51c3c0c992
Sliders: moved code from SliderBehaviorT() to SliderBehavior().
...
Remove a level of indent too.
2026-09-03 17:28:48 +02:00
slowriot
7edd2b1f12
Sliders, Drags: adjust ScaleValueFromRatioT() to increase remapping precision (in theory). ( #9536 )
...
Omar: couldn't detect any output difference in test suite with large u64/s64 ranges drag/sliders.
I believe this is entirely theoretical and it's principal value is to shut Linter warnings
2026-09-03 15:42:24 +02:00
ocornut
1807b25b9a
ScaleValueFromRatioT: removed unnecessary check, amend f27af1b20.
2026-09-03 15:29:37 +02:00
ocornut
a15761f11c
TreeNode: fixed UB shifts and general tree issues when using ImGuiTreeNodeFlags_DrawLinesXXX flags and over 32 deep. ( #9509 )
...
+ fix minor typo (#9533 )
2026-09-01 20:06:02 +02:00
ocornut
ebc7307db5
ColorButton, RenderColorRectWithAlphaCheckerboard: fixed issues/inconsistencies with checkerboard rendering when combining color alpha and global style alpha. ( #9511 )
...
Cleanup hacks in ColorButton(). Amend d851775c80a, e9ff7162b.
2026-08-31 18:04:03 +02:00
ocornut
fd74775a0d
ColorButton: fixed double style alpha multiply. Remove call to GetColorU32() in RenderColorRectWithAlphaCheckerboard() for consistency. ( #9511 )
...
The main fix is the change from GetColorU32() to ColorConvertFloat4ToU32() in calling code.
The change from GetColorU32() to manual multiply in RenderColorRectWithAlphaCheckerboard() is merely for consistency with other ::Render calls.
2026-08-31 17:29:10 +02:00
ocornut
19ead810d2
ColorButton, ColorEdit, ColorPicker: cancel-out alpha caused by BeginDisabled() so disabled color buttons have the same color. ( #9511 )
2026-08-31 17:29:10 +02:00
ocornut
d3c5ff395c
Drags, Sliders: fixed an overflow using ImGuiSliderFlags_Logarithmic with S32/S64 types. ( #9526 , #3361 , #1823 , #1316 , #642 )
2026-08-30 19:44:15 +02:00
ocornut
46d39d56fe
Fixed GCC false positive. ( #9508 )
2026-08-07 18:42:39 +02:00
ocornut
551a0a6bc0
TextAligned, TextAlignedV: rework to always use provided width. ( #7024 , #9455 , #1980 )
2026-08-07 17:48:50 +02:00
ocornut
ebd752a0ec
Version 1.93.0 WIP
2026-08-03 14:42:56 +02:00
ocornut
f1cc2ae15e
Version 1.92.9b
2026-07-31 16:14:42 +02:00
ocornut
448ef2baa9
DragXXX, SliderXXX: fixed a regression in 1.92.9 where clicking a previously Ctrl+Clicked field would flick it to text edit mode for a frame. ( #9476 , #701 )
2026-07-31 13:09:40 +02:00
ocornut
01380c5797
Version 1.92.9
2026-07-25 13:28:06 +02:00