3008 Commits

Author SHA1 Message Date
ocornut
ab5b20b91a 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-10-15 18:49:51 +02:00
ocornut
75f5368fab 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-10-15 18:49:50 +02:00
Rokas Kupstys
2e819e866f ImStrv: Step 1 - change string type to ImStrv in API. (REBASED)
(last rebase amend 2024/12/11)
2026-10-15 18:49:50 +02:00
ocornut
d88f238d1d Merge branch 'master' into docking
# Conflicts:
#	imgui.cpp
2026-10-15 18:47:51 +02:00
ocornut
cbe3d5fb88 Version 1.93.1 WIP 2026-10-15 14:34:31 +02:00
ocornut
b94ba000e0 Merge branch 'master' into docking
# Conflicts:
#	examples/example_sdl3_metal4/main.mm
2026-10-14 18:30:46 +02:00
ocornut
c1aaac65e8 Version 1.93.0 2026-10-14 17:55:08 +02:00
ocornut
0cb6f6501c Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_metal.mm
#	backends/imgui_impl_vulkan.cpp
#	imgui.cpp
2026-10-07 19:11:40 +02:00
ocornut
475b793baa Docs: reworked Changelog, comments. 2026-10-07 18:53:55 +02:00
Mikko Mononen
c6c352f77d DrawList: fixed too many detailed line textures being created.
Fixed issue where were creating detailed line textures up to detailed witdh + 1
Changed IM_DRAWLIST_TEX_LINES_DETAILED_WIDTH_MAX to IM_DRAWLIST_TEX_LINES_DETAILED_WIDTH_COUNT which no accounts for all the detailed line textures.
2026-10-07 18:53:54 +02:00
ocornut
059017188d DrawList: baking half-texel in TexUvLines[] now that AddPolylineLegacy() was removed. 2026-10-07 18:53:54 +02:00
ocornut
7e87cb984d DrawList: consistently support scope flags (ImDrawFlags::Flags) + primitive flags.
ImDrawFlags_AAEnds and ImDrawFlags_StrokeLegacy ok. (the most important ones).
ImDrawFlags_UseTexForRoundCorners ok.
ImDrawFlags_AAFill, ImDrawFlags_AAStrokes: for primitives: only for selected ones taking flags params. Haven't added the flag to all functions because it feels like a fringe use case.
ImDrawFlags_TextNoPixelSnap supported in RenderText(), per-prim (9417)
2026-10-07 18:53:53 +02:00
ocornut
02adb46a9f (Breaking) DrawList: removed ImDrawListFlags_in favor of using ImDrawFlags.
# Conflicts:
#	imgui.cpp
2026-10-07 18:53:53 +02:00
ocornut
230249ad58 ImFontAtlas: moved TexUv buffers and configurable defines to internals. 2026-10-07 18:53:52 +02:00
ocornut
c6e5d8c85f DrawList: Debug build optimizations: add non-template ImMin/ImMax/ImClamp for int/float to avoid missing out on IM_MSVC_RUNTIME_CHECKS_OFF. 2026-10-07 18:53:52 +02:00
Mikko Mononen
81f316a3bf DrawList: fixed and optimized _AddRectTinyRounding.
- fixed bug where fringe size was not properly applied in _AddRectTinyRounding
- optimized _AddRectTinyRounding to use less vertices
- changed _AddRectTinyRounding to use similar texturing logic as lines
- remove unused fractional line width texture
2026-10-07 18:53:51 +02:00
ocornut
4d5fcdd4ba DrawList: Textured Round Corners: use same array for fill and strokes.
Feels like a little less book-keeping.
2026-10-07 18:53:50 +02:00
Mikko Mononen
5782f4e0ee DrawList: path rendering optimizations.
- added ImRsqrtPrecise() which adds Newton-Raphson iteration for more precision
- change calculation of miter_scale_factor so that it does not have a branch
- renamed IM_POLYLINE_APPEND_* macros to IM_APPEND_* and also use them in fill convex poly
- changed the convex poly miter calculation to match the polyline to make debugging and changes easier
- split the convex poly to separate loop when ImDrawFlags_MiterOnly is specified for less branches in common case

# Conflicts:
#	imgui_draw.cpp
2026-10-07 18:53:50 +02:00
Mikko Mononen
d1d2f5aead DrawList: use dedicated larger texture for fractional thickness lines. 2026-10-07 18:53:50 +02:00
ocornut
5a5a16da4d DrawList: added _GetStrokePos() helper indirection, made flags=0 select default at runtime. 2026-10-07 18:53:50 +02:00
Mikko Mononen
2665220409 DrawList: Textured Round Corners: implemented faster render path for stroked rectangles. (#1962)
- added check to render simpler geometry when (stroked) rectangle has integer coords
- render non.rounded with 4 non-AA rectangles
- added textures for corners of 1-3 thickness and 1-16 rounding
- use textured corners when possible, or fallback to generic one
2026-10-07 18:53:49 +02:00
Mikko Mononen
ae06573c9a DrawList: Textured Round Corners: first version. (#1962) 2026-10-07 18:53:49 +02:00
Mikko Mononen
6335dfb19c (Breaking) DrawList: removed half pixel offset from ImDrawList::AddLine(). (#9504) 2026-10-07 18:53:48 +02:00
ocornut
0f4b927e81 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_opengl3.cpp
#	imgui.cpp
2026-10-05 19:42:50 +02:00
ocornut
4989b4c754 Fonts: added IMGUI_DISABLE_STB_TRUETYPE. (#9573) 2026-10-05 19:41:20 +02:00
ocornut
09d740ba32 (Breaking) Fonts: refactor ImFontLoader to allow loading from glyph_index. (#9559, #5647)
cc #9540, #8466, #8465
2026-09-30 18:39:11 +02:00
ocornut
64944b4520 Merge remote-tracking branch 'origin/master' into docking
# Conflicts:
#	backends/imgui_impl_dx10.cpp
#	backends/imgui_impl_dx11.cpp
#	backends/imgui_impl_opengl3.cpp
#	imgui.cpp
#	imgui_internal.h
2026-09-25 15:38:34 +02:00
ocornut
5c6a86a9d2 imgui_freetype: fixed ExtraSizeScale (used by embedded ProggyForever) leading to non-pixel aligned vertical offset. (#9348, #9233) + Added ImRoundPositive64(), ImRoundSigned64(). 2026-09-25 14:22:08 +02:00
Brenton Bostick
e728936797 Docs: fixed typos/repeated words. (#9555) 2026-09-24 14:33:24 +02:00
ocornut
a6784c378f Tables: fixed reconcile path being needlessly taken on first frame of every table. (#9108) 2026-09-22 16:54:13 +02:00
ocornut
7bfc192814 Tables: tweak struct packing. 2026-09-22 16:48:51 +02:00
ocornut
6cf8332f93 ImGuiTextFilterItem: added MatchIncludesMask support field for e.g. ImGuiTextFilterMultiMatch. 2026-09-21 16:52:48 +02:00
ocornut
3bae66c735 ImGuiTextFilter: moved ImGuiTextFilterItem to internals. (#2435) 2026-09-21 16:35:18 +02:00
ocornut
e19fea020f ImGuiTextFilter: moved ImGuiTextFilterItem to internals. (#2435) 2026-09-21 15:12:59 +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
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
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
ea60e7b748 TabBar: added TabBarGetTabPos() helper.
# Conflicts:
#	imgui_internal.h
#	imgui_widgets.cpp
2026-09-14 15:56:57 +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
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