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