Commit Graph
6606 Commits
Author SHA1 Message Date
Mikko Mononen 927df56807 DrawList: Textured Round Corners: Added flags to disable textured rounded corners (1962)
- added ImFontAtlasFlags_NoBakedRoundCorners which controls if rounded corners should be baked to texture
- added ImDrawListFlags_RoundCornersUseTex which controls if we should try to use textured roudned corners
- fixed how _FringeScaleIsInteger is calculated (we want to detect integer pixel scale)
- fixed how _FringeScale is used with textured rounded corners
2026-08-05 21:24:49 +02:00
Mikko Mononen 0935ae6bba Fixed layout/pixel-perfect issues in various widgets (w/ g_LEGACY_STROKES toggle) 2026-08-05 21:24:48 +02:00
Mikko Mononen 76184b6308 (Breaking) DrawList: removed half pixel offset from ImDrawList::AddLine()
- removed half pixel offset from ImDrawList::AddLine()
- added ImDrawList::AddHorizontalLine() and ImDrawList::AddVerticalLine() which draw line to the side of the specified line
- Change uses of AddLine() which were obviously vertical and horizontal  to use the v and h lines
- Fixed layouting issues from above changes
- Changed primitives demo to use vline and hline
- Fixed angled header to match original
- Fixed separator line to match original
- Fixed caret to match original
- Fix separator vertical alignment
- Added stroke pos, which controls how stroke is draw relative to the shape
- Kept legacy mode which does 1/2px inset
- Added stroke pos support for Rect, Circle, Ngon, and Ellipse
- add stroke pos to hline and vline
- Added drawflag ImDrawFlags_TruncateCoords which allows to hint the renderer that the input is snapped to pixels (can disable AA in some cases)
- Implemented 9-slice renderer for rounded corners
- Remove ImDrawFlags_TruncateCoords flag in favor of detecting truncated coords.
- Renamed to AddLineH(), AddLineV()
- Removed ImDrawStrokePos, folded into ImDrawFlags
2026-08-05 21:24:48 +02:00
ocornut 94c05ba40b Viewports: removed unused code. Extra assert. (#9502) 2026-08-05 20:18:26 +02:00
ocornut 035c87ef84 Viewports: fixed viewport->FramebufferScale update for main viewport. Amend 98a66d8, 91b131e. (#9502) 2026-08-05 17:20:04 +02:00
ocornut 91b131e448 Viewports: fixed viewport->FramebufferScale being reset. Amend 98a66d8. (#9502) 2026-08-05 15:54:39 +02:00
ocornut 11bd4e7731 Merge branch 'master' into docking
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
# Conflicts:
#	imgui.cpp
2026-08-04 14:34:04 +02:00
ocornut 2de0a07cd4 Fixed PVS Studio false positive.
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
2026-08-04 14:33:31 +02:00
ocornut 98a66d8c88 Viewports: fixed viewport->Framebuffer not being state on platform on backend where Platform_GetWindowFramebufferScale (value was only applied to DrawData). 2026-08-04 14:02:53 +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.
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
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
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
# Conflicts:
#	docs/CHANGELOG.txt
2026-07-31 16:25:00 +02:00
ocornut f1cc2ae15e Version 1.92.9b
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
2026-07-31 16:14:42 +02:00
ocornut 81cfcb8c1f Docking: (very minor) Scaling of drop boxes padding, rounding, thickness.
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
2026-07-30 13:57:36 +02:00
ocornut 950d27137e Tweaks.
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
2026-07-29 15:51:15 +02:00
ocornut b334d19b66 ImDrawData: fixed a regression in 1.92.9 where legacy ImDrawData::CmdListsCount was always 0.
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
2026-07-26 15:46:38 +02:00
ocornut a9e7a8c880 ImDrawData: fixed a regression in 1.92.9 where legacy ImDrawData::CmdListsCount was always 0.
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
2026-07-26 15:42:48 +02:00
ocornut 9b4eb24cee Merge branch 'master' into docking
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
2026-07-25 13:45:27 +02:00
ocornut 01380c5797 Version 1.92.9
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
2026-07-25 13:28:06 +02:00
ocornut e722165561 Docs: rework FAQ index, added multi-threading and string-view details. 2026-07-25 12:41:02 +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
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
# Conflicts:
#	imgui.cpp
2026-07-22 15:46:24 +02:00
ocornut 6f41d13c7a DrawData: added FrameCount field to facilitate debugging multi-threading issues. (#8597, #9136)
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
2026-07-20 17:00:32 +02:00
ocornut 548389359c (Breaking) ImDrawData: marked draw_data->CmdListsCount as obsolete. Use draw_data->CmdLists.Size.
# Conflicts:
#	docs/CHANGELOG.txt
#	imgui.cpp
2026-07-20 16:58:45 +02:00
ocornut e4f7c5c722 Disabling ImGuiItemFlags_LiveEditOnInputScalar by default! (#9476, #701) 2026-07-20 14:26:57 +02:00
ocornut d00a87565b Fixed build when using IMGUI_DEBUG_HIGHLIGHT_ALL_ID_CONFLICTS + IMGUI_DISABLE_OBSOLETE_FUNCTIONS. (#9482)
Amend 6df50a0667
2026-07-20 14:11:21 +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)
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
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 baeea39c1a Settings: fixed issues caliing ClearWindowSettings() followed by LoadIniSettingsFromMemory().
build / Build - Windows (push) Has been cancelled
build / Build - Linux (push) Has been cancelled
build / Build - MacOS (push) Has been cancelled
build / Build - iOS (push) Has been cancelled
build / Build - Emscripten (push) Has been cancelled
build / Build - Android (push) Has been cancelled
build / Test - Windows (push) Has been cancelled
build / Test - Linux (push) Has been cancelled
While not done with core, this would be useful to load .ini over a clean slate.
2026-07-15 19:22:44 +02:00
ocornut addbfa5021 Settings: fixed ConfigIniSettingsAutoDiscardMonths not calling Cleanup (#9460, #9471) 2026-07-15 13:57:48 +02:00
ocornut da137cbbb0 (Breaking) Drag and Drop: commented out legacy name ImGuiDragDropFlags_SourceAutoExpirePayload. Use ImGuiDragDropFlags_PayloadAutoExpire. 2026-07-08 18:40:29 +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 f903a7e8e2 Settings: fixed Windows not honoring DiscardWhenMissingDate. (#9460) 2026-07-07 22:52:47 +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 f626c1c793 ColorPicker: added option to fix Saturation/Value triangle in wheel picker. Amends. (#9337)
ConfigColorPickerRotateTriangle -> !ImGuiColorEditFlags_PickerNoRotate
2026-07-07 16:18:34 +02:00
ocornut 5d56c09432 ColorPicker: added option to fix Saturation/Value triangle in wheel picker. Amends. (#9337) 2026-07-07 16:14:13 +02:00
ocornut aca69173df (Breaking) ColorEdit: obsoleted SetColorEditOptions() function in favor of poking to io.ConfigColorEditFlags. (Amend 0e479b9, 9f7d808)
Apologies, 9f7d808 was extremely flaky.
2026-07-07 16:10:35 +02:00
ocornut 9f7d8086fe (Breaking) ColorEdit: obsoleted SetColorEditOptions() function in favor of poking to io.ColorEditFlags. (Amend 0e479b9)
Reordered IO fields breaks ABI backward compat which was never guaranteed. Occasional breaking is a good way to enforce that lack of guarantee!
2026-07-06 16:02:17 +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