github ocornut/imgui v1.91.7

latest release: v1.91.7-docking
one day ago

1.91.7: happy new year!

❤️ Last summer was the 10th anniversary of v1.00! Read: 10 years of Dear ImGui ! 🎉
Reading the changelog is a good way to keep up to date with the things Dear ImGui has to offer, and maybe will give you ideas of some features that you've been ignoring until now!
📣 If you are browsing multiple releases: click version number above to display full release note contents, otherwise it is badly clipped by GitHub!


Links: Homepage - Release notes - FAQ - Issues, Q&A. Also see our Wiki with sections such as..

Dear ImGui is funded by your contributions and absolutely needs them to sustain and grow. We can invoice and accommodate to many situations. If your company uses Dear ImGui, please reach out. See Funding page. Did you know? If you need an excuse to pay, you may buy licenses for Test Engine and buy hours of support (and cough not use them all) and that will contribute to fund Dear ImGui.

❤️ Thanks to recently joining sponsors: id Software!, Valve!, SCS Software! ! Gravity Well! ❤️
❤️ Thanks to other present and past sponsors incl Supercell! BeamNG! OTOY! Arkane Lyon, Asobo Studio, Lucid Games! Asobo! G3Dvu! Planestate Software! Aras P! FUTO! & many individuals ❤️

Thanks to @GamingMinds-DanielC, @PathogenDavid & more for their help with github answers!


New third-party extension!

See more extensions in our wiki page Useful Extensions.


Changes (since v1.91.6)

