Commit graph

6643 commits

Author SHA1 Message Date
ocornut
4f5a2aa291 Docs: reworked Changelog, comments. 2026-09-21 19:10:11 +02:00
ocornut
4d27f08dbb DrawList: removed ImDrawFlags_UseTexForStrokeLegacy as it doesn't have any use now that legacy code is out of the way. 2026-09-21 19:09:01 +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
9db63a6d7b DrawList: Comments. Atlas's NoBakedLines automatically disable AA at Style level. Fix passing non-Legacy stroke mask to PushDrawFlag(). Demo: Custom Rendering: use LiveEdit everywhere. 2026-09-21 19:08:59 +02:00
ocornut
7b2ad5a591 DrawList: removed g_LEGACY_STROKES. 2026-09-21 19:08:59 +02:00
ocornut
03c3751a27 DrawList: added PushDrawFlag(), PopDrawFlag(), ImSmallStack_<> 2026-09-21 19:08:58 +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
9fe6ea561a DrawList: amends/review legacy stroke paths + minor tweaks. 2026-09-21 19:08:52 +02:00
Mikko Mononen
c9de560e97 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-09-21 19:08:44 +02:00
Mikko Mononen
c282554b6e Fixed layout/pixel-perfect issues in various widgets (w/ g_LEGACY_STROKES toggle) 2026-09-21 19:08:43 +02:00
Mikko Mononen
d52c7d5125 (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-09-21 19:08:43 +02:00
ocornut
3bae66c735 ImGuiTextFilter: moved ImGuiTextFilterItem to internals. (#2435) 2026-09-21 16:35:18 +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
249e5a939d ImGuiTextFilter: added undocumented FilterOp support. (#2435) 2026-09-18 22:10:31 +02:00
ocornut
565564bb5c ImGuiTextFilter: reworked items parsing/storage to be able to simplify PassFilter().
As PassFilter() is the bottleneck.
2026-09-18 22:10:31 +02:00
ocornut
c0041b7d3c ImGuiTextFilter: added undocumented MinWordSize support. (#2435) 2026-09-18 22:09:14 +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
54f86be71e ImGuiTextFilter: fixed filtering when mixing "include" and "-exclude" keyword so that an "-exclude" match always filters out. (#2435)
+ fix typo in ImToUpper
2026-09-18 22:07:26 +02:00
ocornut
fc98dc4a72 (Internal) ImGuiTextFilter: renaming ImGuiTextRange->ImGuiTextFilterItem, Filters->Items. (#2435) 2026-09-18 22:04:44 +02:00
ocornut
a14bebd948 (Breaking) ImGuiTextFilter: removed float width parameter of Draw(const char* filter, float width). (#6206, #6395, #6447)
The reasoning is to (1) keep things consistent with DrawWithHint() without polluting the new function with width. (2) keep things consistent with other items.
2026-09-18 19:33:21 +02:00
ocornut
f7ada78e32 ImGuiTextFilter: added DrawWithHint(). (#6206, #6395, #6447) 2026-09-18 19:33:21 +02:00
ocornut
c8fc1829d0 ImGuiTextFilter: minor tweaks, made ImGuiTextRange fields match upcoming ImStrv. Removed exposed ImGuiTextRange helpers.
Rename CountGrep to CountInclude (#3906)
Toward #2435
2026-09-18 19:33:21 +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
b5135f270f Backends: SDLRenderer3: added support for platform_io.DrawCallback_SetSamplerFromTex. (#9378) 2026-09-17 19:08:19 +02:00
ocornut
e0a2f6dea9 Drag and Drop: minor refactor into a helper RenderDragDropTargetRectForViewport() function. 2026-09-10 18:32:44 +02:00
ocornut
367b2c24f3 Merge branch 'master' into docking 2026-09-09 21:25:09 +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
9090ba71e5 Fixed Tesselation -> Tessellation in comments. 2026-09-07 16:38:38 +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
Lukasz Stalmirski
4ebb04333b IO: restore default platform handlers on ClearPlatformHandlers. (#9537, #8945, #2769)
Amend d4f722d5b.
2026-09-07 13:05:15 +02:00
ocornut
7e1b65d26d Merge branch 'master' into docking
# Conflicts:
#	imgui_internal.h
2026-09-02 17:27:51 +02:00
ocornut
f562ab8e32 DrawList: reworked assert in PushTexture() to allow convenience grace period of using texture already queued for destroy during the same frame. (#9528, #8465)
Amend 131f5c57ab
2026-09-01 16:22:14 +02:00
nilFinx
e0537bf72b
Fixed build issue with MacPorts Clang 16 (missing TARGET_OS_OSX). (#9498) 2026-08-31 18:42:46 +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
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
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
# Conflicts:
#	imgui.cpp
2026-08-04 14:34:04 +02:00
ocornut
2de0a07cd4 Fixed PVS Studio false positive. 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.
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