Skip to content

2.1.7 Dear ImGui 1.91.3

Compare
Choose a tag to compare
@JunaMeinhold JunaMeinhold released this 11 Oct 14:51
· 76 commits to master since this release

Hexa.NET.ImGui Changes

  • Updated to Dear ImGui 1.91.3.
  • Moved internal functions to ImGuiP.XXX for better clarity to avoid misuse/unintentional use of the internal API. (see #16)
  • Added aggressive inlining for native methods to improve performance.
  • Bug fix for FunctionTable generation which generated empty spaces. (nothing serious)

New Sponsor

🎉 A big thank you to @Doprez for their generous support! Their contributions have been invaluable in helping this project thrive.


Forwarded from https://github.com/ocornut/imgui/releases/tag/v1.91.3 (removed @ to avoid spam)

Changes (since v1.91.2)

Breaking Changes:

  • Drags: treat v_min==v_max as a valid clamping range when != 0.0f. Zero is still a special value due to legacy reasons, unless using ImGuiSliderFlags_ClampZeroRange. (#7968, #3361, #76)
  • Drags: extended behavior of ImGuiSliderFlags_AlwaysClamp to include ImGuiSliderFlags_ClampZeroRange. It considers v_min==v_max==0.0f as a valid clamping range (aka edits not allowed). Although unlikely, it you wish to only clamp on text input but want v_min==v_max==0.0f to mean unclamped drags, you can use _ClampOnInput instead of _AlwaysClamp. (#7968, #3361, #76)

Other changes:

  • Error Handling: Enabled/improved error recovery systems. (#1651, #5654)
    • Read https://github.com/ocornut/imgui/wiki/Error-Handling for a bit more details.
    • Error recovery is provided as a way to facilitate:
      • Recovery after a programming error. Native code or scripting language (the later tends to facilitate iterating on code while running).
      • Recovery after running an exception handler or any error processing which may skip code after an error has been detected.
    • Error recovery is not perfect nor guaranteed! It is a feature to ease development.
      You not are not supposed to rely on it in the course of a normal application run.
    • Functions that support error recovery are using IM_ASSERT_USER_ERROR() instead of IM_ASSERT().
    • By design, we do not allow error recovery to be 100% silent. One of the options needs to be enabled!
    • Possible usage: facilitate recovery from errors triggered from a scripting language or after specific exceptions handlers. Surface errors to programmers in less aggressive ways.
    • Always ensure that on programmers seats you have at minimum Asserts or Tooltips enabled when making direct imgui API calls! Otherwise it would severely hinder your ability to catch and correct mistakes!
    • Added io.ConfigErrorRecovery to enable error recovery support.
    • Added io.ConfigErrorRecoveryEnableAssert to assert on recoverable errors.
    • Added io.ConfigErrorRecoveryEnableDebugLog to output to debug log on recoverable errors.
    • Added io.ConfigErrorRecoveryEnableTooltip to enable displaying an error tooltip on recoverable errors. The tooltip include a way to enable asserts if they were disabled.
    • All options are enabled by default.
  • Windows: BeginChild(): made it possible to call SetNextWindowSize() on a child window using ImGuiChildFlags_ResizeX, ImGuiChildFlags_ResizeY in order to override its current size. (#1710, #8020)
  • Scrollbar: Shift+Click scroll to clicked location (pre-1.90.8 default). (#8002, #7328)
  • Scrollbar: added io.ConfigScrollbarScrollByPage setting (default to true). Set io.ConfigScrollbarScrollByPage=false to enforce always scrolling to clicked location. (#8002, #7328)
  • Drags: split ImGuiSliderFlags_AlwaysClamp into two distinct flags: (#7968, #3361, #76)
    • ImGuiSliderFlags_AlwaysClamp = ImGuiSliderFlags_ClampOnInput + ImGuiSliderFlags_ClampZeroRange.
    • Previously _AlwaysClamp only did the equivalent of _ClampOnInput.
    • Added ImGuiSliderFlags_ClampOnInput which is now a subset of _AlwaysClamp (note that it was the old name of _AlwaysClamp, but we are reintroducing that name).
    • Added ImGuiSliderFlags_ClampZeroRange to enforce clamping even when v_min==v_max==0.0f in drag functions. Sliders are not affected.
  • Tooltips, Drag and Drop: Fixed an issue where the fallback drag and drop payload tooltip appeared during drag and drop release.
  • Tooltips, Drag and Drop: Stabilized name of drag and drop tooltip window so thattransitioning from an item tooltip to a drag tooltip doesn't leak window auto-sizing info from one to the other. (#8036)
  • Tooltips: Tooltips triggered from touch inputs are positioned above the item. (#8036)
  • Backends: SDL3: Update for API changes: SDL_bool removal. SDL_INIT_TIMER removal.
  • Backends: WebGPU: Fixed DAWN api change using WGPUStringView in WGPUShaderSourceWGSL. (#8009, #8010) [blitz-research]

Changes from 1.91.2 to 1.91.3 in the Docking branch:

  • Backends: SDL2, SDL3: Fixed building for UWP platforms. (#8008)
  • Backends: Win32: Use ResisterClassW()/CreateWindowExW() for secondary viewports, to ensure correct IME input even if the backend was compiled in MBCS mode. (#7979, #5725)