2.2.6 Dear ImGui 1.91.8
Hexa.NET.ImGui Changes
- Updated to Dear ImGui 1.91.8
π Thanks to all recurring supporters
- Mr Villa
Forwarded from https://github.com/ocornut/imgui/releases/tag/v1.91.8 (removed @ to avoid spam)
Changes (since v1.91.7)
Breaking Changes:
- ColorEdit, ColorPicker: redesigned how alpha is displayed in the preview square. (#8335, #1578, #346)
- Removed
ImGuiColorEditFlags_AlphaPreview(made value 0): it is now the default behavior. - Prior to 1.91.8: alpha was made opaque in the preview by default unless using
ImGuiColorEditFlags_AlphaPreview. - We now display the preview as transparent by default. You can use
ImGuiColorEditFlags_AlphaOpaqueto use old behavior. - The new flags may be combined better and allow finer controls:
ImGuiColorEditFlags_AlphaOpaque: disable alpha in the preview, but alpha value still editable.ImGuiColorEditFlags_AlphaNoBg: disable rendering a checkerboard background behind transparent color.ImGuiColorEditFlags_AlphaPreviewHalf: display half opaque / half transparent preview.
- Removed
- Backends: SDLGPU3: Renamed
ImGui_ImplSDLGPU3_InitInfo::GpuDevicetoDevicefor consistency. (#8163, #7998, #7988)
Other changes:
- imgui_freetype: fixed issue where glyph advances would incorrectly be snapped to pixels. Effectively it would only be noticeable when hinting is disabled with
ImGuiFreeTypeBuilderFlags_NoHinting, as hinting itself snaps glyph advances. - Inputs: added
IsMouseReleasedWithDelay()helper. (#8337, #8320). Use if you absolutely need to distinguish single-click from double-clicks by introducing a delay. This is a very rarely used UI idiom, but some apps use this: e.g. MS Explorer single-click on an icon triggers a rename. Generally use withdelay >= io.MouseDoubleClickTime+ combine with aGetMouseClickedCount() == 1check. - Windows: legacy
SetWindowFontScale()is properly inherited by nested child windows. Note that an upcoming major release should make this obsolete, but in the meanwhile it works better now. (#2701, #8138, #1018) - Windows, Style: Fixed small rendering issues with menu bar, resize grip and scrollbar when using thick border sizes. (#8267, #7887)
- Windows: Fixed
IsItemXXXX()functions not working on append-version ofEndChild(). (#8350) Also made some of the fields accessible afterBeginChild()to matchBegin()logic. - Error Handling: Recovery from missing
EndMenuBar()call. (#1651) - Tables, Menus: Fixed using
BeginTable()in menu layer (any menu bar). (#8355) It previously overrode the current layer back to main layer, which caused an issue with MainMenuBar attempted to release focus when leaving the menu layer. - Tables, Menus: Fixed tables or child windows submitted inside
BeginMainMenuBar()being unable to save their settings, as the main menu bar usesImGuiWindowFlags_NoSavedSettings. (#8356) - ColorEdit, ColorPicker: Fixed alpha preview broken in 1.91.7. (#8336, #8241). [PathogenDavid]
- Tabs, Style: reworked selected overline rendering to better accommodate for rounded tabs. Reduced default thickness (
style.TabBarOverlineSize), increased default rounding (style.TabRounding). (#8334) [Kian738, ocornut] - Debug Tools: Tweaked font preview.
- ImDrawList: texture baked storage for thick line reduced from ~64x64 to ~32x32. (#3245)
- Fonts:
IndexLookup[]table hold 16-bit values even in ImWchar32 mode, as it accounts for number of glyphs in same font. This is favorable toCalcTextSize()calls touching less memory. - Fonts:
OversampleH/OversampleVdefaults to 0 for automatic selection.OversampleH == 0--> use 1 or 2 depending on font size and use of PixelSnapH.OversampleV == 0--> always use 1.
- ImFontAtlas: made calling
ClearFonts()callClearInputData(), as calling one without the other is never correct. (#8174, #6556, #6336, #4723) - Examples: DirectX12: Reduced number of frame in flight from 3 to 2 in provided example, to reduce latency.
- Examples: Vulkan: better handle
VK_SUBOPTIMAL_KHRbeing returned byvkAcquireNextImageKHR()orvkQueuePresentKHR(). (#7825, #7831) [NostraMagister] - Backends: SDL2: removed assert preventing using
ImGui_ImplSDL2_SetGamepadMode()withImGui_ImplSDL2_GamepadMode_Manualand an empty array. (#8329) - Backends: SDL3: removed assert preventing using
ImGui_ImplSDL3_SetGamepadMode()withImGui_ImplSDL3_GamepadMode_Manualand an empty array. (#8329) - Backends: SDLGPU3: Exposed
ImGui_ImplSDLGPU3_CreateDeviceObjects()/_DestroyDeviceObjects().
Removed return value fromImGui_ImplSDLGPU3_CreateFontsTexture(). (#8163, #7998, #7988) - Backends: SDL_Renderer2/3: Use endian-dependent RGBA32 texture format, to match
SDL_Color. (#8327) [dkosmari] - Backends: DirectX12: Texture upload use the command queue provided in
ImGui_ImplDX12_InitInfoinstead of creating its own. - Backends: OSX: Removed notification observer when shutting down. (#8331) [jrachele]
Changes from 1.91.7 to 1.91.8 specific to the Docking+Multi-Viewports branch:
- Docking: Fixed an issue in 1.91.7 where using legacy
ImGuiWindowFlags_NavFlattenedflag (instead ofImGuiChildFlags_NavFlattened) in docking branch would conflict with internal docking flags. (#8357) [DanielGibson] - Backends: SDL3: new viewport windows are created with the
SDL_WINDOW_HIDDENflag before callingSDL_ShowWindow(). (#8328) [PathogenDavid]