Commit Graph
100 Commits
Author SHA1 Message Date
ocornut 50115596dc Demo: About Box: include IMGUI_ENABLE_TEST_ENGINE in Config/Build info. 2025-08-11 12:29:13 +02:00
ocornut 1c57dc21c2 Misc: fixes zealous MSVC static analyzer warnings + make GetInputSourceName(), GetMouseSourceName() a little more tolerant. (#8876) 2025-08-11 11:04:13 +02:00
ocornut 47c41483bd Tables, Nav: fixed navigation within scrolling tables when item boundaries goes beyond columns limits. (#8816, #2221)
Amend 00d3f9295e.
2025-08-11 10:49:20 +02:00
ocornut b6614f6c7c Backends: SDL_GPU3: removed ImGui_ImplSDLGPU3_Texture struct extraneous indirection now that we only need to store SDL_GPUTexture*. (#8866, #8163, #7998, #7988, #8465) 2025-08-08 15:51:17 +02:00
ocornut 9ee3d731b5 Backends: SDL_GPU3: changed ImTextureID type from SDL_GPUTextureSamplerBinding* to SDL_GPUTexture*. Added ImGui_ImplSDLGPU3_RenderState. (#8866, #8163, #7998, #7988) 2025-08-08 15:51:16 +02:00
ocornut 412daf7362 Tabs: attempt to fix infinite loop in tab-bar ShrinkWidth() by using an epsilon. (#5652, #3421, #8800) 2025-08-07 16:41:21 +02:00
ocornut c22af8c346 Fonts: fixes comment (amend d8da97f7). 2025-08-07 16:19:07 +02:00
ocornut 1bf41a0762 Fonts, Tables: fixed PushFont() having no effect when called after submitting a hidden column. (#8865)
Amend 0e769c5
2025-08-07 16:16:12 +02:00
ocornut 336d9212fc Backends: using range-for to iterate draw_data->CmdLists[]. 2025-07-11 17:41:52 +02:00
ocornut 79d88e2d0b Error Handling, Tables: TableGetSortSpecs() silently return NULL when no table (matching most other table getters). TableSetBgColor() uses IM_ASSERT_USER_ERROR. 2025-07-11 16:57:43 +02:00
ocornut a0d3e405a3 Textures: ImTextureData::Create() sets status. RegisterUserTexture() increases RefCount. Added comments about ImTextureData::GetTexRef(). (#8789) 2025-07-11 16:49:28 +02:00
ocornut 0e6e876f23 Docs: update docs/comments about ImTextureRef, ImTextureID. (#8783) 2025-07-10 19:07:28 +02:00
ocornut c680f54e6c FIxed IsWindowFocused() using wrong flag types (harmless as values were identical). (#8786) 2025-07-10 18:42:39 +02:00
ocornut 4d745bc602 Version 1.92.2 WIP 2025-07-10 18:41:05 +02:00
ocornut 5d4126876b Version 1.92.1 2025-07-09 18:53:58 +02:00
ocornut 0ba02a4ed6 Debug Tools: added IMGUI_DEBUG_HIGHLIGHT_ALL_ID_CONFLICTS. (#8651, #7961, #7669) 2025-07-09 18:45:58 +02:00
ocornut f39b138487 Internals: rename DebugDrawIdConflicts -> DebugDrawIdConflictsId. 2025-07-09 18:24:14 +02:00
ocornut d9b758661f Misc comments to facilitate update for people who nilly-willy copied entire chunks of internal widgets to create their own. 2025-07-09 16:30:53 +02:00
ocornut c0d02e5ae4 Backends: Vulkan: forgot to update Changelog. (#8772) 2025-07-07 17:02:07 +02:00
ocornut 4ef1145241 Fonts: fixed dynamically changing font loader from losing Fallback and Ellipsis glyphs. (#8763)
Only the call to ImFontAtlasBuildSetupFontLoader() is the notable change. The change in ImFontAtlasFontInitOutput() is merely to use an existing helper function.
2025-07-07 16:54:08 +02:00
ocornut 57a93e1a19 Backends: Allegro5: fixed texture update broken on some platforms where ALLEGRO_LOCK_WRITEONLY needed all texels to be rewritten. (#8770) 2025-07-07 15:36:24 +02:00
ocornut 94c888ebda Docs: update 1.92.0 changelogs to cover more internal fields. (#8764) 2025-07-07 15:27:47 +02:00
ocornut 495d6f1e39 Undef 'Status' in main header file. (#8751, #8765) 2025-07-07 14:56:50 +02:00
ocornut 68971223aa CI: Fix/amend be63037. 2025-07-07 10:42:45 +02:00
ocornut 4441aa8b60 CI: Fix/amend be63037. 2025-07-07 10:41:01 +02:00
ocornut 497ebec01d CI: Fix/amend be63037. 2025-07-07 10:36:49 +02:00
ocornut be63037654 CI: Updated to use latest Windows image + VS2022.
(Untested)
2025-07-07 10:34:59 +02:00
ocornut fd75bdccb0 Fonts: for large size fonts, layout/size calculation only load glyphs metrics. Actual glyphs are renderer+packed when used by drawing functions. (#8758, #8465)
(Breaking) breaks signature of ImFontLoader::FontBakedLoadGlyph, sorry.
2025-06-30 21:16:20 +02:00
ocornut 51b3495ad8 Fonts: set a maximum font size of 512.0f at ImGui:: API level to reduce edge cases. 2025-06-30 21:04:55 +02:00
ocornut b7e5d76c79 Fonts: added ImFontAtlas::SetFontLoader() to dynamically change font loader at runtime without using internal API. (#8752, #8465) 2025-06-30 20:01:02 +02:00
ocornut bc051dcf91 Textures: Fixed support for #define ImTextureID_Invalid to non-zero value. 2025-06-27 17:03:13 +02:00
ocornut 0fe5166531 Demo: amend "Font Size" demo. (#8738) 2025-06-27 16:54:31 +02:00
ocornut 68046106dd Docs: update Backends with basic Platform backend instructions. 2025-06-27 15:32:19 +02:00
ocornut 47570d045d Docs: update Backends with direction for implementing RenderDrawData function and supporting ImGuiBackendFlags_RendererHasTextures. (#8735, #8465) 2025-06-27 15:03:10 +02:00
ocornut f18aea5246 Version 1.92.1 WIP 2025-06-27 13:30:45 +02:00
ocornut 85b2fe8486 Docs: update binaries. 2025-06-25 18:46:41 +02:00
ocornut 673eb7de96 Version 1.92.0 2025-06-25 18:19:56 +02:00
ocornut da3c86925a Demo: added TextLinkOpenURL() call in Widgets section. 2025-06-25 18:19:56 +02:00
ocornut 2819ab32f8 Layout: commented out legacy ErrorCheckUsingSetCursorPosToExtendParentBoundaries() fallback. (#5548, #4510, #3355, #1760, #1490, #4152, #150) 2025-06-25 16:39:23 +02:00
ocornut 6f21bed66d Fonts: removing assert from legacy PushFont() to mirror new PushFont(). for consistency. 2025-06-25 16:23:06 +02:00
ocornut 719a3fe98e Additional comments on ErrorCheckUsingSetCursorPosToExtendParentBoundaries(). (#5548) 2025-06-25 16:06:18 +02:00
ocornut 5bc70c68e2 Fonts: fix PushFont(NULL) to work as advertised.
Didn't properly finish ca72eb0.
2025-06-25 15:55:25 +02:00
ocornut dcf14505e2 Backends: SDLGPU: fixes call to SDL_MapGPUTransferBuffer(). Fixes artifacts on OSX/Metal. (#8465, #8703) 2025-06-25 15:48:56 +02:00
ocornut d8c6953710 Fonts: comments. 2025-06-25 12:10:13 +02:00
ocornut 89b5a2c3d5 (Breaking) Fonts: removed ImFontFlags_DefaultToLegacySize. 2025-06-24 19:10:10 +02:00
ocornut 97e0d59619 (Breaking) Fonts: removed PushFontSize(), PopFontSize(). 2025-06-24 19:09:51 +02:00
ocornut ca72eb0596 (Breaking) Fonts: obsolete PushFont() default parameter. 2025-06-24 19:09:28 +02:00
ocornut 776897d3c9 Fonts: fixed PVS Studio false positive "expression 'cmd_count != draw_list->CmdBuffer.Size' is always false." (#8720, #8465)
Amend 608dd96
2025-06-24 15:24:09 +02:00
ocornut 0218ddd575 Fonts: moved GetFont(), GetFontSize(), GetFontBaked() to higher section. 2025-06-24 15:00:42 +02:00
ocornut 6722d789e9 (Breaking) Fonts: Removed support for PushFont(NULL) which was a shortcut for "default font". 2025-06-24 14:44:38 +02:00
ocornut 6e846c56b4 Demo: fixed ID conflicts. (#8723) 2025-06-24 12:25:04 +02:00
ocornut 608dd96de6 Fonts: fixed RenderText() asserting when crossing VtxOffset change boundaries. (#8720, #8465) 2025-06-24 12:21:07 +02:00
ocornut a49ddaac89 Fonts: add comments and examples for GlyphExcludeRanges[]. 2025-06-24 11:06:41 +02:00
ocornut 613a6a964c Fonts: AddFontDefault() adds to GlyphOffset.y instead of overriding it. 2025-06-24 10:27:24 +02:00
ocornut cfa43e721a Windows: clicking on a window close button doesn't claim focus and bring to front. (#8683)
Added ImGuiItemFlags_NoFocus, ImGuiButtonFlags_NoFocus. Neither are well specified so marking as experimental.
2025-06-13 17:40:17 +02:00
ocornut d8da97f756 Fonts: UpdateCurrentFontSize() early out doesn't need to clear FontBaked.
This was meant when the code would be lower in the function (after updating e.g. g.FontSize) Amend 0e769c5.
2025-06-13 16:47:23 +02:00
ocornut ca3169310e Fonts: fixed FontBaked=NULL in initial call to SetCurrentWindow() in Begin() using previous frame value of SkipItems. (#8465)
ref 0e769c5
2025-06-13 16:46:41 +02:00
ocornut 1ec1510ef7 Fonts: clarify assert. (#8680) 2025-06-12 16:49:47 +02:00
ocornut 7ac99a4366 Backends: OSX: ImGui_ImplOSX_HandleEvent() only process event for window containing our view. (#8644) 2025-06-12 15:44:18 +02:00
ocornut b7f13df130 Docs: reformat Changelog. 2025-06-12 15:42:51 +02:00
ocornut 571dae9664 Backends: WGPU: added ImGuiBackendFlags_RendererHasTextures support. (#8465) 2025-06-12 15:31:51 +02:00
ocornut b178fd4286 Backends: WebGPU: moved sampler creation out of ImGui_ImplWGPU_CreateFontsTexture(). 2025-06-12 14:55:46 +02:00
ocornut 115a8e74c2 Fonts: update misc comments, docs. 2025-06-12 14:18:23 +02:00
ocornut 41f4acfb4f Fonts: add has_textures parameters to ImFontAtlasUpdateNewFrame(). 2025-06-12 11:44:11 +02:00
ocornut 1ce75e2bca Fixed duplicate symbols in some compile-time configurations. 2025-06-12 11:25:15 +02:00
ocornut f6fc166584 TreeNode: fixed runtime asan warning (#2920)
imgui_widgets.cpp:6923:52: runtime error: shift exponent -1 is negative
2025-06-12 11:07:08 +02:00
ocornut a0b3eceec7 Fixed using IMGUI_DISABLE_DEMO_WINDOWS without IMGUI_DISABLE_DEBUG_TOOLS and without linking with imgui_demo.cpp 2025-06-12 11:02:32 +02:00
ocornut 7a42233d43 imgui_freetype: fixed using legacy names. 2025-06-11 20:47:17 +02:00
ocornut 895bff6524 Removed unneeded check in RenderText() loop + disable static analyzer false-positive warnings. 2025-06-11 19:17:34 +02:00
ocornut df068ce11e Various/misc fixes following back-and-forth dynamic_fonts->master->docking merges. Added missing API BREAKING CHANGES section. 2025-06-11 18:50:16 +02:00
ocornut 96be957315 Docs: update Changelog, FAQ, Fonts docs. 2025-06-11 17:40:10 +02:00
ocornut 4acce85656 Fonts: tweaks demo and exposure to sliders, etc. 2025-06-11 17:36:28 +02:00
ocornut cc3d4cab21 (Breaking) renamed ImFontConfig::FontBuilderFlags -> FontLoaderFlags. ImFontAtlas::FontBuilderFlags -> FontLoaderFlags. ImGuiFreeTypeBuilderFlags -> ImGuiFreeTypeLoaderFlags. 2025-06-11 16:42:31 +02:00
ocornut e1481a731d Fonts: fixed NewFrame() when atlas builder has been created but fonts not added. Fixed GetCustomRect() after atlas clear. 2025-06-11 16:25:18 +02:00
ocornut 29fbf3c1ec Fonts: demote ImFont::GetFontBaked() as slighty internal. 2025-06-11 16:25:17 +02:00
ocornut 0e769c5418 Fonts: amend UpdateCurentFontSize() early out optimization. 2025-06-11 16:25:13 +02:00
ocornut 573f08135d Fonts: fixed PopFont() broken recovery.
"misc_recover_1" test would assert in EndFrame()
2025-06-11 16:25:10 +02:00
ocornut 2e67bd4de7 Fonts: rename to ImFontAtlasBuildLegacyPreloadAllGlyphRanges(). 2025-06-11 16:25:06 +02:00
ocornut c18301f356 Examples: remove explicit font sizes from AddFontXXX() calls. Add commented out style.FontSizeBase assignment. 2025-06-11 16:25:03 +02:00
ocornut 02f58b3207 Fonts: AddFont() functions now allow size_pixels==0.0f (only required when using certain functions)
Fonts: AddFont() funcitons allow size_pixels==0 for merged fonts.
2025-06-11 16:24:48 +02:00
ocornut bc394410a2 Examples: Win32+DX9/DX10/DX11/DX12, SDL2+DX11/OpenGL2/OpenGL3/SDLRenderer/Vulkan, SDL3+OpenGL/SDLGPU/SDLRenderer/Vulkan: made example DPI aware by default. (master + docking: partial support for multi-dpi by scaling fonts + viewports but not style)
We don't bother with WIN32_LEAN_AND_MEAN.

# Conflicts:
#	examples/example_glfw_opengl3/main.cpp
#	examples/example_sdl2_directx11/main.cpp
#	examples/example_sdl2_opengl2/main.cpp
#	examples/example_sdl2_opengl3/main.cpp
#	examples/example_sdl2_vulkan/main.cpp
#	examples/example_sdl3_opengl3/main.cpp
#	examples/example_sdl3_sdlgpu3/main.cpp
#	examples/example_sdl3_vulkan/main.cpp
#	examples/example_win32_directx10/main.cpp
#	examples/example_win32_directx11/main.cpp
#	examples/example_win32_directx12/main.cpp
#	examples/example_win32_directx9/main.cpp
2025-06-11 16:24:05 +02:00
ocornut b98e92839c Backends: SDL2, SDL3, GLFW: Backport small part of c90ea13 from docking. 2025-06-11 16:24:04 +02:00
ocornut 8269924c33 Backends: GLFW: added ImGui_ImplGlfw_GetContentScaleForMonitor(), ImGui_ImplGlfw_GetContentScaleForWindow() helpers.
# Conflicts:
#	backends/imgui_impl_glfw.cpp
2025-06-11 16:13:49 +02:00
ocornut 9da3e6696a Backends: SDL2: added ImGui_ImplSDL2_GetDpiScaleForDisplay(), ImGui_ImplSDL2_GetContentScaleForWindow() helpers. 2025-06-11 16:12:41 +02:00
ocornut d72e66cdee Examples: remove comments/references about baking and GetGlyphRangesJapanese(). 2025-06-11 16:11:03 +02:00
ocornut 2d2b1cee6b Fonts: internals: renamed g.FontSizeBeforeScaling to g.FontSizeBase for consistency.
# Conflicts:
#	imgui_internal.h
2025-06-11 16:10:45 +02:00
ocornut 3c27c643a9 Fonts: internals: renamed g.FontScale to g.FontBakedScale for clarity. Comments. 2025-06-11 16:10:18 +02:00
ocornut d85e22d205 Added style.FontScaleDpi which is the field overwritten by ImGuiConfigFlags_DpiEnableScaleFonts.
# Conflicts:
#	imgui.cpp
#	imgui.h
#	imgui_demo.cpp
2025-06-11 16:09:56 +02:00
ocornut 8766efcba6 (Breaking) Renamed io.FontGlobalScale to style.FontScaleMain.
# Conflicts:
#	imgui.cpp
2025-06-11 16:07:21 +02:00
ocornut 80c08f2286 (Breaking) Fonts: obsoleting SetWindowFontScale().
+ Comments

# Conflicts:
#	imgui.cpp
2025-06-11 16:07:05 +02:00
ocornut 59a11363a5 Fonts: ground work for allowing SizePixels to be optional. 2025-06-11 16:06:24 +02:00
ocornut 402db2ef32 Fonts: fixed passing negative sizes to stb_truetype loader. 2025-06-11 16:06:24 +02:00
ocornut 1e118ab891 Fonts: added ImGuiStyle::FontSizeBase. Ensuring PushFontSize() works before main loop and across NewFrame().
# Conflicts:
#	imgui.cpp
2025-06-11 16:06:21 +02:00
ocornut b029be6b6c Fonts: avoid calling GetFontBaked() during SetFontSize(). Also fixes loading extraneous baked on atlas that will be locked
e.g. PushFontSize() before NewFrame() on legacy backend.
2025-06-11 16:06:00 +02:00
ocornut 033cdc4133 Fonts: comments and slight packing of ImFontConfig fields. 2025-06-11 16:06:00 +02:00
ocornut 69547bd4bd Fonts: ImFont::DefaultSize -> ImFont::LegacySize. ImFontFlags_UseDefaultSize -> ImFontFlags_DefaultToLegacySize. 2025-06-11 16:06:00 +02:00
ocornut e3860aa6ac (Breaking) Fonts: removing obsolete ImFont::Scale. 2025-06-11 16:05:54 +02:00
ocornut 25f9c318e3 Fonts: added "Input Glyphs Overlap Detection Tool". Added "Clear bakes", "Clear unused" buttons. Move code. 2025-06-11 16:05:54 +02:00
ocornut 5926c877a1 Fonts: detect if ImFontAtlasUpdateNewFrame() is not being called. 2025-06-11 16:05:54 +02:00
ocornut 9f8b4bdaf1 Fonts: fixed edge case calling RenderText() without priming with CalcTextSize(). 2025-06-11 16:05:49 +02:00