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_AlphaOpaque
to 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::GpuDevice
toDevice
for 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() == 1
check. - 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
/OversampleV
defaults 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_KHR
being returned byvkAcquireNextImageKHR()
orvkQueuePresentKHR()
. (#7825, #7831) [NostraMagister] - Backends: SDL2: removed assert preventing using
ImGui_ImplSDL2_SetGamepadMode()
withImGui_ImplSDL2_GamepadMode_Manual
and an empty array. (#8329) - Backends: SDL3: removed assert preventing using
ImGui_ImplSDL3_SetGamepadMode()
withImGui_ImplSDL3_GamepadMode_Manual
and 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_InitInfo
instead 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_NavFlattened
flag (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_HIDDEN
flag before callingSDL_ShowWindow()
. (#8328) [PathogenDavid]