Breaking Changes:

  • TreeNode: renamed ImGuiTreeNodeFlags_SpanTextWidth to ImGuiTreeNodeFlags_SpanLabelWidth for consistency with other names. Kept redirection enum (will obsolete). (#6937)

Other changes:

  • Fixed issues with IsItemDeactivated() and IsItemDeactivatedAfterEdit() not emitting a reliable signal when an item is deactivated externally: e.g. via an explicit clear of focus, clear of active id, opening of modal etc. (#5184, #5904, #6766, #8303, #8004)
    • It used to work when the interruption happened in the frame before the active item as submitted, but not after. It should work in both cases now.
    • While this is not specific to a certain widgets, typically it would mostly be noticeable on InputText() because it keeps ActiveId for a longer time while allowing other interaction to happen.
  • Error Handling: Fixed bugs recovering from within a table that created a child window, and from nested child windows. (#1651)
  • Error Handling: Turned common EndTable() and other TableXXX functions fail cases into a recoverable error. (#1651, #8314)
  • Error Handling: Exposed basic error handling options in Demo->Tools->Debug Options. (#1651)
  • InputText: Fixed a bug where character replacements performed from a callback were not applied when pasting from clipboard. (#8229)
  • InputText: Fixed issue when activating a ReadOnly field when the underlying value is being modified. (#8242)
  • InputText: Added sanity check to detect some cases of passing a non zero-terminated input buffer.
  • InputText: Fixed not calling CallbackEdit on revert/clear with Escape key, although IsItemEdited() was behaving correctly. (#8273)
  • Tables: Fixed TableAngledHeadersRow() creating an infinite horizontal scrolling region when the table is hosted in a viewport with negative coordinates (left of primary monitor, with multi-viewports enabled).
  • Tables, MultiSelect: Fixed an issue where column width may be miss-measured when calling BeginMultiSelect() while inside a table. (#8250)
  • TreeNode, Tables: Added ImGuiTreeNodeFlags_LabelSpanAllColumns to make the label (not only the highlight/frame) also spans all columns. This is useful for table rows where you know nothing else is submitted. (#8318, #3565) (Obviously best used with ImGuiTableFlags_NoBordersInBodyUntilResize).
  • Drags: Added ImGuiSliderFlags_NoSpeedTweaks flag to disable keyboard modifiers altering the tweak speed. Useful if you want to alter tweak speed yourself based on your own logic. (#8223)
  • Nav: Fixed an issue where Alt key would clear current active item on windows with the ImGuiWindowFlags_NoNavInputs flag. (#8231)
  • Debug Tools: Debug Log: hovering 0xXXXXXXXX values in log is allowed even if a popup is blocking mouse access to the debug log window. (#5855)
  • Debug Tools: Item Picker: Always available in Tools menu regardless of value of io.ConfigDebugIsDebuggerPresent. (#2673)
  • Fonts: Fixed miscalculation of Ellipsis ("...") character width when automatically created from a single comma character, affecting some fonts/settings (not all).
  • Demo: Added label edition to Property Editor demo + fix an ID issue. (#8266) [@moritz-h]
  • Misc: Fixed misc/cpp/imgui_stdlib.h/.cpp not supporting #define IMGUI_DISABLE. (#8294) [@juur]
  • Misc: Fixed MinGW builds not using UTF-8 friendly _wfopen(). (#8300)
  • Backends: SDL_GPU for SDL3: Added backend for SDL_GPU! (#8163, #7998, #7988) [@DeltaW0x].
  • Backends: SDL3: Added ImGui_ImplSDL3_InitForSDLGPU() for consistency, even though it is currently not doing anything particular. (#8163, #7998, #7988)
  • Backends: Allegro5: Avoid calling al_set_mouse_cursor() repeatedly since it appears to leak on on X11 (#8256). [@Helodity]
  • Backends: Metal: Fixed leaks when using metal-cpp. (#8276, #8166) [@selimsandal]
  • Backends: Metal: Fixed resource leak when using multiple contexts. (#7419) [@anszom]
  • Backends: Vulkan: Fixed setting VkSwapchainCreateInfoKHR::preTransform for platforms not supporting VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR. (#8222) [@Zer0xFF]
  • Backends: Vulkan: Added a few more ImGui_ImplVulkanH_XXX helper functions primarily for the purpose of making our examples simpler.
  • Backends: Vulkan: Added IMGUI_IMPL_VULKAN_MINIMUM_IMAGE_SAMPLER_POOL_SIZE to clarify how many image sampler descriptors are expected to be available in the provided descriptor pool. Current backend needs 1 but it is expected that by end of Q1 2025 this number will grow (will stay a small number). (#6642)
  • Backends: DX11: Expose vertex constant buffer in ImGui_ImplDX11_RenderState.
    Reset projection matrix in ImDrawCallback_ResetRenderState handlers. (#6969, #5834, #7468, #3590)
  • Backends: DX10: Expose ImGui_ImplDX10_RenderState for completeness. (#6969, #5834, #7468, #3590)
  • Examples: Added Win32+Vulkan example for completeness. (#8180) [@jristic]

ImGuiTreeNodeFlags_LabelSpanAllColumns2

Gallery

@axjxwright: "AX Tracker: Custom tracking software for an upcoming large scale museum installation."

o3.mp4

@ItsBranK: "Been working on a reflection system helper for Unreal Engine for a bit, lets you view games objects and lets you modify their properties in real time. Very helpful for debugging issues in the production version of your game, where having access to the editor is not possible. This is just for personal use and not open to the public."
Untitled

@daedlock: "binutils"
image

@bcace: "short video of mechanical engineering software in early stages of development"

AirFrame.2024.11.26.22.02.47.D0APbFicf1Y.mp4

@ImAxel0: "Unfinished digital audio workstation UI heavily inspired from Ableton Live, made with ImGui.NET binding."
daw

@stergiotis: _"Enterprisy" ImGui: Rendering ImGui DrawList commands using Skia instead of the built-in renderer. https://github.com/stergiotis/imzero_client_cpp
Motivation:

  • Proper text and font handling, especially shaping, layouting and rendering for non-latin languages.
  • Rendering to SVG usable in manual post-processing.
  • SIMD accelerated rendering for use in container orchestration platforms (e.g. K8s).
    Code is available in github.com/stergiotis/imzero_client_cpp (MIT) and patches on ImGui in github.com/stergiotis/imgui, see diff for a summary of modifications. The hooks are generic and zero-cost to facilitate upstream adoption.

read more

@floooh "Updated the Tiny Emulators to use the docking branch and imgui.ini settings persistency (including open window state via a custom settings handler - in the WASM version, the settings are stored in LocalStorage)."
https://github.com/floooh/chips
WASM versions accessible here: https://floooh.github.io/tiny8bit/
Screenshot 2024-12-24 at 14 38 24

@ajax-crypto "I have created a small library which enables rendering rich text (ASCII only for now) i.e. <b>bold<i>italics</i></b> like blocks of text in a ImGui window. "
https://github.com/ajax-crypto/ImRichText

2<sup>2</sup> equals 4  <hr style="height: 4px; color: sienna;"/>
<p style="color: rgb(150, 0, 0);">Paragraph <b>bold <i>italics</i> bold2 </b></p>
<h1 style="color: darkblue;">Heading&Tab;</h1>
<span style='background: teal; color: white;'>White on Teal</span><br/>
<mark>This is highlighted! <small>This is small...</small></mark>

renders as follows:
Here is a screenshot


Read on more gallery posts.


Also see previous releases details.
Note that GitHub are now clamping release notes sometimes really badly, click on a header/title to read full notes.

❤️ Last summer was the 10th anniversary of v1.00! Read: 10 years of Dear ImGui ! 🎉

💰 🙏 Dear ImGui is funded by your contributions and absolutely needs them to sustain and grow. We can invoice and accommodate to many situations. If your company uses Dear ImGui, please reach out. See Funding page. Did you know? If you need an excuse to pay, you may buy licenses for Test Engine and buy hours of support (and cough not use them all) and that will contribute to fund Dear ImGui.

Don't miss a new imgui release

NewReleases is sending notifications on new releases.