Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
716 commits
Select commit Hold shift + click to select a range
ba62bec
(Breaking) Fonts: remove ImFontAtlasCustomRect which is now the same …
ocornut Jan 15, 2025
2bf6552
Fonts: Fixed/improved support for legacy backend. SetTexID() writes i…
ocornut Jan 16, 2025
bd19bc5
Fonts: Removed BuildClearGlyphs(), conflated with ClearOutputData()
ocornut Jan 16, 2025
722f601
Fonts: Added a bit of user facing tooling.
ocornut Jan 16, 2025
b203ac1
Fonts: Reduced reliance on ImFontConfig::DstFont.
ocornut Jan 18, 2025
c5653d5
Fonts: stb_truetype loader: Reworked scale handling to suggest this i…
ocornut Jan 20, 2025
fb69a09
Fonts: Fixed leak due to indirectly recursing ImFontAtlasPackInit().
ocornut Jan 23, 2025
a2371ef
Internals: added ImStableVector<> helper.
ocornut Jan 22, 2025
7aba8da
(Breaking) Fonts: CalcWordWrapPositionA() -> CalcWordWrapPosition(), …
ocornut Jan 24, 2025
093d012
Fonts: Baked system, with auto-bind, v10.
ocornut Jan 23, 2025
80404fa
Fonts: clarify ClearTexData() as not supported with dynamic atlases.
ocornut Jan 30, 2025
daaf0e4
Fonts: Added PushFontSize(), PopFontSize() api. Added font_size param…
ocornut Jan 27, 2025
be15197
Fonts: Texture resizing favor growing height, halve pack nodes.
ocornut Jan 28, 2025
3ce753c
Fonts: Debug dump to disk, debug log.
ocornut Jan 28, 2025
57d345f
Textures: Comments around ImTextureID type.
ocornut Jan 30, 2025
df694c8
Fonts: Baked system, v11.
ocornut Feb 3, 2025
99f6b30
Fonts: Baked system, v12: support GlyphOffset / GlyphMinAdvanceX / Gl…
ocornut Feb 3, 2025
842c313
Fonts: Reordered ImFont fields.
ocornut Feb 7, 2025
6580590
Fonts: Allow PushFont/NewFrame/PopFont idioms to function.
ocornut Feb 3, 2025
82b81fc
Fonts: PushFontSize() with -1 uses sources[0]'s size for now (backwar…
ocornut Feb 3, 2025
066b24d
Fonts: Fixed _OnChangedTextureID() asserting when calling on e.g. fin…
ocornut Feb 4, 2025
96786a1
Fonts: Create a fallback glyph if none is available (fix crash on fon…
ocornut Feb 5, 2025
815553c
Fonts: ImFontConfig: added GlyphExcludeRanges[].
ocornut Feb 5, 2025
eb79e3a
Fonts: Restore a functional AddCustomRectFontGlyph().
ocornut Feb 5, 2025
8a8d8a7
Fonts: Exposed CompactCache(). Hide ClearCache().
ocornut Feb 5, 2025
dc1320d
Fonts: ImFontFlags: ImFontFlags_NoLoadGlyphs + add ImFontFlags_LockBa…
ocornut Feb 6, 2025
92993e6
Fonts: Baked system, fix subsequent sources overriding shared font me…
ocornut Feb 6, 2025
76b252f
Fonts: Added ImFontAtlasBakedSetFontGlyphBitmap().
ocornut Feb 7, 2025
d59f10d
Fonts: reinstated ImFontAtlasBuildSetupFontCreateEllipsisFromDot() co…
ocornut Feb 7, 2025
1cfc0de
Fonts: Core allocates per-baked-per-src backend buffers, to allow hav…
ocornut Feb 6, 2025
c06a758
Fonts: A font source can specify its own loader/backend.
ocornut Feb 6, 2025
18c8a93
Fonts: Rework ImFontLoader signatures.
ocornut Feb 7, 2025
78a1703
imgui_freetype: no need to store metrics locally.
ocornut Feb 10, 2025
d8a612f
Fonts: Fallback glyph is now lazily loaded on demand (yay!). Moving I…
ocornut Feb 10, 2025
ef6beae
Fonts: removed LockSingleSrcConfigIdx which isn't needed anymore sinc…
ocornut Feb 10, 2025
2bf6879
Fonts: tidying up font scale logic.
ocornut Feb 19, 2025
e98a314
Textures: Added ImTextureData::UsedRect.
ocornut Feb 19, 2025
161e222
Fonts: GetFontBaked() default to searching for closest size font.
ocornut Mar 3, 2025
0b71339
Demo: Add a "Fonts" section for visibility.
ocornut Mar 5, 2025
131f5c5
Textures: Detect when using a texture that's about to be destroyed.
ocornut Mar 5, 2025
dec8d38
Fonts: Added a ImFontFlags_NoLoadError flag to let user code try file…
ocornut Mar 5, 2025
93410c4
Fonts: Fixed various small warnings / build issues.
ocornut Mar 5, 2025
da51485
Fonts: Obsolete GetGlyphRangesXXX() functions. Update font documentat…
ocornut Mar 6, 2025
c98e3c0
Fonts: ImFontConfig::GlyphExcludeRanges is owner and copied.
ocornut Mar 6, 2025
40f988c
Fonts: in ShowFontAtlas() preserve open-state for latest texture. Imp…
ocornut Mar 6, 2025
41a0e99
Fonts: Added UI to edit FreeType loader flags. Added ImFontAtlasBuild…
ocornut Mar 6, 2025
735d31e
Demo: Exposed some basic UI in demo for sanity.
ocornut Mar 6, 2025
8ea0ae4
Fonts: fixed a bug using size specified by secondary font sources.
ocornut Mar 9, 2025
52a6863
Textures: ImTextureData pixels are not immediately destroyed on setti…
ocornut Mar 10, 2025
144f444
Fonts: fixed memory leaks, shutting down font loader, and on AddFont(…
ocornut Mar 11, 2025
7ac1bff
Fonts: fixed an issue calling legacy ImFontAtlas::Clear().
ocornut Mar 11, 2025
e76cfe5
Fonts: fixed implicit init when calling AddCustomRectRegular(). Loade…
ocornut Mar 13, 2025
b12c42e
Fonts: change uses of ImFontAtlasRect to ImTextureRect for simplicity.
ocornut Mar 13, 2025
85d0507
Fonts: narrowed invalid value for ImFontAtlasRectId to -1 a we will c…
ocornut Mar 13, 2025
f816b86
(Breaking) Fonts: rename GetCustomRectByIndex() to GetCustomRect(). M…
ocornut Mar 13, 2025
4048494
Fonts: rename ImFontAtlasBuildClearTexture() to ImFontAtlasBuildClear().
ocornut Mar 13, 2025
41517bc
(Breaking) Fonts: renamed CalcCustomRectUV() to GetCustomRectUV() for…
ocornut Mar 13, 2025
cc65015
Fonts: fixed crashing password fields.
ocornut Mar 17, 2025
8bd1fc4
Textures: Added ImTextureRef::GetTexID() mostly for consistency.
ocornut Mar 17, 2025
e41bf16
Fonts: fixed ImTextureID() being zero-cleared instead of using ImText…
ocornut Mar 18, 2025
0fff7ce
Fonts: comments, tweaks, minor amends.
ocornut Mar 19, 2025
a548cd9
Fonts: avoid both ImTextureRef fields being set simultaneously.
ocornut Mar 19, 2025
cb4c037
Fonts: detect if backend assign to texture on creation but doesn't up…
ocornut Mar 19, 2025
5460903
Fonts: awkwardly alias old TexID name to TexRef using an union (may b…
ocornut Mar 19, 2025
2de15dc
Fonts: fixed legacy backend path preloading all sources sizes erroneo…
ocornut Mar 20, 2025
168b97c
Fonts: removed size rounding in AddFont() which breaks relative sizin…
ocornut Mar 20, 2025
4449882
(Breaking) Fonts: PushFont() default to preserve current font size.
ocornut Mar 21, 2025
9324961
Fonts: fixed calling AddFontXXX not invalidating texture for legacy b…
ocornut Mar 26, 2025
fc87081
Fonts: fixed GetCustomRectUV().
ocornut Mar 22, 2025
253dff7
Fonts: Comments.
ocornut Mar 30, 2025
f402747
(Breaking) Fonts: renamed AddCustomRectRegular() -> AddCustomRect().
ocornut Mar 31, 2025
db30e1b
(Breaking) Fonts: rework GetCustomRect() api. Reintroduce ImFontAtlas…
ocornut Mar 31, 2025
69d28f8
Fonts: added ImFontAtlasRectId_Invalid == -1
ocornut Mar 31, 2025
e9cf3de
Fonts: moved ImFontAtlasRectId back to public API.
ocornut Mar 31, 2025
23dc46c
Fonts: added RemoveCustomRect().
ocornut Mar 31, 2025
074bf39
Fonts: GC Compact All exposed in Metrics->Memory Allocations includes…
ocornut Mar 31, 2025
1ea9ff3
Fonts: add optional out parameter to AddCustomRect()
ocornut Mar 31, 2025
526a5d0
Fonts: tidying up.
ocornut Apr 2, 2025
fb5c537
Fonts: changing loader/backend or loader flags may be done without lo…
ocornut Apr 3, 2025
12599da
Fonts: do not mark whole ImTextureData struct as IMGUI_API to fix war…
ocornut Apr 9, 2025
d789263
Fonts: internal rendering uses higher level functions.
ocornut Apr 7, 2025
e8035b9
Fonts: misc tidying up.
ocornut Apr 9, 2025
0436fba
Fonts: fixed compaction gc-ing baked fonts used in the current frame …
ocornut Mar 31, 2025
ed2bb2c
Fonts: encode additional data in ImFontAtlasRectId to detect invalid …
ocornut Apr 11, 2025
cdfa537
Fonts: packing of shared basic/line/cursor data uses more public API.
ocornut Apr 14, 2025
c43b138
Fonts: no need to load current baked on SkipItems window? + removed u…
ocornut Apr 17, 2025
eb650c4
Fonts: fixed unused variable warning.
ocornut Apr 17, 2025
7840e45
Fonts: ImFontAtlasBuildInit() is always called with atlas->Builder ==…
ocornut Apr 17, 2025
bcd1a94
Fonts: Extract ImFontAtlasBuildGetFontBaked() out of ImFont::GetFontB…
ocornut Apr 17, 2025
c4fa9bb
Fonts: add ImFontGlyph::SourceIdx. Extract code out of DebugNodeFont(…
ocornut Apr 21, 2025
890fff9
Fonts: rename many internal functions for consistency. No other changes.
ocornut Apr 22, 2025
e7efe94
Fonts: shallow rework of ImFontAtlasBakedAddFontGlyph() to facilitate…
ocornut Apr 22, 2025
2b0d49a
Fonts: make ImFont::Sources a vector.
ocornut Apr 24, 2025
5310f5f
Fonts: rework toward reducing reliance on ImFontConfig::DstFont since…
ocornut Apr 24, 2025
6a455e1
imgui_freetype: moving data out of ImGui_ImplFreeType_FontSrcData.
ocornut Apr 26, 2025
42e7bb8
imgui_freetype: removed anonymous namespace + extracting two function…
ocornut Apr 26, 2025
8140a9d
Fonts: comments on ImTextureData fields.
ocornut Apr 27, 2025
b32ef3c
Fonts: make RasterizerDensity a dynamic field. (temporarily exposed a…
ocornut Apr 30, 2025
4dec946
Fonts: don't pretend to half recover from OOM for now + debug log fil…
ocornut May 5, 2025
8523cbd
Fonts: rework ImFontLoader::FontBakedLoadGlyph() interface
ocornut May 8, 2025
89e880d
Fonts: adding ImFontHooks for codepoint remapping.
ocornut May 8, 2025
f6735c2
Fonts: remove ImFontHooks in favor of a AddRemapChar() implementation.
ocornut May 8, 2025
46fa9e8
Fonts: Debug display status. Fixed truncated raw texture id. Fixed Fo…
ocornut May 9, 2025
65e6039
Fonts: remove unnecessary ImDrawListSharedData::FontAtlas which is ac…
ocornut May 9, 2025
fad5280
Fonts: fixed broken support for legacy backend due to a mismatch with…
ocornut May 11, 2025
91ed6e6
Fonts: fixed support for multiple atlases.
ocornut May 9, 2025
39f6c79
Fonts: proof of concept support for user textures.
ocornut May 12, 2025
1b51a88
Fonts: moved compare operators to internal. Removed commented out one…
ocornut May 15, 2025
ea756ed
Fonts: reorder ImFontFlags according likelihood of being useful.
ocornut May 15, 2025
5ee9845
Fonts: automatically set current rasterizer density to viewport densi…
ocornut May 16, 2025
822903e
Fonts: fixed ImFontAtlas::RemoveFont() with multiple sources.
ocornut May 16, 2025
3d848a8
Fonts: fixed support for IMGUI_STB_NAMESPACE.
ocornut May 19, 2025
92ff153
Fonts: added notes/comments and dummy type about renaming ImFontBuild…
ocornut May 19, 2025
f3780c7
Fonts: adding GetFontBaked() in public API.
ocornut May 19, 2025
83aad81
Fonts: comments + made IMGUI_DEBUG_LOG_FONT() work without an ImGui c…
ocornut May 20, 2025
b2343d6
Fonts: fallback to default default rasterizer density + pick one from…
ocornut May 20, 2025
9f8b4bd
Fonts: fixed edge case calling RenderText() without priming with Calc…
ocornut May 21, 2025
5926c87
Fonts: detect if ImFontAtlasUpdateNewFrame() is not being called.
ocornut May 22, 2025
25f9c31
Fonts: added "Input Glyphs Overlap Detection Tool". Added "Clear bake…
ocornut May 22, 2025
e3860aa
(Breaking) Fonts: removing obsolete ImFont::Scale.
ocornut May 26, 2025
69547bd
Fonts: ImFont::DefaultSize -> ImFont::LegacySize. ImFontFlags_UseDefa…
ocornut May 26, 2025
033cdc4
Fonts: comments and slight packing of ImFontConfig fields.
ocornut May 26, 2025
b029be6
Fonts: avoid calling GetFontBaked() during SetFontSize(). Also fixes …
ocornut May 26, 2025
1e118ab
Fonts: added ImGuiStyle::FontSizeBase. Ensuring PushFontSize() works …
ocornut May 26, 2025
402db2e
Fonts: fixed passing negative sizes to stb_truetype loader.
ocornut Jun 5, 2025
59a1136
Fonts: ground work for allowing SizePixels to be optional.
ocornut May 26, 2025
80c08f2
(Breaking) Fonts: obsoleting SetWindowFontScale().
ocornut Jun 2, 2025
8766efc
(Breaking) Renamed io.FontGlobalScale to style.FontScaleMain.
ocornut Jun 4, 2025
d85e22d
Added style.FontScaleDpi which is the field overwritten by ImGuiConfi…
ocornut Jun 2, 2025
3c27c64
Fonts: internals: renamed g.FontScale to g.FontBakedScale for clarity…
ocornut Jun 5, 2025
2d2b1ce
Fonts: internals: renamed g.FontSizeBeforeScaling to g.FontSizeBase f…
ocornut Jun 5, 2025
d72e66c
Examples: remove comments/references about baking and GetGlyphRangesJ…
ocornut Jun 5, 2025
9da3e66
Backends: SDL2: added ImGui_ImplSDL2_GetDpiScaleForDisplay(), ImGui_I…
ocornut Jun 6, 2025
8269924
Backends: GLFW: added ImGui_ImplGlfw_GetContentScaleForMonitor(), ImG…
ocornut Jun 6, 2025
b98e928
Backends: SDL2, SDL3, GLFW: Backport small part of c90ea13 from docking.
ocornut Jun 11, 2025
bc39441
Examples: Win32+DX9/DX10/DX11/DX12, SDL2+DX11/OpenGL2/OpenGL3/SDLRend…
ocornut Jun 2, 2025
02f58b3
Fonts: AddFont() functions now allow size_pixels==0.0f (only required…
ocornut Jun 6, 2025
c18301f
Examples: remove explicit font sizes from AddFontXXX() calls. Add com…
ocornut Jun 6, 2025
2e67bd4
Fonts: rename to ImFontAtlasBuildLegacyPreloadAllGlyphRanges().
ocornut Jun 6, 2025
573f081
Fonts: fixed PopFont() broken recovery.
ocornut Jun 10, 2025
0e769c5
Fonts: amend UpdateCurentFontSize() early out optimization.
ocornut Jun 10, 2025
29fbf3c
Fonts: demote ImFont::GetFontBaked() as slighty internal.
ocornut Jun 10, 2025
e1481a7
Fonts: fixed NewFrame() when atlas builder has been created but fonts…
ocornut Jun 11, 2025
cc3d4ca
(Breaking) renamed ImFontConfig::FontBuilderFlags -> FontLoaderFlags.…
ocornut Jun 11, 2025
4acce85
Fonts: tweaks demo and exposure to sliders, etc.
ocornut Jun 11, 2025
96be957
Docs: update Changelog, FAQ, Fonts docs.
ocornut Jun 11, 2025
df068ce
Various/misc fixes following back-and-forth dynamic_fonts->master->do…
ocornut Jun 11, 2025
895bff6
Removed unneeded check in RenderText() loop + disable static analyzer…
ocornut Jun 11, 2025
7a42233
imgui_freetype: fixed using legacy names.
ocornut Jun 11, 2025
a0b3ece
Fixed using IMGUI_DISABLE_DEMO_WINDOWS without IMGUI_DISABLE_DEBUG_TO…
ocornut Jun 12, 2025
f6fc166
TreeNode: fixed runtime asan warning (#2920)
ocornut Jun 12, 2025
1ce75e2
Fixed duplicate symbols in some compile-time configurations.
ocornut Jun 12, 2025
41f4acf
Fonts: add has_textures parameters to ImFontAtlasUpdateNewFrame().
ocornut Jun 12, 2025
115a8e7
Fonts: update misc comments, docs.
ocornut Jun 12, 2025
b178fd4
Backends: WebGPU: moved sampler creation out of ImGui_ImplWGPU_Create…
ocornut Jun 12, 2025
571dae9
Backends: WGPU: added ImGuiBackendFlags_RendererHasTextures support. …
ocornut Jun 12, 2025
b7f13df
Docs: reformat Changelog.
ocornut Jun 12, 2025
7ac99a4
Backends: OSX: ImGui_ImplOSX_HandleEvent() only process event for win…
ocornut Jun 12, 2025
1ec1510
Fonts: clarify assert. (#8680)
ocornut Jun 12, 2025
ca31693
Fonts: fixed FontBaked=NULL in initial call to SetCurrentWindow() in …
ocornut Jun 13, 2025
d8da97f
Fonts: UpdateCurrentFontSize() early out doesn't need to clear FontBa…
ocornut Jun 13, 2025
cfa43e7
Windows: clicking on a window close button doesn't claim focus and br…
ocornut Jun 13, 2025
6b3cbb1
Backends: Vulkan: correct minimum pool size assertion (#8691)
shawnhatori Jun 16, 2025
842837e
imgui_freetype: fix conversion null -> bool in FontBakedLoadGlyph (#8…
pthom Jun 16, 2025
24f7328
DrawList, Fonts: fixed ImFontAtlasTextureRepack() overwriting draw li…
ocornut Jun 17, 2025
fe048ef
DrawList, Fonts: fixed PushFont()/AddImage() not restoring correct at…
ocornut Jun 17, 2025
f2e4e80
Windows: BeginChild(): fixed being unable to combine manual resize on…
ocornut Jun 17, 2025
39a90ac
Misc: removed static linkage from operators to facilitate using in C+…
ocornut Jun 17, 2025
041abe8
Revert "Misc: removed static linkage from operators to facilitate usi…
ocornut Jun 17, 2025
08bb348
Misc: removed static linkage from operators to facilitate using in C+…
ocornut Jun 17, 2025
12626b8
InputText: minor changes to match for both insert chars paths to look…
ocornut Jun 17, 2025
b2c7359
InputText: fixed a buffer overrun that could happen when using dynami…
ocornut Jun 17, 2025
c56e8b4
imgui_freetype: fixed NULL that creeped in instead of nullptr.
ocornut Jun 18, 2025
d290e58
Backends: GLFW: fixed WndProc relying on current context. (#8676, #82…
ocornut Jun 18, 2025
f633a60
Backends: GLFW: Added support for multiple Dear ImGui contexts. (#867…
ocornut Jun 18, 2025
725d185
Backends: DirectX12: fixed build on MinGW. (#8702, #4594)
playday3008 Jun 19, 2025
f7dabed
Backends: Allegro5: Fixed missing invisible mouse cursor, broken by e…
ocornut Jun 20, 2025
8d6e66d
Backends: DX10, DX11, DX12, OpenGL3, Vulkan, WGPU: Assert when Create…
ocornut Jun 20, 2025
3a964d1
Comments on ImGuiMod_XXXX and ImGuiKey_GamepadXXXX values.
ocornut Jun 20, 2025
9a50c09
Bsckends: SDL2, GLFW: fixed ImGui_ImplXXXX_GetContentScaleXXX functio…
ocornut Jun 20, 2025
2f9c518
Textures: ImTextureData::GetPixels() returns void* for clarity.
ocornut Jun 20, 2025
e97e55a
Backends: Fixed various warnings discovered when using MinGW GCC 15/C…
ocornut Jun 20, 2025
afe20dc
Backends: warning fix.
ocornut Jun 20, 2025
0dc2885
InputText: fix for InsertChars() to work on read-only buffer. (#8714,…
ocornut Jun 22, 2025
613a6a9
Fonts: AddFontDefault() adds to GlyphOffset.y instead of overriding it.
ocornut Jun 24, 2025
a49ddaa
Fonts: add comments and examples for GlyphExcludeRanges[].
ocornut Jun 24, 2025
608dd96
Fonts: fixed RenderText() asserting when crossing VtxOffset change bo…
ocornut Jun 24, 2025
6e846c5
Demo: fixed ID conflicts. (#8723)
ocornut Jun 24, 2025
6722d78
(Breaking) Fonts: Removed support for PushFont(NULL) which was a shor…
ocornut Jun 24, 2025
0218ddd
Fonts: moved GetFont(), GetFontSize(), GetFontBaked() to higher section.
ocornut Jun 24, 2025
776897d
Fonts: fixed PVS Studio false positive "expression 'cmd_count != draw…
ocornut Jun 24, 2025
04a5b9c
Backends: SDL3: fixed pulling SDL_PROP_WINDOW_COCOA_WINDOW_POINTER in…
geertbleyen Jun 24, 2025
ca72eb0
(Breaking) Fonts: obsolete PushFont() default parameter.
ocornut Jun 24, 2025
97e0d59
(Breaking) Fonts: removed PushFontSize(), PopFontSize().
ocornut Jun 24, 2025
89b5a2c
(Breaking) Fonts: removed ImFontFlags_DefaultToLegacySize.
ocornut Jun 24, 2025
d8c6953
Fonts: comments.
ocornut Jun 25, 2025
dcf1450
Backends: SDLGPU: fixes call to SDL_MapGPUTransferBuffer(). Fixes art…
ocornut Jun 25, 2025
5bc70c6
Fonts: fix PushFont(NULL) to work as advertised.
ocornut Jun 25, 2025
719a3fe
Additional comments on ErrorCheckUsingSetCursorPosToExtendParentBound…
ocornut Jun 25, 2025
6f21bed
Fonts: removing assert from legacy PushFont() to mirror new PushFont(…
ocornut Jun 25, 2025
2819ab3
Layout: commented out legacy ErrorCheckUsingSetCursorPosToExtendParen…
ocornut Jun 25, 2025
da3c869
Demo: added TextLinkOpenURL() call in Widgets section.
ocornut Jun 25, 2025
673eb7d
Version 1.92.0
ocornut Jun 25, 2025
85b2fe8
Docs: update binaries.
ocornut Jun 25, 2025
4f4bc7c
Replace IMGUI_API with inline for PushTextureID() and PopTextureID() …
AidanSun05 Jun 26, 2025
5ee9c2a
Demo: Fixed font scaling warning if ImGuiBackendFlags_RendererHasText…
VesCodes Jun 26, 2025
f18aea5
Version 1.92.1 WIP
ocornut Jun 26, 2025
22ad62c
Backends: OSX: added ImGuiMouseCursor_Wait and ImGuiMouseCursor_Progr…
cfillion Jun 27, 2025
ec13fa4
Docs: tidying up Backends.md, add index, prepare for adding more docs.
ocornut Jun 27, 2025
47570d0
Docs: update Backends with direction for implementing RenderDrawData …
ocornut Jun 27, 2025
6804610
Docs: update Backends with basic Platform backend instructions.
ocornut Jun 27, 2025
8e3aac5
Backends: Vulkan: use nonCoherentAtomSize to align upload_size, fixin…
Jun 27, 2025
fff47f1
Backends: SDL3: avoid calling SDL_StartTextInput() again if already a…
morrazzzz Jun 24, 2025
9fbe560
Demo: Added "Widgets/Text/Different Size Text" section to show font s…
Demonese Jun 27, 2025
0fe5166
Demo: amend "Font Size" demo. (#8738)
ocornut Jun 27, 2025
bc051dc
Textures: Fixed support for `#define ImTextureID_Invalid` to non-zero…
ocornut Jun 27, 2025
de7625b
Docs: tweak/fixed comments. (#8750, #8749)
ocornut Jun 28, 2025
d99ab9f
Backends: SDL2: undef Status for X11. (#8751)
ocornut Jun 28, 2025
8c61ee5
Tables: fixed comments about DisableDefaultContextMenu. (#8746)
ocornut Jun 29, 2025
8ccfdf7
CI: Fixed dllimport/dllexport tests. (#8757)
AidanSun05 Jun 29, 2025
b7e5d76
Fonts: added ImFontAtlas::SetFontLoader() to dynamically change font …
ocornut Jun 30, 2025
51b3495
Fonts: set a maximum font size of 512.0f at ImGui:: API level to redu…
ocornut Jun 30, 2025
fd75bdc
Fonts: for large size fonts, layout/size calculation only load glyphs…
ocornut Jun 30, 2025
0448428
Fonts: Change ImFontConfig::FontNo back to int from S8 (#8775)
Valakor Jul 5, 2025
be63037
CI: Updated to use latest Windows image + VS2022.
ocornut Jul 7, 2025
497ebec
CI: Fix/amend be63037.
ocornut Jul 7, 2025
4441aa8
CI: Fix/amend be63037.
ocornut Jul 7, 2025
6897122
CI: Fix/amend be63037.
ocornut Jul 7, 2025
495d6f1
Undef 'Status' in main header file. (#8751, #8765)
ocornut Jul 7, 2025
94c888e
Docs: update 1.92.0 changelogs to cover more internal fields. (#8764)
ocornut Jul 7, 2025
57a93e1
Backends: Allegro5: fixed texture update broken on some platforms whe…
ocornut Jul 7, 2025
4ef1145
Fonts: fixed dynamically changing font loader from losing Fallback an…
ocornut Jul 7, 2025
c2d9b07
Backends: Vulkan: fixed texture synchronization. (#8772)
Majora320 Jul 4, 2025
032e139
Backends: Vulkan: use separate barrier for buffer. (#8772)
Majora320 Jul 4, 2025
c0d02e5
Backends: Vulkan: forgot to update Changelog. (#8772)
ocornut Jul 7, 2025
7c51c0e
Docs: misc update. (#8727, #8764)
ocornut Jul 8, 2025
18dca11
Backends: GLFW, SDL2: ImplXXX_GetContentScaleXXX() helpers return 1.0…
pthom Jun 27, 2025
ed7d965
Examples: GLFW+OpenGL3, GLFW+WGPU: Emscripten Makefiles uses port con…
pthom Jun 27, 2025
d9b7586
Misc comments to facilitate update for people who nilly-willy copied …
ocornut Jul 9, 2025
f39b138
Internals: rename DebugDrawIdConflicts -> DebugDrawIdConflictsId.
ocornut Jul 9, 2025
0ba02a4
Debug Tools: added IMGUI_DEBUG_HIGHLIGHT_ALL_ID_CONFLICTS. (#8651, #7…
ocornut Jul 9, 2025
5d41268
Version 1.92.1
ocornut Jul 9, 2025
4d745bc
Version 1.92.2 WIP
ocornut Jul 10, 2025
c680f54
FIxed IsWindowFocused() using wrong flag types (harmless as values we…
ocornut Jul 10, 2025
0e6e876
Docs: update docs/comments about ImTextureRef, ImTextureID. (#8783)
ocornut Jul 10, 2025
a0d3e40
Textures: ImTextureData::Create() sets status. RegisterUserTexture() …
ocornut Jul 11, 2025
79d88e2
Error Handling, Tables: TableGetSortSpecs() silently return NULL when…
ocornut Jul 11, 2025
336d921
Backends: using range-for to iterate draw_data->CmdLists[].
ocornut Jul 11, 2025
8744d10
Backends: OpenGL2, OpenGL3: set GL_UNPACK_ALIGNMENT to 1 before updat…
ocornut Jul 15, 2025
643f0e3
Backends: OpenGL3: restore update path on non-WebGL non-ES targets th…
ocornut Jul 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/ISSUE_TEMPLATE/issue_template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@ body:
- type: markdown
attributes:
value: |
FOR FIRST-TIME USERS ISSUES COMPILING/LINKING/RUNNING or LOADING FONTS, please use [GitHub Discussions](https://github.com/ocornut/imgui/discussions)
For anything else: we are happy to use 'GitHub Issues' for many types of open-ended questions. We are encouraging 'Issues' becoming a large, centralized and cross-referenced database of Dear ImGui contents.
FOR FIRST-TIME USERS ISSUES COMPILING/LINKING/RUNNING, please use [GitHub Discussions](https://github.com/ocornut/imgui/discussions)
For anything else: **we are happy to use 'GitHub Issues' for many types of open-ended questions**. We are encouraging 'Issues' becoming a large, centralized, tagged, cross-referenced database of Dear ImGui contents.

Be mindful that messages are being sent to the e-mail box of "Watching" users. Try to proof-read your messages before sending them. Edits are not seen by those users.

**If you are using Dear ImGui as part of a job that you are being well-paid for** and your company is not a sponsor. Please be mindful that this is a Free Software and you might be about to ask volunteers to help you doing your job. Please put extra effort describing your issue or question properly. If your company is wealthy, please read [Funding](https://github.com/ocornut/imgui/wiki/Funding) and consider getting in touch.
- type: markdown
attributes:
value: |
Expand Down
4 changes: 3 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,7 @@

1. PLEASE CAREFULLY READ: [Contributing Guidelines](https://github.com/ocornut/imgui/blob/master/docs/CONTRIBUTING.md)

2. Clear this template before submitting your PR.
2. Make sure you're using a special branch just for this pull request. (Sometimes people unknowingly use a default branch, then later update that branch, which updates the pull request with the other changes if it hasn't been merged yet.)

3. Clear this template before submitting your PR.

36 changes: 14 additions & 22 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ on:

jobs:
Windows:
runs-on: windows-2019
runs-on: windows-2025
env:
VS_PATH: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\
MSBUILD_PATH: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\
VS_PATH: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\
MSBUILD_PATH: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\
steps:
- uses: actions/checkout@v4

Expand All @@ -40,8 +40,8 @@ jobs:
run: |
# CI workers do not supporter older Visual Studio versions. Fix projects to target newer available version.
gci -recurse -filter "*.vcxproj" | ForEach-Object {
(Get-Content $_.FullName) -Replace "<PlatformToolset>v\d{3}</PlatformToolset>","<PlatformToolset>v142</PlatformToolset>" | Set-Content -Path $_.FullName
(Get-Content $_.FullName) -Replace "<WindowsTargetPlatformVersion>[\d\.]+</WindowsTargetPlatformVersion>","<WindowsTargetPlatformVersion>10.0.18362.0</WindowsTargetPlatformVersion>" | Set-Content -Path $_.FullName
(Get-Content $_.FullName) -Replace "<PlatformToolset>v\d{3}</PlatformToolset>","<PlatformToolset>v143</PlatformToolset>" | Set-Content -Path $_.FullName
(Get-Content $_.FullName) -Replace "<WindowsTargetPlatformVersion>[\d\.]+</WindowsTargetPlatformVersion>",'<WindowsTargetPlatformVersion>$(LatestTargetPlatformVersion)</WindowsTargetPlatformVersion>' | Set-Content -Path $_.FullName
}

# Not using matrix here because it would inflate job count too much. Check out and setup is done for every job and that makes build times way too long.
Expand All @@ -51,15 +51,11 @@ jobs:
- name: Build example_null (mingw 64-bit, as DLL)
shell: bash
run: |
echo '#ifdef _EXPORT' > example_single_file.cpp
echo '# define IMGUI_API __declspec(dllexport)' >> example_single_file.cpp
echo '#else' >> example_single_file.cpp
echo '# define IMGUI_API __declspec(dllimport)' >> example_single_file.cpp
echo '#endif' >> example_single_file.cpp
echo '#define IMGUI_API __declspec(dllexport)' > example_single_file.cpp
echo '#define IMGUI_IMPLEMENTATION' >> example_single_file.cpp
echo '#include "misc/single_file/imgui_single_file.h"' >> example_single_file.cpp
g++ -I. -Wall -Wformat -D_EXPORT -shared -o libimgui.dll -Wl,--out-implib,libimgui.a example_single_file.cpp -limm32
g++ -I. -Wall -Wformat -o example_null.exe examples/example_null/main.cpp -L. -limgui
g++ -I. -Wall -Wformat -shared -o libimgui.dll -Wl,--out-implib,libimgui.a example_single_file.cpp -limm32
g++ -I. -Wall -Wformat -DIMGUI_API='__declspec(dllimport)' -o example_null.exe examples/example_null/main.cpp -L. -limgui
rm -f example_null.exe libimgui.* example_single_file.*

- name: Build example_null (extra warnings, msvc 64-bit)
Expand Down Expand Up @@ -99,16 +95,12 @@ jobs:
run: |
call "%VS_PATH%\VC\Auxiliary\Build\vcvars64.bat"

echo #ifdef _EXPORT > example_single_file.cpp
echo # define IMGUI_API __declspec(dllexport) >> example_single_file.cpp
echo #else >> example_single_file.cpp
echo # define IMGUI_API __declspec(dllimport) >> example_single_file.cpp
echo #endif >> example_single_file.cpp
echo #define IMGUI_API __declspec(dllexport) > example_single_file.cpp
echo #define IMGUI_IMPLEMENTATION >> example_single_file.cpp
echo #include "misc/single_file/imgui_single_file.h" >> example_single_file.cpp

cl.exe /D_USRDLL /D_WINDLL /D_EXPORT /I. example_single_file.cpp /LD /FeImGui.dll /link
cl.exe /I. ImGui.lib /Feexample_null.exe examples/example_null/main.cpp
cl.exe /D_USRDLL /D_WINDLL /I. example_single_file.cpp /LD /FeImGui.dll /link
cl.exe /DIMGUI_API=__declspec(dllimport) /I. ImGui.lib /Feexample_null.exe examples/example_null/main.cpp

- name: Build Win32 example_glfw_opengl2
shell: cmd
Expand Down Expand Up @@ -218,7 +210,7 @@ jobs:
run: '"%MSBUILD_PATH%\MSBuild.exe" examples/example_win32_directx12/example_win32_directx12.vcxproj /p:Platform=x64 /p:Configuration=Release'

Linux:
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

Expand Down Expand Up @@ -516,7 +508,7 @@ jobs:
xcodebuild -project examples/example_apple_metal/example_apple_metal.xcodeproj -target example_apple_metal_ios CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO

Emscripten:
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

Expand Down Expand Up @@ -557,7 +549,7 @@ jobs:
cmake --build build

Android:
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:

jobs:
PVS-Studio:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
Expand Down
19 changes: 16 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,14 @@ ipch
## Getting files created in JSON/Schemas/Catalog/ from a VS2022 update
JSON/

## Commonly used CMake directories
## Commonly used CMake directories & CMake CPM cache
build*/
.cache

## Xcode artifacts
## Xcode & macOS artifacts
project.xcworkspace
xcuserdata
examples/*/*.dSYM

## Emscripten artifacts
examples/*.o.tmp
Expand All @@ -49,13 +51,24 @@ examples/example_sdl2_opengl3/web/*
.idea
cmake-build-*

## VS code artifacts
.vscode

## Unix executables from our example Makefiles
examples/example_apple_metal/example_apple_metal
examples/example_apple_opengl2/example_apple_opengl2
examples/example_glfw_metal/example_glfw_metal
examples/example_glfw_opengl2/example_glfw_opengl2
examples/example_glfw_opengl3/example_glfw_opengl3
examples/example_glfw_vulkan/example_glfw_vulkan
examples/example_glut_opengl2/example_glut_opengl2
examples/example_null/example_null
examples/example_sdl2_metal/example_sdl2_metal
examples/example_sdl2_opengl2/example_sdl2_opengl2
examples/example_sdl2_opengl3/example_sdl2_opengl3
examples/example_sdl2_sdlrenderer/example_sdl2_sdlrenderer
examples/example_sdl2_sdlrenderer2/example_sdl2_sdlrenderer2
examples/example_sdl2_vulkan/example_sdl2_vulkan
examples/example_sdl3_opengl3/example_sdl3_opengl3
examples/example_sdl3_sdlgpu3/example_sdl3_sdlgpu3
examples/example_sdl3_sdlrenderer3/example_sdl3_sdlrenderer3
examples/example_sdl3_vulkan/example_sdl3_vulkan
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2014-2024 Omar Cornut
Copyright (c) 2014-2025 Omar Cornut

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading
Loading