v1.90.6
版本发布时间: 2024-05-08 22:19:59
ocornut/imgui最新发布版本:v1.91.3(2024-10-04 21:48:34)
1.90.6: May update
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!
📣 Click version number above to display full release note contents, otherwise it is clipped by GitHub!
Links: Homepage - Release notes - FAQ - Issues, Q&A Also see our Wiki with sections such as Getting Started and Useful Extensions Gallery! 👌
Ahem
Consider reading the foreword for v1.90.5. If you contacted me in March consider following up :)
Dear ImGui is funded by your contributions and 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 & Sponsors page. Did you know? If you need an excuse to pay, you may buy licenses for Test Engine and that will contribute to fund Dear ImGui.
Special thanks to @cfillion, @GamingMinds-DanielC, @PathogenDavid & more for for their help with patches and answers!
Recent financial contributions by G3DVu!, Lucid Games! Aras! Remedy Entertainment! And many other individuals. Thank you,
Changes
Breaking Changes:
- TreeNode: Fixed a layout inconsistency when using a empty/hidden label followed by a
SameLine()
call. (#7505, #282)
Before: TreeNode("##Hidden"); SameLine(); Text("Hello");
// This was actually incorrect! BUT appeared to look ok with the default style
// where ItemSpacing.x == FramePadding.x * 2 (it didn't look aligned otherwise).
After: TreeNode("##Hidden"); SameLine(0, 0); Text("Hello");
// This is correct for all values in style.
- With the fix, IF you were successfully using TreeNode("")+SameLine(); you will now have extra spacing between your TreeNode and the following item. You'll need to change the SameLine() call to SameLine(0,0) to remove this extraneous spacing. This seemed like the more sensible fix that's not making things less consistent. (Note: when using this idiom you are likely to also use
ImGuiTreeNodeFlags_SpanAvailWidth
).
Other Changes
- Windows: Changed default
ClipRect
to extend to windows' left and right borders, instead of adding arbitraryWindowPadding.x * 0.5f
space on left and right. That ClipRect half-padding was arbitrary/confusing and inconsistent with Y axis. It also made it harder to draw items covering whole window without pushing an extended ClipRect. Some items near windows left and right edge that used to be clipped may be partly more visible. (#3312, #7540, #3756, #6170, #6365) - Windows: Fixed subsequent
Begin()
append calls from setting last item information for title bar, making it impossible to use IsItemHovered() on a Begin()-to-append, and causing issue bypassing hover detection on collapsed windows. (#7506, #823) - Fonts: Fixed font ascent and descent calculation when a font hits exact integer values. It is possible that some prior manual use of
ImFontConfig::GlyphOffset
may become duplicate with this fix. (#7399, #7404) [@GamingMinds-DanielC] - TreeNode: Added
ImGuiTreeNodeFlags_SpanTextWidth
to make hitbox and highlight only cover the label. (#6937) [@dimateos] - Tables: Angled headers: fixed multi-line label display when angle is flipped. (#6917)
- Tables: Angled headers: added
style.TableAngledHeadersTextAlign
and correspondingImGuiStyleVar_TableAngledHeadersTextAlign
variable. Default to horizontal center. (#6917) [@thedmd, @ocornut] - ProgressBar: Added support for indeterminate progress bar by passing an animated negative fraction, e.g. ProgressBar(-1.0f * GetTime()). (#5316, #5370, #1901)[@gan74]
- Text, DrawList: Improved handling of long single-line wrapped text. Faster and mitigate issues with reading vertex indexing limits with 16-bit indices. (#7496, #5720)
- Backends: OpenGL3: Detect ES3 contexts on desktop based on version string, to e.g. avoid calling
glPolygonMode()
on them. (#7447) [@afraidofdark, @ocornut] - Backends: OpenGL3: Update loader for Linux to support EGL/GLVND. (#7562) [@ShadowNinja, @vanfanel]
- Backends: Vulkan: Added convenience support for Volk via
IMGUI_IMPL_VULKAN_USE_VOLK
define. (you could always useIMGUI_IMPL_VULKAN_NO_PROTOTYPES
+ImGui_ImplVulkan_LoadFunctions()
as well). (#6582, #4854) [@adalsteinnh, @kennyalive, @ocornut] - Backends: SDL3: Fixed text inputs. Re-enable calling
SDL_StartTextInput()
/SDL_StopTextInput()
as SDL3 no longer enables it by default. (#7452, #6306, #6071, #1953) [@Green-Sky] - Examples: GLFW+Vulkan, SDL+Vulkan: Added optional support for Volk. (#6582, #4854)
- Examples: GLFW+WebGPU: Added support for WebGPU-native/Dawn (#7435, #7132) [@eliasdaler, @Zelif]
- Examples: GLFW+WebGPU: Renamed
example_emscripten_wgpu/
toexample_glfw_wgpu/
. (#7435, #7132)
Changes from 1.90.5 to 1.90.6 related to the Docking branch:
- Docking: when
io.ConfigDockingWithShift
is enabled, fixed help tooltip erroneously readingSetNextWindowXXX()
data. (#6709, #4643, #7491) [@ocornut, @cfillion] - Viewports: fixed outer-right edge of MenuBar clipping rectangle off by one when window is located on a monitor with negative coordinates. (#6861, #2884) [@cfillion]
- Backends: Vulkan: reworked swap-chain resize handling for secondary viewports, fix for typical Linux setups. (#2626, #3390, #3758, #7508, #7513) [@RoryO, @InsideBSITheSecond]
- Backends: Vulkan: create a custom pipeline for secondary viewports. Fixes issues when user created main viewport uses a different renderpass. (#6325, #6305, #7398, #3459, #3253, #3522) [@skaman, @FunMiles]
Changes from 1.90.3 to 1.90.6 related to the Range-Select branch: (previous release notes skipped a few)
- RangeSelect/MultiSelect: (Breaking) merge
ImGuiSelectionRequestType_Clear
andImGuiSelectionRequestType_SelectAll
intoImGuiSelectionRequestType_SetAll
, renameImGuiSelectionRequest::RangeSelected
toSelected
. - RangeSelect/MultiSelect: Simplified
ImGuiSelectionBasicStorage
by using a single SetItemSelected() entry point. - RangeSelect/MultiSelect: Added
ImGuiMultiSelectFlags_NoAutoSelect
,ImGuiMultiSelectFlags_NoAutoClear
features. - RangeSelect/MultiSelect: Added Checkbox Demo.
- RangeSelect/MultiSelect: Box-Select: fix preventing focus. amend determination of scope_hovered for decorated/non-child windows + avoid stealing NavId. (#7424)
Gallery
Bitty Engine https://paladin-t.github.io/bitty/
@naoki-0603: "Game engine under development. / This is a game under development using my own game engine."
@Eragon-Brisingr: ImGui_WS Support Unreal Engine use ImGui and Draw on web page. https://github.com/Eragon-Brisingr/ImGui_WS
storymachine https://www.trystorymachine.com
@achabense: _"I'm working on a project for exploring MAP-rules. https://github.com/achabense/astral
@mikamyara : "I write a code that simulates a CPU architecture for my students (for pedagogy only), and once the microcode table is filled with necessary signals, allows to create simple assembler code." https://dl.eea-fds.umontpellier.fr/ArchiLaSimu-1.0/
@rafaelanderka: lbm-imgui "an interactive fluid simulation toolbox." https://github.com/rafaelanderka/lbm-imgui
@antopilo "A game engine inspired by Quake that I've been working on for a couple years" https://nuake.antopilo.dev https://github.com/antopilo/Nuake
Tug by @kyle-sylvestre: Tug: GDB frontend made with Dear ImGui https://github.com/kyle-sylvestre/Tug
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.
Dear ImGui is funded by your contributions and needs them to sustain and grow. We can invoice and accommodate to many situations. If your company uses Dear ImGui, please reach out (omar AT dearimgui DOT com). See Funding/Sponsors page. Did you know? If you need an excuse to pay, you may buy licenses for Test Engine and that will contribute to fund Dear ImGui.