SHA256
5
0
forked from pool/imgui

4 Commits

4 changed files with 308 additions and 31 deletions

View File

@@ -1,3 +1,280 @@
-------------------------------------------------------------------
Mon Feb 10 14:40:19 UTC 2025 - Dirk Müller <dmueller@suse.com>
- update to 1.91.8:
* 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.
* Backends: SDLGPU3: Renamed
ImGui_ImplSDLGPU3_InitInfo::GpuDevice to Device
for consistency. (#8163, #7998, #7988)
* 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)
* Windows, Style: Fixed small rendering issues with menu bar,
resize grip and scrollbar when using thick border sizes.
* Windows: Fixed IsItemXXXX() functions not working on append-
version of EndChild(). (#8350)
* Error Handling: Recovery from missing EndMenuBar() call.
* Tables, Menus: Fixed using BeginTable() in menu layer (any
menu bar). (#8355)
* Tables, Menus: Fixed tables or child windows submitted inside
BeginMainMenuBar()
* ColorEdit, ColorPicker: Fixed alpha preview broken in 1.91.7.
* Tabs, Style: reworked selected overline rendering to better
accommodate for rounded tabs. Reduced default thickness
(style.TabBarOverlineSize), increased default rounding
(style.TabRounding).
* 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 to CalcTextSize() 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() call ClearInputData(),
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 by vkAcquireNextImageKHR() or vkQueuePresentKHR().
#7831) [@NostraMagister]
* Backends: SDL2: removed assert preventing using
ImGui_ImplSDL2_SetGamepadMode()
with ImGui_ImplSDL2_GamepadMode_Manual and an empty array.
* Backends: SDL3: removed assert preventing using
ImGui_ImplSDL3_SetGamepadMode()
with ImGui_ImplSDL3_GamepadMode_Manual and an empty array.
* Backends: SDLGPU3: Exposed ImGui_ImplSDLGPU3_CreateDeviceObje
cts()/_DestroyDeviceObjects().
Removed return value from
ImGui_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]
* TreeNode: renamed ImGuiTreeNodeFlags_SpanTextWidth to
ImGuiTreeNodeFlags_SpanLabelWidth
for consistency with other names. Kept redirection enum
(will obsolete). (#6937)
* Fixed issues with IsItemDeactivated() and
IsItemDeactivatedAfterEdit() not emitting a reliable signal
when an item is deactivated externally: e.g.
via an explicit clear of focus, clear of active id, opening
of modal etc.
* It used to work when the interruption happened in the
frame before the active item as submitted, but not after.
It should work in both cases now.
* InputText: Fixed a bug where character replacements performed
from a callback were not applied when pasting from clipboard.
* InputText: Fixed issue when activating a ReadOnly field when
the underlying value is being modified. (#8242)
* InputText: Added sanity check to detect some cases of passing
a non zero-terminated input buffer.
* InputText: Fixed not calling CallbackEdit on revert/clear
with Escape key, although IsItemEdited() was behaving correctly.
* Tables: Fixed TableAngledHeadersRow() creating an infinite
horizontal scrolling region when the table is hosted in a
viewport with negative coordinates (left of primary monitor,
with multi-viewports enabled).
* Tables, MultiSelect: Fixed an issue where column width may be
mismeasured when calling BeginMultiSelect() while inside a
table.
* TreeNode, Tables: Added
ImGuiTreeNodeFlags_LabelSpanAllColumns to make
the label (not only the highlight/frame) also spans all
columns. This is useful for table rows where you know nothing
else is submitted. (#8318, #3565)
* Drags: Added ImGuiSliderFlags_NoSpeedTweaks flag to disable
keyboard modifiers altering the tweak speed. Useful if you
want to alter tweak speed yourself based on your own logic.
(#8223)
* Nav: Fixed an issue where Alt key would clear current active
item on windows with the ImGuiWindowFlags_NoNavInputs flag.
(#8231)
* Debug Tools: Debug Log: hovering 0xXXXXXXXX values in log is
allowed even if a popup is blocking mouse access to the debug
log window. (#5855)
* Debug Tools: Item Picker: Always available in Tools menu
regardless of value of io.ConfigDebugIsDebuggerPresent. (#2673)
* Fonts: Fixed miscalculation of Ellipsis ("...") character
width when automatically created from a single comma character,
affecting some fonts/settings (not all).
* Demo: Added label edition to Property Editor demo + fix an ID
issue. (#8266) [@moritz-h]
* Misc: Fixed misc/cpp/imgui_stdlib.h/.cpp not supporting
IMGUI_DISABLE. (#8294) [@juur]
* Misc: Fixed MinGW builds not using UTF-8 friendly _wfopen().
* Backends: SDLGPU3 for SDL3: Added backend for SDL_GPU!
* Backends: SDL3: Added ImGui_ImplSDL3_InitForSDLGPU() for
consistency, even though it is currently not doing anything
particular.
* Backends: Allegro5: Avoid calling al_set_mouse_cursor()
repeatedly since it appears to leak on on X11 (#8256).
* Backends: Metal: Fixed leaks when using metal-cpp. (#8276,
#8166) [@selimsandal]
* Backends: Vulkan: Added
IMGUI_IMPL_VULKAN_MINIMUM_IMAGE_SAMPLER_POOL_SIZE to clarify
how many image sampler descriptors are expected to be
available in the provided descriptor pool. Current backend
needs 1 but it is expected that by end of Q1 2025
this number will grow (will stay a small number).
* Backends: DX11: Expose vertex constant buffer in
ImGui_ImplDX11_RenderState.
* Reset projection matrix in ImDrawCallback_ResetRenderState
handlers. (#6969, #5834, #7468, #3590)
* Backends: DX10: Expose ImGui_ImplDX10_RenderState for
completeness. (#6969, #5834, #7468, #3590)
* Examples: Added Win32+Vulkan example for completeness.
(#8180) [@jristic]
-------------------------------------------------------------------
Tue Nov 26 05:31:00 UTC 2024 - ming li <mli@suse.com>
- update to 1.91.0:
Breaking Changes:
* IO, IME: renamed platform IME hook and added explicit context for
consistency and future-proofness.
old: io.SetPlatformImeDataFn(ImGuiViewport* viewport,
ImGuiPlatformImeData* data);
new: io.PlatformSetImeDataFn(ImGuiContext* ctx, ImGuiViewport*
viewport, ImGuiPlatformImeData* data);
It is expected that for a vast majority of users this is
automatically set by core library and/or platform backend so
it won't have any effect.
* Obsoleted GetContentRegionMax(), GetWindowContentRegionMin() and
GetWindowContentRegionMax(). (information thread: #7838)
You should never need those functions! You can do everything in
less a confusing manner by only using GetCursorScreenPos() and
GetContentRegionAvail(). Also always consider that if you are
using GetWindowPos() and GetCursorPos() you may also be making
things unnecessarily complicated.
I repeat: You can do everything with GetCursorScreenPos()
and GetContentRegionAvail()!
GetWindowContentRegionMax().x - GetCursorPos().x -->
GetContentRegionAvail().x
GetWindowContentRegionMax().x + GetWindowPos().x -->
GetCursorScreenPos().x + GetContentRegionAvail().x
// when called from left edge of window
GetContentRegionMax() --> GetContentRegionAvail() + GetCursorScreenPos()
- GetWindowPos() // right edge in local coordinates
GetWindowContentRegionMax().x - GetWindowContentRegionMin().x -->
GetContentRegionAvail() // when called from left edge of window
* Item flag changes:
Obsoleted PushButtonRepeat()/PopButtonRepeat() in favor of using
new PushItemFlag()/PopItemFlag() with ImGuiItemFlags_ButtonRepeat.
Kept inline redirecting functions (will obsolete).
Obsoleted PushTabStop()/PopTabStop() in favor of using new
PushItemFlag()/PopItemFlag() with ImGuiItemFlags_NoTabStop.
Kept inline redirecting functions (will obsolete).
Renamed ImGuiSelectableFlags_DontClosePopups to
ImGuiSelectableFlags_NoAutoClosePopups for consistency. Kept inline
redirecting functions (will obsolete). + Internals:
changed/inverted ImGuiItemFlags_SelectableDontClosePopup (default==false) to
ImGuiItemFlags_AutoClosePopups (default==true), same logic,
only inverted behavior. (#1379, #1468, #2200, #4936, #5216, #7302, #7573)
* Commented out obsolete ImGuiModFlags (renamed to ImGuiKeyChord in 1.89).
(#4921, #456)
* Commented out obsolete ImGuiModFlags_XXX values
(renamed to ImGuiMod_XXX in 1.89). (#4921, #456)
ImGuiModFlags_Ctrl -> ImGuiMod_Ctrl, ImGuiModFlags_Shift ->
ImGuiMod_Shift etc.
* Backends: GLFW+Emscripten: Renamed
ImGui_ImplGlfw_InstallEmscriptenCanvasResizeCallback()
to ImGui_ImplGlfw_InstallEmscriptenCallbacks(), with an
additional GLFWWindow* parameter. (#7647) [@ypujante]
Other Changes
* Added TextLink(), TextLinkOpenURL() hyperlink widgets. (#7660)
* IO: added io.PlatformOpenInShellFn() handler to open a
link/folder/file in OS shell. (#7660)
Added IMGUI_DISABLE_DEFAULT_SHELL_FUNCTIONS to disable
default Windows/Linux/Mac implementation.
* IO: added io.ConfigNavSwapGamepadButtons to swap Activate/Cancel
(A<>B) buttons, to match the typical "Nintendo/Japanese consoles"
button layout when using Gamepad navigation. (#787, #5723)
* Added PushItemFlag()/PopItemFlags(), ImGuiItemFlags to modify shared
item flags:
Added ImGuiItemFlags_NoTabStop to disable tabbing through items.
Added ImGuiItemFlags_NoNav to disable any navigation and focus
of items. (#787)
Added ImGuiItemFlags_NoNavDefaultFocus to disable item being
default focus. (#787)
Added ImGuiItemFlags_ButtonRepeat to enable repeat on any
button-like behavior.
Added ImGuiItemFlags_AutoClosePopups to disable menu
items/selection auto closing parent popups.
Disabling this was previously possible for Selectable() via a direct
flag but not for MenuItem(). (#1379, #1468, #2200, #4936, #5216, #7302, #7573)
This was mostly all previously in imgui_internal.h.
* Multi-Select: added multi-select API and demos. (#1861, #6518)
This system implements standard multi-selection idioms (CTRL+mouse
click, CTRL+keyboard moves, SHIFT+mouse click, SHIFT+keyboard moves,
etc.) with support for clipper (not submitting non-visible items),
box-selection with scrolling, and many other details.
In the spirit of Dear ImGui design, your code owns both items and actual
selection data. This is designed to allow all kinds of selection storage
you may use in your application (e.g. set/map/hash, intrusive selection,
interval trees, up to you).
The supported widgets are Selectable(), Checkbox(). TreeNode() is also
technically supported but... using this correctly is more complicated.
You need some sort of linear/random access to your tree, which is suited
to advanced trees setups already implementing filters and clipper.
We will work toward simplifying our existing demo for trees.
A helper ImGuiSelectionBasicStorage is provided to facilitate getting
started in a typical app (likely to suit a majority of users).
Documentation:
Wiki page https://github.com/ocornut/imgui/wiki/Multi-Select for
API overview.
Demo code + headers are well commented.
Added BeginMultiSelect(), EndMultiSelect(), SetNextItemSelectionUserData().
Added IsItemToggledSelection() for use if you need latest selection
update during current iteration.
Added ImGuiMultiSelectIO and ImGuiSelectionRequest structures:
BeginMultiSelect() and EndMultiSelect() return a ImGuiMultiSelectIO
structure, which is mostly an array of ImGuiSelectionRequest actions
(clear, select all, set range, etc.)
Other fields are helpful when using a clipper, or wanting to handle
deletion nicely.
Added ImGuiSelectionBasicStorage helper to store and maintain a
selection (optional):
This is similar to if you used e.g. a std::set to store a selection,
with all the right glue to honor ImGuiMultiSelectIO requests.
Most applications can use that.
Added ImGuiSelectionExternalStorage helper to maintain an externally
stored selection (optional):
Helpful to easily bind multi-selection to e.g. an array of checkboxes.
Added ImGuiMultiSelectFlags options:
ImGuiMultiSelectFlags_SingleSelect: Disable selecting more than one item.
This is available to allow single-selection code to share same code/logic
if desired. It essential...
-------------------------------------------------------------------
Fri Jul 26 06:22:12 UTC 2024 - Frantisek Simorda <frantisek.simorda@suse.com>

View File

@@ -17,7 +17,7 @@
Name: imgui
Version: 1.90.9
Version: 1.91.8
Release: 0
Summary: Immediate Mode Graphical User interface for C++ with minimal dependencies
License: MIT

BIN
v1.90.9.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
v1.91.8.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.