ocornut
7d26469d25
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-15 18:49:51 +02:00
ocornut
b7310858ab
ImStrv: standardized code doing format copy, optimized ImStrStr
2026-10-15 18:49:51 +02:00
ocornut
9e5e8be006
ImStrv: moved double char* function signatures under #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS blocks + fixed various compiles errors/warnings.
2026-10-15 18:49:51 +02:00
ocornut
ab5b20b91a
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-15 18:49:51 +02:00
ocornut
75f5368fab
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-15 18:49:50 +02:00
Rokas Kupstys
2e819e866f
ImStrv: Step 1 - change string type to ImStrv in API. (REBASED)
...
(last rebase amend 2024/12/11)
2026-10-15 18:49:50 +02:00
ocornut
d88f238d1d
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2026-10-15 18:47:51 +02: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
b94ba000e0
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_sdl3_metal4/main.mm
2026-10-14 18:30:46 +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
0cb6f6501c
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_metal.mm
# backends/imgui_impl_vulkan.cpp
# imgui.cpp
2026-10-07 19:11:40 +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
0f4b927e81
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
2026-10-05 19:42:50 +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
ocornut
64944b4520
Merge remote-tracking branch 'origin/master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
# imgui_internal.h
2026-09-25 15:38:34 +02:00
Brenton Bostick
e728936797
Docs: fixed typos/repeated words. ( #9555 )
2026-09-24 14:33:24 +02:00
ocornut
730623ea35
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx10.h
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx11.h
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx12.h
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_opengl3.h
# backends/imgui_impl_sdlgpu3.cpp
# backends/imgui_impl_sdlgpu3.h
# backends/imgui_impl_sdlrenderer3.cpp
# backends/imgui_impl_sdlrenderer3.h
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_vulkan.h
# backends/imgui_impl_wgpu.cpp
# backends/imgui_impl_wgpu.h
# imgui.cpp
# imgui_internal.h
# imgui_widgets.cpp
2026-09-18 22:19:23 +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
367b2c24f3
Merge branch 'master' into docking
2026-09-09 21:25:09 +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
a2b7d6e792
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_metal.mm
# backends/imgui_impl_metal4.mm
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_sdlgpu3.cpp
# backends/imgui_impl_vulkan.cpp
# imgui.cpp
2026-09-07 19:52:24 +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
7e1b65d26d
Merge branch 'master' into docking
...
# Conflicts:
# imgui_internal.h
2026-09-02 17:27:51 +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