v1.89.2
版本发布时间: 2023-01-05 23:00:24
ocornut/imgui最新发布版本:v1.91.3(2024-10-04 21:48:34)
1.89.2: Happy New Year!
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!
Homepage: https://github.com/ocornut/imgui Release notes: https://github.com/ocornut/imgui/releases FAQ: https://www.dearimgui.org/faq/ Issues: https://github.com/ocornut/imgui/issues
Did you know? We have a Wiki! It has sections such as this Useful Extensions Gallery! 👌
Thank you! ❤️
Special thanks to @rokups for their continued work on regression tests (now available as part of Dear ImGui Test Engine & Test Suite). Special thanks to @PathogenDavid and @GamingMinds-DanielC for their help with github answers.
Ongoing work on Dear ImGui is currently financially supported by:
Huge thank you to all past and present supporters! Also thanks to PVS Studio (great static analyzer) for providing us with a license for this project.
Dear ImGui is funded by your contributions and needs them right now. If your company uses Dear ImGui, consider reaching out. See Sponsors page for details.
Changes
This is a followup to v1.89 and v1.89.1. We are trying to make more frequent releases. Because: some people are relying on tagging and auto-generated bindings for other languages. And: it sets a beat and may encourage teams to update more frequently.
All Changes:
- Tables, Nav, Scrolling: fixed scrolling functions and focus tracking with frozen rows and frozen columns. Windows now have a better understanding of outer/inner decoration sizes, which should later lead us toward more flexible uses of menu/status bars. (#5143, #3692)
- Tables, Nav: frozen columns are not part of menu layer and can be crossed over. (#5143, #3692)
- Tables, Columns: fixed cases where empty columns may lead to empty ImDrawCmd. (#4857, #5937)
- Tables: fixed matching width of synchronized tables (multiple tables with same id) when only some instances have a vertical scrollbar and not all. (#5920)
- Fixed cases where CTRL+Tab or Modal can occasionally lead to the creation of ImDrawCmd with zero triangles, which would makes the render loop of some backends assert (e.g. Metal with debugging, Allegro). (#4857, #5937)
- Inputs, IO: reworked
ImGuiMod_Shortcut
to redirect to Ctrl/Super at runtime instead of compile-time, being consistent with our support for io.ConfigMacOSXBehaviors and making it easier for bindings generators to process that value. (#5923, #456) - Inputs, Scrolling: better selection of scrolling window when hovering nested windows and when backend/OS is emitting dual-axis wheeling inputs (typically touch pads on macOS). We now select a primary axis based on recent events, and select a target window based on it. We expect this behavior to be further improved/tweaked. (#3795, #4559) [@ocornut, @folays]
- InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multi-line buffer which doesn't end with a carriage return. (#6000)
- Text: fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
- Misc: added
GetItemID()
in public API. It is not often expected that you would use this, but it is useful for Shortcut() and upcoming owner-aware input functions which wants to be implemented with public API. - Fonts: imgui_freetype: fixed a packing issue which in some occurrences would prevent large amount of glyphs from being packed correctly. (#5788, #5829)
- Fonts: added a
void* UserData
field inImFontAtlas
, as a convenience for use by applications using multiple font atlases. - Demo: simplified "Inputs" section, moved contents to Metrics->Inputs.
- Debug Tools: Metrics: added "Inputs" section, moved from Demo for consistency.
- Misc: fixed parameters to
IMGUI_DEBUG_LOG()
not being dead-stripped when building withIMGUI_DISABLE_DEBUG_TOOLS
is used. (#5901) [@Teselka] - Misc: fixed compile-time detection of SSE features on MSVC 32-bits builds. (#5943) [@TheMostDiligent]
- Examples: DirectX10, DirectX11: try WARP software driver if hardware driver is not available. (#5924, #5562)
- Backends: GLFW: Fixed mods state on Linux when using Alt-GR text input (e.g. German keyboard layout), which could lead to broken text input. Revert a 2022/01/17 change were we resumed using mods provided by GLFW, turns out they are faulty in this specific situation. (#6034)
- Backends: Allegro5: restoring using al_draw_indexed_prim() when Allegro version is >= 5.2.5. (#5937) [@Espyo]
- Backends: Vulkan: Fixed sampler passed to
ImGui_ImplVulkan_AddTexture()
not being honored as we were using an immutable sampler. (#5502, #6001, #914) [@martin-ejdestig, @rytisss]
Changes from 1.89.1 to 1.89.2 related to the docking branch (multi-viewport and docking features) include:
- Docking: Internals: fixed
DockBuilderCopyDockSpace()
crashing when windows not in the remapping list are docked on the left or top side of a split. (#6035) - Docking: fixed
DockSpace()
withImGuiDockNodeFlags_KeepAliveOnly
marking current window as written to, even if it doesn't technically submit an item. This allow using KeepAliveOnly from any window location. (#6037) - Backends: OSX: fixed typo in
ImGui_ImplOSX_GetWindowSize
that would cause issues when resizing from OS decorations, if they are enabled on secondary viewports. (#6009) [@sivu] - Backends: Metal: fixed secondary viewport rendering. (#6015) [@dmirty-kuzmenko]
New exciting projects!
Since 1.89 we semi-sneakily soft launched two new entire projects!
Dear ImGui Automation/Test Engine & Test Suite https://github.com/ocornut/imgui_test_engine
Dear Bindings: alternative binding generator for C and other languages by @ShironekoBen https://github.com/dearimgui/dear_bindings
https://user-images.githubusercontent.com/8225057/182409619-cd3bf990-b383-4a6c-a6ba-c5afe7557d6c.mp4
Gallery
Below a selection of screenshots from Gallery threads...
Projectreal by @thefoxcam "WIP Open source layer-based compositor](https://foxcam.net/projectreal with a focus on bitmap editing for 2D motion design work, basically a combination of After Effects and Photoshop. ImGui's paradigm has been invaluable to my learning journey--"
NAP Framework by https://nap-labs.tech/ https://www.napframework.com
Dear ImGui File Dialogs CLI and Client Library by Samuel Venable. https://github.com/time-killer-games/libfiledialogs "Based on ImFileDialog by dfranx, with many bugs/crashes fixed and overall improvements. The 'Quick Access' sidebar actually remembers what favorites were previously saved to it from previous runs of your application now, by saving the settings to a text file in a hidden configuration subfolder of your home folder. Allows for full localization among many other good things you'll find useful. Most of the dialog is customizable via environment variables. Uses system icon theme."
RetroDebugger by @slajerek https://github.com/slajerek/RetroDebugger
RE Edit, a free and open source WYSIWYG editor for the UI of a Rack Extension https://github.com/pongasoft/re-edit