Commit Graph

2025 Commits

Author SHA1 Message Date
ocornut
425e1f3fb2 Demo: rework Custom Rendering's Primitives rendering. Fill + Stroke overlap.
Use {} style for ImVec2.
2026-08-05 21:24:52 +02:00
Mikko Mononen
2b0e9043dc DrawList: added ImDrawFlags_NoAAEnds which allows to disable line end AA. 2026-08-05 21:24:51 +02:00
ocornut
b7adfa395d DrawList: misc fixes, amends (replace uses of GetColorU32, macros fixes, default flags). Demo: added rotating square, added MiterOnly checkbox. 2026-08-05 21:24:51 +02:00
Mikko Mononen
6371cd7b1d DrawList: added stroke position to path rendering.
- added generic stroke position to all path rendering
- removed stroke folding in favor of limiting the miter width (simplifies the geometry cases)
- removed fractional stroke rendering in favor of using the integer sized rendering for everything
  - the rationale is that the in-between sizes are a bit blurry anyways, and the error we get from scaling is visually acceptable
- added stroke position option for the demo
- updated the degenerate shape handling
- remove AddLine() stroke pos handling
- removed up commented out code.
2026-08-05 21:24:51 +02:00
Mikko Mononen
08e5215737 DrawList: added square cap rendering.
- Added square cap rendering to the DrawPolyline, which can be turned on by ImDrawFlags_SquareCap
- Added draw flags to AddBezierCubic() and AddBezierQuadratic()
2026-08-05 21:24:50 +02:00
Mikko Mononen
b097a7bd33 DrawList: added better handling for rendering degenerate geometry. (2183, 7972)
- Add ImDrawFlags_MiterOnly which is used to indicate that a path contains simple geometry and can be rendered using mitered corners
- Added handling of degenerated shapes for stroked rectangle, circle, ngon, and ellipse
- Render shapes filled when outline covers the whole shape
- Clamp very small circles and ngons, and use alpha fade below one pixel
- Added correct offset for ellipse
2026-08-05 21:24:50 +02:00
Mikko Mononen
ce44b4e8be DrawList: added improved polyline rendering. (2183, 7972)
- added 2 variants of polyline rendering
- one handles integersized thickness using one strip of triangles along the line
- second handles any thickness using 2 strips of triangles long the line
2026-08-05 21:24:50 +02:00
Mikko Mononen
19e80b58b0 DrawList: changed CenterPixelAligned growth to be smoother, added stroke pos to AddLine()
- changed vertical AddLine() to be consistent with AddLineV()
- changed CenterPixelAligned growth to be smoother
- added (temporary) specialized stroke pos support for AddLine()
2026-08-05 21:24:50 +02:00
ocornut
753cb8474d DrawList: added _GetStrokePos() helper indirection, made flags=0 select default at runtime. 2026-08-05 21:24:49 +02:00
ocornut
e2498814cc Demo: Custom Rendering: expose Stroke Position.
Demo: Custom Rendering: amend tests (to include legacy AddLine() for vertical/horizontal lines to compare.
2026-08-05 21:24:49 +02:00
ocornut
11bd4e7731 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
2026-08-04 14:34:04 +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
ffbf21af6b Demo: Custom Rendering: enable LiveEdit. Tweaks. 2026-07-30 16:20:09 +02:00
ocornut
950d27137e Tweaks. 2026-07-29 15:51:15 +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
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
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
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
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
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
5098ce161d Merge branch 'master' into docking 2026-06-25 15:48:42 +02:00
ocornut
ac6f9683b5 Style: added MenuItemRounding, SelectableRounding, ImGuiStyleVar_MenuItemRounding, ImGuiStyleVar_SelectableRounding. (#7589, #9375, #9453) 2026-06-25 11:43:50 +02:00
ocornut
2af6dd9694 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_opengl3.cpp
#	imgui.cpp
2026-06-04 13:53:55 +02:00
Flexan
3495e329f3 Fixed small typo in demo code (#9425) 2026-06-01 15:34:00 +02:00
ocornut
4cb21e4a1e Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_win32.cpp
2026-05-28 15:46:34 +02:00
ocornut
e41d691da1 Demo: Tree Nodes: extract 'Tree Nodes->Selectable Nodes' into its own thing.
+ comments (#9401)
2026-05-18 14:31:58 +02:00
ocornut
5a76f2adf1 Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
2026-05-15 15:14:52 +02:00
ocornut
c7767926ce Version 1.92.9 WIP 2026-05-15 13:28:32 +02:00
ocornut
b61e56346a Merge branch 'master' into docking
# Conflicts:
#	imgui_demo.cpp
2026-05-12 16:43:34 +02:00
ocornut
8936b58fe2 Version 1.92.8
Include minor bits: adjust activeid logging, tweak comments.
2026-05-12 16:30:30 +02:00
ocornut
ac1f57ba0c Fixed BeginMenu() leading to window with is_resizable_width=true. Fix/amend 95bd1577d. (#9355)
We should instead probably make BeginChild() not set on ImGuiWindowFlags_AlwaysAutoResize on either ResizeX or ResizeY, but that'll be done later.
2026-05-11 16:34:33 +02:00
ocornut
56b37bf93c Inputs: SetItemKeyOwner(): does not set ownership is key is already taken.
(#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
2026-05-07 21:22:33 +02:00
ocornut
0eae77f783 Inputs: SetItemKeyOwner(): return true if ownership has been requested, which can to be checked to accurately gate further input test.
(#456, #2637, #2620, #2891, #3370, #3724, #4828, #5108, #5242, #5641)
2026-05-07 21:15:27 +02:00
ocornut
163b8670c8 Demo: added image viewer with magnifier and grid. 2026-05-07 20:20:05 +02:00
ocornut
c51f1a6e47 Merge branch 'master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
#	imgui.cpp
2026-05-07 16:59:11 +02:00
ocornut
6df50a0667 (Breaking) DrawList: swapped the last two arguments of AddRect(), AddPolyline(), PathStroke(). thickness<>flags.
Added inline redirection functions when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is off.
Marked the old functions are =delete when IMGUI_DISABLE_OBSOLETE_FUNCTIONS is on, to allow for better type-checking.
The aim is to be able to use/add flags to more ImDrawList functions, and making existing functions consistents was deemed very desirable.
2026-05-07 16:37:57 +02:00
ocornut
310f3c8370 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_metal.h
#	backends/imgui_impl_metal.mm
#	imgui.cpp
2026-05-06 12:30:38 +02:00
Mikko Mononen
691b89baae ImDrawList: added AddLineH(), AddLineV() helpers. (#9360)
This commit is aimed to be a lossless transform. Further layout fixes in subsequent commits.
2026-04-28 17:04:54 +02:00
ocornut
6b61e60e22 Merge branch 'master' into docking 2026-04-20 13:53:01 +02:00
ocornut
ac88294b4a MultiSelect: Box-Select +Tables: fix usage of box-selection columns with items straying out of columns. (#7994, #2221)
Use 00d3f9295e.
+ Assets Browser toggle to enable ScrollX.
2026-04-20 11:12:43 +02:00