Commit graph

2056 commits

Author SHA1 Message Date
ocornut
246cfec665 Demo: Custom Rendering: added zig-zag concave shape, tweak color, tidy up section. 2026-09-21 19:10:12 +02:00
ocornut
d073d45be9 DrawList: rename ImDrawFlags_MiterOnly->ImDrawFlags_JoinMiter, ImDrawFlags_SquareCap->ImDrawFlags_CapSquare. 2026-09-21 19:10:12 +02:00
ocornut
4f5a2aa291 Docs: reworked Changelog, comments. 2026-09-21 19:10:11 +02:00
ocornut
9b90afd7a0 DrawList: ImDrawFlags_AALineEnds also requires ImDrawFlags_AALine, which makes it easier for widgets to opt-in AAEnds. 2026-09-21 19:09:00 +02:00
ocornut
2b6114b002 DrawList: fixed using ImDrawFlags_UseTexForRoundCorners when ImFontAtlasFlags_NoBakedRoundCorners has also been set. 2026-09-21 19:09:00 +02:00
ocornut
03c3751a27 DrawList: added PushDrawFlag(), PopDrawFlag(), ImSmallStack_<> 2026-09-21 19:08:58 +02:00
ocornut
17a62e8dd1 Demo: amend test bed to exercices more flags. 2026-09-21 19:08:57 +02:00
ocornut
9838f26743 (Breaking) Obsoleted style.AntiAliasedLinesUseTex which now only makes sense for legacy strokes. Added style.AntiAliasedLineEnds. 2026-09-21 19:08:57 +02:00
ocornut
771e6dfa7a (Breaking) DrawList: removed ImDrawListFlags_in favor of using ImDrawFlags. 2026-09-21 19:08:57 +02:00
ocornut
8fd9f44455 DrawList: new ImDrawFlags API (yet unused in this commit) 2026-09-21 19:08:56 +02:00
ocornut
1cd57d1262 DrawList: inverted ImDrawFlags_NoAAEnds into ImDrawFlags_AAEnds. 2026-09-21 19:08:56 +02:00
Mikko Mononen
3c3e072212 DrawList: restored non-AA rendering mode.
- the ImDrawListFlags_AntiAliasedFill and ImDrawListFlags_AntiAliasedLines flags work again
- added non-AA rendering for polyline and convex poly filled
- do not use corner textures when AA is not used
- Add missing no-AA for single line case
2026-09-21 19:08:54 +02:00
Mikko Mononen
c47c6a7e9c Demo: added rounding slider+animate to allow better test range of rounding values. 2026-09-21 19:08:54 +02:00
Mikko Mononen
8ca0938d9b DrawList: debug build optimizations.
- changed truncated tests to use macro, and inline the computation in debug builds (~15% was spent on calling the functions)
- inlined the common rectangle cases in AddRect() for debug build speed up
2026-09-21 19:08:52 +02:00
ocornut
5f9eb7a51a DrawList: renamed ImDrawFlags_StrokeCenterAligned to ImDrawFlags_StrokeCenterBiased. 2026-09-21 19:08:51 +02:00
ocornut
c1e27738c7 DrawList: avoid using output references in _SelectFringeTexture() + misc tweaks, comments.
Matching coding style and more consistent for matching with other languages.
2026-09-21 19:08:50 +02:00
ocornut
cd643bb357 Demo: fixed using Miter/Square/NoAAends checkboxes interfering with stroke mode. warnings.
Demo: update "Lines" demo to help diagnose brightness change.
2026-09-21 19:08:49 +02:00
Mikko Mononen
6cfca59e3a DrawList: fixed visual pop in stroke rendering when thickness is between 1 and 2 pixels.
- added animated thickness to demo to make it easier to evaluate thickness visual progression
- added super sampled textures in thickness range [1..3] to avoid visual pop
2026-09-21 19:08:49 +02:00
ocornut
4026fb57cf DrawList: Textured Round Corners: use same array for fill and strokes.
Feels like a little less book-keeping.
2026-09-21 19:08:48 +02:00
ocornut
9d66a42f91 DrawList: renamed ImDrawFlags_StrokeCenterPixelAligned to ImDrawFlags_StrokeCenterAligned. 2026-09-21 19:08:48 +02:00
ocornut
0e68286e89 Demo: rework Custom Rendering's Primitives rendering. Fill + Stroke overlap.
Use {} style for ImVec2.
2026-09-21 19:08:48 +02:00
Mikko Mononen
6c70985b94 DrawList: added ImDrawFlags_NoAAEnds which allows to disable line end AA. 2026-09-21 19:08:48 +02:00
ocornut
af04d78b6f DrawList: misc fixes, amends (replace uses of GetColorU32, macros fixes, default flags). Demo: added rotating square, added MiterOnly checkbox. 2026-09-21 19:08:47 +02:00
Mikko Mononen
d1a0e06b91 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-09-21 19:08:47 +02:00
Mikko Mononen
30adab759c 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-09-21 19:08:46 +02:00
Mikko Mononen
97e5076ed1 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-09-21 19:08:46 +02:00
Mikko Mononen
106e375e9c 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-09-21 19:08:45 +02:00
Mikko Mononen
848240dce7 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-09-21 19:08:45 +02:00
ocornut
deb6654d44 DrawList: added _GetStrokePos() helper indirection, made flags=0 select default at runtime. 2026-09-21 19:08:45 +02:00
ocornut
a24295e1f9 Demo: Custom Rendering: expose Stroke Position.
Demo: Custom Rendering: amend tests (to include legacy AddLine() for vertical/horizontal lines to compare.
2026-09-21 19:08:45 +02:00
ocornut
a0cdc046a7 ImGuiTextFilter: reworked filter to make space an AND operator. Demo: tweaked demo.
Removed FilterOp, MinWordSize added a few commits ago.
2026-09-21 14:35:42 +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
c74e7e93a3 ImGuiTextFilter: Added support for space ' ' as separator. Added support for quoted "xxx" blocks. (#2435, #30) 2026-09-18 22:08:22 +02:00
ocornut
f7ada78e32 ImGuiTextFilter: added DrawWithHint(). (#6206, #6395, #6447) 2026-09-18 19:33:21 +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
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
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
04b37d6d23 Added ImGuiItemFlags_MixedValue support for Drags, Sliders, InputScalar, InputText, RadioButton, Combo. (#5518, #5677, #6865) 2026-09-07 18:56:32 +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