forked from Green-Sky/tomato
imgui update, not on version (1.91.0 WIP) Merge commit '1dccce80976b0dc3d9847ebe2e540244046f6ef6'
This commit is contained in:
154
external/imgui/imgui/docs/CHANGELOG.txt
vendored
154
external/imgui/imgui/docs/CHANGELOG.txt
vendored
@ -35,6 +35,154 @@ HOW TO UPDATE?
|
||||
and API updates have been a little more frequent lately. They are documented below and in imgui.cpp and should not affect all users.
|
||||
- Please report any issue!
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
VERSION 1.91.0 WIP (In Progress)
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
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.
|
||||
- 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 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)
|
||||
Default to use ShellExecute() under Windows, and system("") under Mac/Linux/etc.
|
||||
Added IMGUI_DISABLE_DEFAULT_SHELL_FUNCTIONS to disable default implementation.
|
||||
- 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.
|
||||
- Clipper: added SeekCursorForItem() function. When using ImGuiListClipper::Begin(INT_MAX) you can
|
||||
can use the clipper without knowing the amount of items beforehand. (#1311)
|
||||
In this situation, call ImGuiListClipper::SeekCursorForItem(items_count) as the end of your iteration
|
||||
loop to position the layout cursor correctly. This is done automatically if provided a count to Begin().
|
||||
- Style: close button and collapse/window-menu button hover highlight made rectangular instead of round.
|
||||
- Debug Tools: Added IMGUI_DEBUG_LOG(), ImGui::DebugLog() in public API. (#5855)
|
||||
Debug log entries add a imgui frame counter prefix + are redirected to ShowDebugLogWindow() and
|
||||
other configurable locations. Always call IMGUI_DEBUG_LOG() for maximum stripping in caller code.
|
||||
- Debug Tools: Debug Log: Added "Configure Outputs.." button. (#5855)
|
||||
- Demo: Reworked "Property Editor" demo in a manner that more ressemble the tree data and
|
||||
struct description data that a real application would want to use.
|
||||
- Backends: Win32: Fixed ImGuiMod_Super being mapped to VK_APPS instead of VK_LWIN||VK_RWIN.
|
||||
(#7768, #4858, #2622) [@Aemony]
|
||||
- Backends: SDL3: Update for API changes: SDLK_x renames and SDLK_KP_x removals (#7761, #7762)
|
||||
- Backends: SDL3: Update for API changes: SDL_GetProperty() change to SDL_GetPointerProperty(). (#7794) [@wermipls]
|
||||
- Backends: SDL2,SDL3,OSX: Update for io.SetPlatformImeDataFn() -> io.PlatformSetImeDataFn() rename.
|
||||
- Backends: GLFW,SDL2: Added io.PlatformOpenInShellFn handler for web/Emscripten versions. (#7660)
|
||||
[@ypujante, @ocornut]
|
||||
- Backends; GLFW+Emscripten: Added support for GLFW3 contrib port which fixes many of the things
|
||||
not supported by the embedded GLFW: gamepad support, mouse cursor shapes, copy to clipboard,
|
||||
workaround for Super/Meta key, different ways of resizing, multi-window (glfw/canvas) support.
|
||||
(#7647) [@ypujante]
|
||||
- Backends: GLFW+Emscripten: Fixed Emscripten warning when using mouse wheel on some setups
|
||||
"Unable to preventDefault inside passive event listener". (#7647, #7600) [@ypujante]
|
||||
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
VERSION 1.90.9 (Released 2024-07-01)
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v1.90.9
|
||||
|
||||
Breaking changes:
|
||||
|
||||
- Removed old nested structure: renaming ImGuiStorage::ImGuiStoragePair type to
|
||||
ImGuiStoragePair (simpler for many languages). No significant nested type left.
|
||||
- BeginChild: added ImGuiChildFlags_NavFlattened as a replacement for the window
|
||||
flag ImGuiWindowFlags_NavFlattened: the feature only ever made sense for
|
||||
BeginChild() calls anyhow. (#7687) [@cfillion]
|
||||
- old: BeginChild("Name", size, 0, ImGuiWindowFlags_NavFlattened);
|
||||
- new: BeginChild("Name", size, ImGuiChildFlags_NavFlattened, 0)
|
||||
Kept inline redirection flag (will obsolete).
|
||||
- Style: renamed tab colors for clarity and consistency with other changes: (#261, #351)
|
||||
- ImGuiCol_TabActive -> ImGuiCol_TabSelected
|
||||
- ImGuiCol_TabUnfocused -> ImGuiCol_TabDimmed
|
||||
- ImGuiCol_TabUnfocusedActive -> ImGuiCol_TabDimmedSelected
|
||||
Kept inline redirecting enums (will obsolete).
|
||||
- IO: io.ClearInputKeys() (first exposed in 1.89.8) doesn't clear mouse data.
|
||||
Newly added io.ClearInputMouse() does. (#4921)
|
||||
- Drag and Drop: renamed ImGuiDragDropFlags_SourceAutoExpirePayload to
|
||||
ImGuiDragDropFlags_PayloadAutoExpire. Kept inline redirecting enum (will obsolete). (#1725, #143)
|
||||
|
||||
Other changes:
|
||||
|
||||
- IO: do not disable io.ConfigWindowsResizeFromEdges (which allow resizing from borders
|
||||
and lower-left corner) when ImGuiBackendFlags_HasMouseCursors is not set by backend.
|
||||
The initial reasoning is that resizing from borders feels better when correct mouse cursor
|
||||
shape change as honored by backends. Keeping this enabling will hopefully increase pressure
|
||||
on third-party backends to set ImGuiBackendFlags_HasMouseCursors and honor changes of
|
||||
ImGui::GetMouseCursor() value. (#1495)
|
||||
- IO: do not claim io.WantCaptureMouse=true on the mouse release frame of a button
|
||||
which was pressed over void/underlying app, which is consistent/needed to allow the
|
||||
mouse up event of a drag over void/underlying app to catch release. (#1392) [@Moka42]
|
||||
- IO: Added io.ClearInputMouse() to clear mouse state. (#4921)
|
||||
- Windows: BeginChild(): fixed a glitch when during a resize of a child window which is
|
||||
tightly close to the boundaries of its parent (e.g. with zero WindowPadding), the child
|
||||
position could have temporarily be moved around by erroneous padding application. (#7706)
|
||||
- TabBar, Style: added ImGuiTabBarFlags_DrawSelectedOverline option to draw an horizontal
|
||||
line over selected tabs to increase visibility. This is used by docking.
|
||||
Added corresponding ImGuiCol_TabSelectedOverline and ImGuiCol_TabDimmedSelectedOverline colors.
|
||||
- Tables: added TableGetHoveredColumn() to public API, as an alternative to testing for
|
||||
'TableGetColumnFlags(column) & ImGuiTableColumnFlags_IsHovered' on each column. (#3740)
|
||||
- Disabled, Inputs: fixed using Shortcut() or SetNextItemShortcut() within a disabled block
|
||||
bypassing the disabled state. (#7726)
|
||||
- Disabled: Reworked 1.90.8 behavior of Begin() not inheriting current BeginDisabled() state,
|
||||
to make it that only tooltip windows are temporarily clearing it. (#211, #7640)
|
||||
- Drags: added ImGuiSliderFlags_WrapAround flag for DragInt(), DragFloat() etc. (#7749)
|
||||
- Drag and Drop: BeginDragDropSource() with ImGuiDragDropFlags_SourceExtern sets
|
||||
active id so a multi-frame extern source doesn't interfere with hovered widgets. (#143)
|
||||
- Drag and Drop: BeginDragDropSource() with ImGuiDragDropFlags_SourceExtern does not assume
|
||||
a mouse button being pressed. Facilitate implementing cross-context drag and drop. (#143)
|
||||
- Drag and Drop: Added ImGuiDragDropFlags_PayloadNoCrossContext/_PayloadNoCrossProcess flags
|
||||
as metadata to specify that a payload may not be copied outside the context/process by
|
||||
some logic aiming to copy payloads around.
|
||||
- Drag and Drop: Fixes an issue when elapsing payload would be based on last payload
|
||||
frame instead of last drag source frame, which makes a difference if not resubmitting
|
||||
payload every frame. (#143)
|
||||
- Debug Tools: Metrics/Debugger: Browsing a Storage perform hover lookup on identifier.
|
||||
- Viewports: Backported 'void* ImGuiViewport::PlatformHandle' from docking branch for
|
||||
use by backends.
|
||||
- imgui_freetype: Fixed divide by zero while handling FT_PIXEL_MODE_BGRA glyphs. (#7267, #3369)
|
||||
- Backends: OpenGL2, OpenGL3: ImGui_ImplOpenGL3_NewFrame() recreates font texture if it
|
||||
has been destroyed by ImGui_ImplOpenGL3_DestroyFontsTexture(). (#7748) [@mlauss2]
|
||||
- Backends: SDL3: Update for API removal of keysym field in SDL_KeyboardEvent. (#7728)
|
||||
- Backends: SDL3: Update for SDL_StartTextInput()/SDL_StopTextInput() API changes. (#7735)
|
||||
- Backends: SDL3: Update for SDL_SetTextInputRect() API rename. (#7760, #7754) [@maxortner01]
|
||||
- Backends: SDLRenderer3: Update for SDL_RenderGeometryRaw() API changes. (SDL#9009).
|
||||
- Backends: Vulkan: Remove Volk/ from volk.h #include directives. (#7722, #6582, #4854)
|
||||
[@martin-ejdestig]
|
||||
- Examples: SDL3: Remove use of SDL_HINT_IME_NATIVE_UI since new SDL_HINT_IME_IMPLEMENTED_UI
|
||||
values has a more suitable default for our case case.
|
||||
- Examples: GLFW+Vulkan, SDL+Vulkan: handle swap chain resize even without Vulkan
|
||||
returning VK_SUBOPTIMAL_KHR, which doesn't seem to happen on Wayland. (#7671)
|
||||
[@AndreiNego, @ocornut]
|
||||
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
VERSION 1.90.8 (Released 2024-06-06)
|
||||
-----------------------------------------------------------------------
|
||||
@ -800,7 +948,7 @@ Breaking changes:
|
||||
|
||||
- IO: Obsoleted io.ClearInputCharacters() (added in 1.47) as it now ambiguous
|
||||
and often incorrect/misleading considering the existence of a higher-level
|
||||
input queue. This is automatically cleared by io.ClearInputsKeys(). (#4921)
|
||||
input queue. This is automatically cleared by io.ClearInputKeys(). (#4921)
|
||||
- ImDrawData: CmdLists[] array is now owned, changed from 'ImDrawList**' to
|
||||
'ImVector<ImDrawList*>'. Majority of users shouldn't be affected, but you
|
||||
cannot compare to NULL nor reassign manually anymore.
|
||||
@ -838,10 +986,10 @@ Other changes:
|
||||
will slightly reduce scrollbar size. Generally we tried to make it that window
|
||||
border size has no incidence on layout but this can't work with thick borders. (#2522)
|
||||
- IO: Added io.ClearEventsQueue() to clear incoming inputs events. (#4921)
|
||||
May be useful in conjunction with io.ClearInputsKeys() if you need to clear
|
||||
May be useful in conjunction with io.ClearInputKeys() if you need to clear
|
||||
both current inputs state and queued events (e.g. when using blocking native
|
||||
dialogs such as Windows's ::MessageBox() or ::GetOpenFileName()).
|
||||
- IO: Changed io.ClearInputsKeys() specs to also clear current frame character buffer
|
||||
- IO: Changed io.ClearInputKeys() specs to also clear current frame character buffer
|
||||
(what now obsoleted io.ClearInputCharacters() did), as this is effectively the
|
||||
desirable behavior.
|
||||
- Misc: Added IMGUI_DISABLE_STB_SPRINTF_IMPLEMENTATION config macro to disable
|
||||
|
2
external/imgui/imgui/docs/FAQ.md
vendored
2
external/imgui/imgui/docs/FAQ.md
vendored
@ -639,7 +639,7 @@ The applications in examples/ are doing that.
|
||||
Windows: you can use the WM_CHAR or WM_UNICHAR or WM_IME_CHAR message (depending if your app is built using Unicode or MultiByte mode).
|
||||
You may also use `MultiByteToWideChar()` or `ToUnicode()` to retrieve Unicode codepoints from MultiByte characters or keyboard state.
|
||||
Windows: if your language is relying on an Input Method Editor (IME), you can write your HWND to ImGui::GetMainViewport()->PlatformHandleRaw
|
||||
for the default implementation of io.SetPlatformImeDataFn() to set your Microsoft IME position correctly.
|
||||
for the default implementation of io.PlatformSetImeDataFn() to set your Microsoft IME position correctly.
|
||||
|
||||
##### [Return to Index](#index)
|
||||
|
||||
|
Reference in New Issue
Block a user