Commit Graph
1358 Commits
Author SHA1 Message Date
ocornut b1a04b6d79 ImStrv: made length() returns an int as it simplify the most common case (of passing %.*s to printf) 2026-09-29 16:41:29 +02:00
ocornut c98713af27 ImStrv: moved double char* function signatures under #ifndef IMGUI_DISABLE_OBSOLETE_FUNCTIONS blocks + fixed various compiles errors/warnings. 2026-09-29 16:41:27 +02:00
ocornut 64b17be519 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.

# Conflicts:
#	imgui_widgets.cpp
2026-09-29 16:41:26 +02:00
Rokas Kupstys 8490069d3c ImStrv: Step 1 - change string type to ImStrv in API. (REBASED)
(last rebase amend 2024/12/11)
2026-09-29 16:40:58 +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
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 f09485d7be Style: inverted ImGuiCol_TitleBgXXX colors for StyleColorsLight().
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
So that the selected window title bar appears brighter.
2026-09-18 16:05:56 +02:00
ocornut 9c50bd6da6 Style: changed ImGuiCol_DockingEmptyBg value for StyleColorsLight().
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
Amend bd82539ad5
2026-09-18 16:03:52 +02:00
ocornut 7e1b65d26d Merge branch 'master' into docking
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
# 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)
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
Amend 131f5c57ab
2026-09-01 16:22:14 +02:00
ocornut ebc7307db5 ColorButton, RenderColorRectWithAlphaCheckerboard: fixed issues/inconsistencies with checkerboard rendering when combining color alpha and global style alpha. (#9511)
Cleanup hacks in ColorButton(). Amend d851775c80, e9ff7162b.
2026-08-31 18:04:03 +02:00
ocornut fd74775a0d ColorButton: fixed double style alpha multiply. Remove call to GetColorU32() in RenderColorRectWithAlphaCheckerboard() for consistency. (#9511)
The main fix is the change from GetColorU32() to ColorConvertFloat4ToU32() in calling code.
The change from GetColorU32() to manual multiply in RenderColorRectWithAlphaCheckerboard() is merely for consistency with other ::Render calls.
2026-08-31 17:29:10 +02:00
ocornut 19ead810d2 ColorButton, ColorEdit, ColorPicker: cancel-out alpha caused by BeginDisabled() so disabled color buttons have the same color. (#9511) 2026-08-31 17:29:10 +02:00
ocornut fd13a1e892 Merge branch 'master' into docking
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
# Conflicts:
#	examples/example_apple_opengl2/main.mm
2026-08-19 13:39:46 +02:00
ocornut 5de45fb1d9 Trim trailing white spaces. Changes some NULL to nullptr. 2026-08-07 16:00:53 +02:00
ocornut 11bd4e7731 Merge branch 'master' into docking
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
# Conflicts:
#	imgui.cpp
2026-08-04 14:34:04 +02:00
ocornut 2de0a07cd4 Fixed PVS Studio false positive.
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
2026-08-04 14:33:31 +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.
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
cc #3127, #3664, #3665
2026-08-03 17:05:44 +02:00
ocornut b647af2100 Fonts: AddFontDefault() uses framebuffer scale.
If running before DisplaySize is set, assume a different default on Apple.
2026-08-03 15:01:23 +02:00
ocornut ebd752a0ec Version 1.93.0 WIP 2026-08-03 14:42:56 +02:00
ocornut b48d1afbe8 Merge branch 'master' into docking
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
# Conflicts:
#	docs/CHANGELOG.txt
2026-07-31 16:25:00 +02:00
ocornut f1cc2ae15e Version 1.92.9b
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
2026-07-31 16:14:42 +02:00
ocornut e47e6b0d9d Fonts: made GetDefaultCompressedFontDataProggyClean()/GetDefaultCompressedFontDataProggyForever() undocumented non-static. (#9493) 2026-07-30 16:03:42 +02:00
ocornut b334d19b66 ImDrawData: fixed a regression in 1.92.9 where legacy ImDrawData::CmdListsCount was always 0.
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
2026-07-26 15:46:38 +02:00
ocornut a9e7a8c880 ImDrawData: fixed a regression in 1.92.9 where legacy ImDrawData::CmdListsCount was always 0.
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
2026-07-26 15:42:48 +02:00
ocornut 9b4eb24cee Merge branch 'master' into docking
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
2026-07-25 13:45:27 +02:00
ocornut 01380c5797 Version 1.92.9
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
2026-07-25 13:28:06 +02:00
ocornut f31f98f4cd ImDrawData: fixed late initialized field. (Amend 6f41d13)
Would effectively be initialized on use but best to clear on constructor.
2026-07-23 17:56:02 +02:00
ocornut ca49eff398 Merge branch 'master' into docking
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
# Conflicts:
#	imgui.cpp
2026-07-22 15:46:24 +02:00
ocornut b335bf4328 Added ImTextureData::QueueUserData for staged-rendering texture queues e.g. imgui_threaded_rendering.h. (#8597, #9136)
build / Build - Windows (push) Canceled after 0s
build / Build - Linux (push) Canceled after 0s
build / Build - MacOS (push) Canceled after 0s
build / Build - iOS (push) Canceled after 0s
build / Build - Emscripten (push) Canceled after 0s
build / Build - Android (push) Canceled after 0s
build / Test - Windows (push) Canceled after 0s
build / Test - Linux (push) Canceled after 0s
2026-07-22 15:14:45 +02:00
ocornut 548389359c (Breaking) ImDrawData: marked draw_data->CmdListsCount as obsolete. Use draw_data->CmdLists.Size.
# Conflicts:
#	docs/CHANGELOG.txt
#	imgui.cpp
2026-07-20 16:58:45 +02:00
ocornut 2af6dd9694 Merge branch 'master' into docking
build / Build - Windows (push) Has been cancelled
build / Build - Linux (push) Has been cancelled
build / Build - MacOS (push) Has been cancelled
build / Build - iOS (push) Has been cancelled
build / Build - Emscripten (push) Has been cancelled
build / Build - Android (push) Has been cancelled
build / Test - Windows (push) Has been cancelled
build / Test - Linux (push) Has been cancelled
# Conflicts:
#	backends/imgui_impl_opengl3.cpp
#	imgui.cpp
2026-06-04 13:53:55 +02:00
ocornut 6acba3b47d ImDrawListSharedData: rename CircleSegmentMaxError to CircleTessellationMaxError. Remove misleading ArcFastRadiusCutoff assignment.
build / Build - Windows (push) Has been cancelled
build / Build - Linux (push) Has been cancelled
build / Build - MacOS (push) Has been cancelled
build / Build - iOS (push) Has been cancelled
build / Build - Emscripten (push) Has been cancelled
build / Build - Android (push) Has been cancelled
build / Test - Windows (push) Has been cancelled
build / Test - Linux (push) Has been cancelled
cc 051ce0765, f107693d9 (3808)
2026-06-04 13:51:57 +02:00
ocornut 14278db024 Fonts: better document the fact that ImFontAtlas::Clear()/ClearFonts() functions are unlikely to be useful nowadays + fix tex->Updates[] ever-growing if ClearFonts() is called between frames.
build / Build - Windows (push) Has been cancelled
build / Build - Linux (push) Has been cancelled
build / Build - MacOS (push) Has been cancelled
build / Build - iOS (push) Has been cancelled
build / Build - Emscripten (push) Has been cancelled
build / Build - Android (push) Has been cancelled
build / Test - Windows (push) Has been cancelled
build / Test - Linux (push) Has been cancelled
2026-06-03 15:27:02 +02:00
ocornut 3b99fc4883 ColorButton: small rendering tweak/optimization for the alpha checkerboard.
Inverting the pattern means that for our typical 3x3 grid we don't need to draw 1+4 rounded rectangles, only 1.
This also fix the slightly rounding mismatch when switching from a=255 to a<255 paths.
2026-06-01 14:23:29 +02:00
ocornut cac16b0d16 DrawList: rename ImDrawListFlags_NoTextPixelSnap -> ImDrawListFlags_TextNoPixelSnap. (#3437, #9417, #2291)
build / Build - Windows (push) Has been cancelled
build / Build - Linux (push) Has been cancelled
build / Build - MacOS (push) Has been cancelled
build / Build - iOS (push) Has been cancelled
build / Build - Emscripten (push) Has been cancelled
build / Build - Android (push) Has been cancelled
build / Test - Windows (push) Has been cancelled
build / Test - Linux (push) Has been cancelled
Amend 1d33ea9
2026-05-29 18:39:17 +02:00
ocornut 1d33ea939f DrawList: added ImDrawListFlags_NoTextPixelSnap to disable snapping of AddText() coordinates for a given scope. (#3437, #9417, #2291)
This may evolve into a per-call ImDrawFlags option as well.
+ clip_rect.Max.y early out may be applied before truncation.
2026-05-29 18:12:11 +02:00
ocornut 12b7977555 Tweak CalcTextSize() awkward width rounding/ceiling code to reduce floating-point imprecisions altering the result by 1 even at relatively small width. (#791) + apply same fudge factor to less important roundings.
build / Build - Windows (push) Has been cancelled
build / Build - Linux (push) Has been cancelled
build / Build - MacOS (push) Has been cancelled
build / Build - iOS (push) Has been cancelled
build / Build - Emscripten (push) Has been cancelled
build / Build - Android (push) Has been cancelled
build / Test - Windows (push) Has been cancelled
build / Test - Linux (push) Has been cancelled
ceilf() is still measurable e.g. ballpark +0.5 for 200k calls.
2026-05-28 19:19:11 +02:00
ocornut 4cb21e4a1e Merge branch 'master' into docking
build / Build - Windows (push) Has been cancelled
build / Build - Linux (push) Has been cancelled
build / Build - MacOS (push) Has been cancelled
build / Build - iOS (push) Has been cancelled
build / Build - Emscripten (push) Has been cancelled
build / Build - Android (push) Has been cancelled
build / Test - Windows (push) Has been cancelled
build / Test - Linux (push) Has been cancelled
# Conflicts:
#	backends/imgui_impl_win32.cpp
2026-05-28 15:46:34 +02:00
ocornut 33bb693b4c DrawList: skip PathLineTo/PathStroke calls for common AddLine(), AddLineH(), AddLineV() functions. (#4091) 2026-05-28 15:37:29 +02:00
ocornut 783eba926f Docs: retroactively amend 1.92.8 changelog about ImDrawFlags_Closed value.
build / Build - Windows (push) Has been cancelled
build / Build - Linux (push) Has been cancelled
build / Build - MacOS (push) Has been cancelled
build / Build - iOS (push) Has been cancelled
build / Build - Emscripten (push) Has been cancelled
build / Build - Android (push) Has been cancelled
build / Test - Windows (push) Has been cancelled
build / Test - Linux (push) Has been cancelled
Amend 6df50a0
2026-05-28 11:37:37 +02:00
qwer ac07da2b5b Fonts: Added macros to disable ProggyClean/ProggyVector separately. (#9407)
build / Build - Windows (push) Has been cancelled
build / Build - Linux (push) Has been cancelled
build / Build - MacOS (push) Has been cancelled
build / Build - iOS (push) Has been cancelled
build / Build - Emscripten (push) Has been cancelled
build / Build - Android (push) Has been cancelled
build / Test - Windows (push) Has been cancelled
build / Test - Linux (push) Has been cancelled
2026-05-27 16:50:53 +02:00
ocornut fbcf95193f ImFontAtlas: moved common TexData calls into a same helper functions, so adding new ones is easier.
build / Build - Windows (push) Has been cancelled
build / Build - Linux (push) Has been cancelled
build / Build - MacOS (push) Has been cancelled
build / Build - iOS (push) Has been cancelled
build / Build - Emscripten (push) Has been cancelled
build / Build - Android (push) Has been cancelled
build / Test - Windows (push) Has been cancelled
build / Test - Linux (push) Has been cancelled
2026-05-22 20:03:30 +02:00
ocornut 068e055510 Textures: extract ImTextureDataUpdateNewFrame() out of ImFontAtlasUpdateNewFrame(). (#8465) 2026-05-15 16:38:45 +02:00
ocornut 5a76f2adf1 Merge branch 'master' into docking
build / Build - Windows (push) Has been cancelled
build / Build - Linux (push) Has been cancelled
build / Build - MacOS (push) Has been cancelled
build / Build - iOS (push) Has been cancelled
build / Build - Emscripten (push) Has been cancelled
build / Build - Android (push) Has been cancelled
build / Test - Windows (push) Has been cancelled
build / Test - Linux (push) Has been cancelled
# 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 e0f5f9a14c Amend AddRect(), AddPolyline() error detection to safely return an trigger error handling mechanism.
build / Build - Windows (push) Has been cancelled
build / Build - Linux (push) Has been cancelled
build / Build - MacOS (push) Has been cancelled
build / Build - iOS (push) Has been cancelled
build / Build - Emscripten (push) Has been cancelled
build / Build - Android (push) Has been cancelled
build / Test - Windows (push) Has been cancelled
build / Test - Linux (push) Has been cancelled
Amend 6df50a0667
2026-05-12 17:40:28 +02:00
ocornut b61e56346a Merge branch 'master' into docking
build / Build - Windows (push) Has been cancelled
build / Build - Linux (push) Has been cancelled
build / Build - MacOS (push) Has been cancelled
build / Build - iOS (push) Has been cancelled
build / Build - Emscripten (push) Has been cancelled
build / Build - Android (push) Has been cancelled
build / Test - Windows (push) Has been cancelled
build / Test - Linux (push) Has been cancelled
# Conflicts:
#	imgui_demo.cpp
2026-05-12 16:43:34 +02:00