ocornut
675348f183
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-09 21:26:04 +02:00
ocornut
46efe961e8
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-09 21:26:04 +02:00
Rokas Kupstys
758c14efd5
ImStrv: Step 1 - change string type to ImStrv in API. (REBASED)
...
(last rebase amend 2024/12/11)
2026-09-09 21:26:03 +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
04b37d6d23
Added ImGuiItemFlags_MixedValue support for Drags, Sliders, InputScalar, InputText, RadioButton, Combo. ( #5518 , #5677 , #6865 )
2026-09-07 18:56:32 +02:00
ocornut
7e1b65d26d
Merge branch 'master' into docking
...
# Conflicts:
# imgui_internal.h
2026-09-02 17:27:51 +02:00
ocornut
e2e9533991
Added IM_NODEBUGSTEP helper. Tagged ImVec2, ImVec4, ImRect and various operators.
...
cc #3038 . Amend 1bc6f82091 , 301c956039
2026-09-02 17:13:47 +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
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
0af8f475d1
Fixed GetBackgroundDrawList()/GetForegroundDrawList() not being properly reset every frame when cumulated session time is very large. ( #9521 )
...
Using a FrameCount for compare. Kept time as float to be consistent with other GC-related timestamps: if there is an actual need to use double we'll switch everywhere.
2026-08-23 13:05:33 +02:00
ocornut
fd13a1e892
Merge branch 'master' into docking
...
# Conflicts:
# examples/example_apple_opengl2/main.mm
2026-08-19 13:39:46 +02:00
ocornut
5de45fb1d9
Trim trailing white spaces. Changes some NULL to nullptr.
2026-08-07 16:00:53 +02:00
Daniel K. O. (dkosmari)
49fa47fc19
Added IM_FMTARGS/IM_FMTLIST to TextAligned() functions. ( #1980 , #9455 )
2026-08-07 15:41:20 +02:00
ocornut
e236e74206
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_sdl2.cpp
# examples/example_sdl2_metal/main.mm
# imgui_internal.h
2026-08-06 21:32:43 +02:00
ocornut
6a6d7bc3ca
Internals: added SetNextWindowFlags(), SetNextWindowChildFlags() helpers + made BeginChildEx() itself read from them. ( #9503 , #8280 , #9412 , #9499 , #9393 , #8488 )
...
As a result BeginTable() doesn't need to read itself and pass that to BeginChildEx().
2026-08-05 21:16:35 +02:00
ocornut
11bd4e7731
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2026-08-04 14:34:04 +02:00
ocornut
5108603789
DrawList: apply current pixel density to DrawList's fringe scale. Added ImDrawList::_SetPixelDensity(). Reword FontRasterizerDensity as CurrentPixelDensity.
...
Amend 94a4322 .
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_draw.cpp
# imgui_internal.h
2026-08-04 13:15:05 +02:00
ocornut
fdc1152281
(Breaking) Style: obsoleted style.CurveTessellationTol in favor of style.CurveTesselationMaxError.
...
cc #3127 , #3664 , #3665
2026-08-03 17:05:44 +02:00
ocornut
ebd752a0ec
Version 1.93.0 WIP
2026-08-03 14:42:56 +02:00
ocornut
b48d1afbe8
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2026-07-31 16:25:00 +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
9b4eb24cee
Merge branch 'master' into docking
2026-07-25 13:45:27 +02:00
ocornut
01380c5797
Version 1.92.9
2026-07-25 13:28:06 +02:00
ocornut
f594633b54
Popups: added bool return value to OpenPopup(), OpenPopupOnItemClick() functions. ( #9429 )
...
Following on 795cf6fcb5 .
2026-07-23 17:49:39 +02:00
ocornut
ca49eff398
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2026-07-22 15:46:24 +02:00
ocornut
e4f7c5c722
Disabling ImGuiItemFlags_LiveEditOnInputScalar by default! ( #9476 , #701 )
2026-07-20 14:26:57 +02:00
ocornut
93bd4f0adb
Merge branch 'master' into docking
...
# Conflicts:
# .github/workflows/build.yml
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_sdl2.cpp
# examples/example_apple_metal4/main.mm
# imgui.cpp
2026-07-16 15:56:36 +02:00
ocornut
26b8292635
Split ImGuiItemFlags_LiveEdit into ImGuiItemFlags_LiveEditText, ImGuiItemFlags_LiveEditScalar. Added Demo contents. ( #9476 , #701 )
...
cc #3936 , #3946 , #5904 , #6284 , #8149 , #8065 , #8665 , #9117 , #9299 , #700 , #1351 , #1875 , #2060 , #2215 , #2380 , #2550 , #3083 , #3338 , #3556 , #4373 , #4714 , #4885 , #5184,#5777, #6707 , #6766 , #8004 , #8303 , #8915 , #9308
2026-07-16 15:46:47 +02:00
ocornut
c958f16059
EndGroup: fixed reporting combined Edit when it happens at the same time as tabbing to next ActiveId. ( #9476 , #701 )
2026-07-16 15:46:43 +02:00
ocornut
4853f5c96b
Internals: rename NextItemData.ItemFlags -> ItemFlagsSet
2026-07-16 15:46:40 +02:00
ocornut
18d63b12be
Added ImGuiItemFlags_LiveEdit flag, and much-awaited support for disabling it. ( #9476 , #701 )
...
cc #3936 , #3946 , #5904 , #6284 , #8149 , #8065 , #8665 , #9117 , #9299 , #700 , #1351 , #1875 , #2060 , #2215 , #2380 , #2550 , #3083 , #3338 , #3556 , #4373 , #4714 , #4885 , #5184,#5777, #6707 , #6766 , #8004 , #8303 , #8915 , #9308
2026-07-16 15:39:53 +02:00
ocornut
2392a52660
InputText: tag InputTextDeactivatedState with an elapsing frame. Avoid unnecessary InputTextDeactivateHook() call on manual deactivation. InputTextDeactivateHook() only takes a record when Edited + callback marks edited. ( #9476 , #701 )
...
for _NoLiveEdit it's easier than we don't use IsItemDeactivatedAfterEdit() in InputText()'s `if (g.InputTextDeactivatedState.ID == id)` block.
2026-07-16 15:39:52 +02:00
ocornut
a23e9fb1b5
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
2026-07-08 15:10:22 +02:00
ocornut
68fce9f3bd
Settings: added DiscardAll option to CleanupIniSettings() / ImGuiSettingsCleanupArgs. ( #9460 )
...
+ Demo: tweak for scaling.
2026-07-08 15:03:19 +02:00
ocornut
112d6d9eab
Settings: added a type name filter to CleanupIniSettings() / ImGuiSettingsCleanupArgs. Amends. ( #9460 )
...
Request hash because storing const char* strings in struct is not entirely zen. Amend 2c49da4 .
2026-07-07 22:30:15 +02:00
ocornut
2c49da44be
Settings: added a type name filter to CleanupIniSettings() / ImGuiSettingsCleanupArgs. ( #9460 )
2026-07-07 22:18:01 +02:00
ocornut
d1eb8d031c
Settings: added explicit DiscardWhenMissingDate. ( #9460 , #9108 )
2026-07-07 22:00:26 +02:00
ocornut
0e479b9554
(Breaking) ColorEdit: obsoleted SetColorEditOptions() function in favor of poking to style.ColorEditFlags.
2026-07-06 15:34:13 +02:00
ocornut
4be08b1ecf
Docking: minor packing of AuthorityForXXX fields.
2026-07-03 17:07:17 +02:00
ocornut
d098bf9657
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl2.cpp
# backends/imgui_impl_sdl3.cpp
# imgui.cpp
# imgui.h
# imgui_internal.h
2026-07-03 16:59:31 +02:00
ocornut
5fb77dfde1
Settings: added io.ConfigIniSettingsAutoDiscardMonths, trimming tool in in Metrics->Settings + internal CleanupIniSettings(). ( #9460 )
...
cc #437 #2564
2026-07-03 16:36:46 +02:00
ocornut
f7e8343ee9
Settings, IO: added io.ConfigIniSettingsSaveLastUsedDate, platform_io.Platform_SessionDate, IMGUI_DISABLE_TIME_FUNCTIONS(). ( #9460 )
...
cc #437
2026-07-03 16:36:45 +02:00
ocornut
0edad6d097
Internals: track WasSelected/WasSoleSelected data for ActiveId. ( #8337 )
2026-07-01 18:53:27 +02:00