Imgui

Latest version: v2.0.0

Safety actively analyzes 689579 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 7

1.72

-----------------------------------------------------------------------

Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v1.72

Breaking Changes:

- Removed redirecting functions/enums names that were marked obsolete in 1.51 (June 2017):
- ImGuiCol_Column*, ImGuiSetCond_* enums.
- IsItemHoveredRect(), IsPosHoveringAnyWindow(), IsMouseHoveringAnyWindow(), IsMouseHoveringWindow() functions.
- IMGUI_ONCE_UPON_A_FRAME macro.
If you were still using the old names, read "API Breaking Changes" section of imgui.cpp to find out
the new names or equivalent features.
- Renamed ImFontAtlas::CustomRect to ImFontAtlasCustomRect. Kept redirection typedef (will obsolete).
- Removed TreeAdvanceToLabelPos() which is rarely used and only does SetCursorPosX(GetCursorPosX() + GetTreeNodeToLabelSpacing()).
Kept redirection function (will obsolete). (581, 324)

Other Changes:

- Scrolling: Made mouse-wheel scrolling lock the underlying window until the mouse is moved again or
until a short delay expires (~2 seconds). This allow uninterrupted scroll even if child windows are
passing under the mouse cursor. (2604)
- Scrolling: Made it possible for mouse wheel and navigation-triggered scrolling to override a call to
SetScrollX()/SetScrollY(), making it possible to use a simpler stateless pattern for auto-scrolling:
// (Submit items..)
if (ImGui::GetScrollY() >= ImGui::GetScrollMaxY()) // If scrolling at the already at the bottom..
ImGui::SetScrollHereY(1.0f); // ..make last item fully visible
- Scrolling: Added SetScrollHereX(), SetScrollFromPosX() for completeness. (1580) [kevreco]
- Scrolling: Mouse wheel scrolling while hovering a child window is automatically forwarded to parent window
if ScrollMax is zero on the scrolling axis.
Also still the case if ImGuiWindowFlags_NoScrollWithMouse is set (not new), but previously the forwarding
would be disabled if ImGuiWindowFlags_NoScrollbar was set on the child window, which is not the case
any more. Forwarding can still be disabled by setting ImGuiWindowFlags_NoInputs. (amend 1502, 1380).
- Window: Fixed InnerClipRect right-most coordinates using wrong padding setting (introduced in 1.71).
- Window: Fixed old SetWindowFontScale() api value from not being inherited by child window. Added
comments about the right way to scale your UI (load a font at the right side, rebuild atlas, scale style).
- Scrollbar: Avoid overlapping the opposite side when window (often a child window) is forcibly too small.
- Combo: Hide arrow when there's not enough space even for the square button.
- InputText: Testing for newly added ImGuiKey_KeyPadEnter key. (2677, 2005) [amc522]
- Tabs: Fixed unfocused tab bar separator color (was using ImGuiCol_Tab, should use ImGuiCol_TabUnfocusedActive).
- Columns: Fixed a regression from 1.71 where the right-side of the contents rectangle within each column
would wrongly use a WindowPadding.x instead of ItemSpacing.x like it always did. (125, 2666)
- Columns: Made the right-most edge reaches up to the clipping rectangle (removing half of WindowPadding.x
worth of asymmetrical/extraneous padding, note that there's another half that conservatively has to offset
the right-most column, otherwise it's clipping width won't match the other columns). (125, 2666)
- Columns: Improved honoring alignment with various values of ItemSpacing.x and WindowPadding.x. (125, 2666)
- Columns: Made GetColumnOffset() and GetColumnWidth() behave when there's no column set, consistently with
other column functions. (2683)
- InputTextMultiline: Fixed vertical scrolling tracking glitch.
- Word-wrapping: Fixed overzealous word-wrapping when glyph edge lands exactly on the limit. Because
of this, auto-fitting exactly unwrapped text would make it wrap. (fixes initial 1.15 commit, 78645a7d).
- Style: Attenuated default opacity of ImGuiCol_Separator in Classic and Light styles.
- Style: Added style.ColorButtonPosition (left/right, defaults to ImGuiDir_Right) to move the color button
of ColorEdit3/ColorEdit4 functions to either side of the inputs.
- IO: Added ImGuiKey_KeyPadEnter and support in various backends (previously backends would need to
specifically redirect key-pad keys to their regular counterpart). This is a temporary attenuating measure
until we actually refactor and add whole sets of keys into the ImGuiKey enum. (2677, 2005) [amc522]
- Misc: Made Button(), ColorButton() not trigger an "edited" event leading to IsItemDeactivatedAfterEdit()
returning true. This also effectively make ColorEdit4() not incorrect trigger IsItemDeactivatedAfterEdit()
when clicking the color button to open the picker popup. (1875)
- Misc: Added IMGUI_DISABLE_METRICS_WINDOW imconfig.h setting to explicitly compile out ShowMetricsWindow().
- Debug Tools: Added "Metrics->Tools->Item Picker" tool which allow clicking on a widget to break in the
debugger within the item code. The tool calls IM_DEBUG_BREAK() which can be redefined in imconfig.h.
- ImDrawList: Fixed CloneOutput() helper crashing. (1860) [gviot]
- ImDrawList::ChannelsSplit(), ImDrawListSplitter: Fixed an issue with merging draw commands between
channel 0 and 1. (2624)
- ImDrawListSplitter: Fixed memory leak when using low-level split api (was not affecting ImDrawList api,
also this type was added in 1.71 and not advertised as a public-facing feature).
- Fonts: binary_to_compressed_c.cpp: Display an error message if failing to open/read the input font file.
- Demo: Log, Console: Using a simpler stateless pattern for auto-scrolling.
- Demo: Widgets: Showing how to use the format parameter of Slider/Drag functions to display the name
of an enum value instead of the underlying integer value.
- Demo: Renamed the "Help" menu to "Tools" (more accurate).
- Backends: DX10/DX11: Backup, clear and restore Geometry Shader is any is bound when calling renderer.
- Backends: DX11: Clear Hull Shader, Domain Shader, Compute Shader before rendering. Not backing/restoring them.
- Backends: OSX: Disabled default native Mac clipboard copy/paste implementation in core library (added in 1.71),
because it needs application to be linked with '-framework ApplicationServices'. It can be explicitly
enabled back by using 'define IMGUI_ENABLE_OSX_DEFAULT_CLIPBOARD_FUNCTIONS' in imconfig.h. Re-added
equivalent using NSPasteboard api in the imgui_impl_osx.mm experimental backend. (2546)
- Backends: SDL2: Added ImGui_ImplSDL2_InitForD3D() function to make D3D support more visible.
(2482, 2632) [josiahmanson]
- Examples: Added SDL2+DirectX11 example application. (2632, 2612, 2482) [vincenthamm]


-----------------------------------------------------------------------

1.72b

-----------------------------------------------------------------------

Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v1.72b

Other Changes:

- Nav, Scrolling: Fixed programmatic scroll leading to a slightly incorrect scroll offset when
the window has decorations or a menu-bar (broken in 1.71). This was mostly noticeable when
a keyboard/gamepad movement led to scrolling the view, or using e.g. SetScrollHereY() function.
- Nav: Made hovering non-MenuItem Selectable not re-assign the source item for keyboard navigation.
- Nav: Fixed an issue with NavFlattened window flag (beta) where widgets not entirely fitting
in child window (often selectables because of their protruding sides) would be not considered
as entry points to to navigate toward the child window. (787)


-----------------------------------------------------------------------

1.71

-----------------------------------------------------------------------

Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v1.71

Breaking Changes:

- IO: changed AddInputCharacter(unsigned short c) signature to AddInputCharacter(unsigned int c).
- Renamed SetNextTreeNodeOpen() to SetNextItemOpen(). Kept inline redirection function (will obsolete).
- Window: rendering of child windows outer decorations (e.g. bg color, border, scrollbars) is now
performed as part of their parent window, avoiding the creation of an extraneous draw commands.
If you have overlapping child windows with decorations, and relied on their relative z-order to be
mapped to submission their order, this will affect your rendering. The optimization is disabled
if the parent window has no visual output because it appears to be the most common situation leading
to the creation of overlapping child windows. Please reach out if you are affected by this change!

Other Changes:

- Window: clarified behavior of SetNextWindowContentSize(). Content size is defined as the size available
after removal of WindowPadding on each sides. So SetNextWindowContentSize(ImVec2(100,100)) + auto-resize
will always allow submitting a 100x100 item without creating a scrollbar, regarding of WindowPadding.
The exact meaning of ContentSize for decorated windows was previously ill-defined.
- Window: Fixed auto-resize with AlwaysVerticalScrollbar or AlwaysHorizontalScrollbar flags.
- Window: Fixed one case where auto-resize by double-clicking the resize grip would make either scrollbar
appear for a single frame after the resize.
- Separator: Revert 1.70 "Declare its thickness (1.0f) to the layout" change. It's not incorrect
but it breaks existing some layout patterns. Will return back to it when we expose Separator flags.
- Fixed InputScalar, InputScalarN, SliderScalarN, DragScalarN with non-visible label from inserting
style.ItemInnerSpacing.x worth of trailing spacing.
- Fixed InputFloatX, SliderFloatX, DragFloatX functions erroneously reporting IsItemEdited() multiple
times when the text input doesn't match the formatted output value (e.g. input "1" shows "1.000").
It wasn't much of a problem because we typically use the return value instead of IsItemEdited() here.
- Fixed uses of IsItemDeactivated(), IsItemDeactivatedAfterEdit() on multi-components widgets and
after EndGroup(). (2550, 1875)
- Fixed crash when appending with BeginMainMenuBar() more than once and no other window are showing. (2567)
- ColorEdit: Fixed the color picker popup only displaying inputs as HSV instead of showing multiple
options. (2587, broken in 1.69 by 2384).
- CollapsingHeader: Better clipping when a close button is enabled and it overlaps the label. (600)
- Scrollbar: Minor bounding box adjustment to cope with various border size.
- Scrollbar, Style: Changed default style.ScrollbarSize from 16 to 14.
- Combo: Fixed rounding not applying with the ImGuiComboFlags_NoArrowButton flag. (2607) [DucaRii]
- Nav: Fixed gamepad/keyboard moving of window affecting contents size incorrectly, sometimes leading
to scrollbars appearing during the movement.
- Nav: Fixed rare crash when e.g. releasing Alt-key while focusing a window with a menu at the same
frame as clearing the focus. This was in most noticeable in backends such as Glfw and SDL which
emits key release events when focusing another viewport, leading to Alt+clicking on void on another
viewport triggering the issue. (2609)
- TreeNode, CollapsingHeader: Fixed highlight frame not covering horizontal area fully when using
horizontal scrolling. (2211, 2579)
- Tabs: Fixed BeginTabBar() within a window with horizontal scrolling from creating a feedback
loop with the horizontal contents size.
- Columns: Fixed Columns() within a window with horizontal scrolling from not covering the full
horizontal area (previously only worked with an explicit contents size). (125)
- Columns: Fixed Separator from creating an extraneous draw command. (125)
- Columns: Fixed Selectable with SpanAllColumns flag from creating an extraneous draw command. (125)
- Style: Added style.WindowMenuButtonPosition (left/right, defaults to ImGuiDir_Left) to move the
collapsing/docking button to the other side of the title bar.
- Style: Made window close button cross slightly smaller.
- Log/Capture: Fixed BeginTabItem() label not being included in a text log/capture.
- ImDrawList: Added ImDrawCmd::VtxOffset value to support large meshes (64k+ vertices) using 16-bit indices.
The renderer backend needs to set 'io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset' to enable
this, and honor the ImDrawCmd::VtxOffset field. Otherwise the value will always be zero. (2591)
This has the advantage of preserving smaller index buffers and allowing to execute on hardware that do not
support 32-bit indices. Most examples backends have been modified to support the VtxOffset field.
- ImDrawList: Added ImDrawCmd::IdxOffset value, equivalent to summing element count for each draw command.
This is provided for convenience and consistency with VtxOffset. (2591)
- ImDrawCallback: Allow to override the signature of ImDrawCallback by define-ing it. This is meant to
facilitate custom rendering backends passing local render-specific data to the draw callback.
- ImFontAtlas: FreeType: Added RasterizerFlags::Monochrome flag to disable font anti-aliasing. Combine
with RasterizerFlags::MonoHinting for best results. (2545) [HolyBlackCat]
- ImFontGlyphRangesBuilder: Fixed unnecessarily over-sized buffer, which incidentally was also not
fully cleared. Fixed edge-case overflow when adding character 0xFFFF. (2568). [NIKE3500]
- Demo: Added full "Dear ImGui" prefix to the title of "Dear ImGui Demo" and "Dear ImGui Metrics" windows.
- Backends: Add native Mac clipboard copy/paste default implementation in core library to match what we are
dealing with Win32, and to facilitate integration in custom engines. (2546) [andrewwillmott]
- Backends: OSX: imgui_impl_osx: Added mouse cursor support. (2585, 1873) [actboy168]
- Examples/Backends: DirectX9/10/11/12, Metal, Vulkan, OpenGL3 (Desktop GL only): Added support for large meshes
(64k+ vertices) with 16-bit indices, enable 'ImGuiBackendFlags_RendererHasVtxOffset' in those backends. (2591)
- Examples/Backends: Don't filter characters under 0x10000 before calling io.AddInputCharacter(),
the filtering is done in io.AddInputCharacter() itself. This is in prevision for fuller Unicode
support. (2538, 2541)


-----------------------------------------------------------------------

1.70

-----------------------------------------------------------------------

Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v1.70

Breaking Changes:

- ImDrawList: Improved algorithm for mitre joints on thick lines, preserving correct thickness
up to 90 degrees angles (e.g. rectangles). If you have custom rendering using thick lines,
they will appear a little thicker now. (2518) [rmitton]
- Obsoleted GetContentRegionAvailWidth(), use GetContentRegionAvail().x instead.
Kept inline redirection function.
- Examples: Vulkan: Added MinImageCount/ImageCount fields in ImGui_ImplVulkan_InitInfo, required
during initialization to specify the number of in-flight image requested by swap chains.
(was previously a hard define IMGUI_VK_QUEUED_FRAMES 2). (2071, 1677) [nathanvoglsam]
- Examples: Vulkan: Tidying up the demo/internals helpers (most engine/app should not rely
on them but it is possible you have!).

Other Changes:

- ImDrawList: Added ImDrawCallback_ResetRenderState, a special ImDrawList::AddCallback() value
to request the renderer backend to reset its render state. (2037, 1639, 2452)
Examples: Added support for ImDrawCallback_ResetRenderState in all renderer backends. Each
renderer code setting up initial render state has been moved to a function so it could be
called at the start of rendering and when a ResetRenderState is requested. [ocornut, bear24rw]
- InputText: Fixed selection background rendering one frame after the cursor movement when
first transitioning from no-selection to has-selection. (Bug in 1.69) (2436) [Nazg-Gul]
- InputText: Work-around for buggy standard libraries where isprint('\t') returns true. (2467, 1336)
- InputText: Fixed ImGuiInputTextFlags_AllowTabInput leading to two tabs characters being inserted
if the backend provided both Key and Character input. (2467, 1336)
- Layout: Added SetNextItemWidth() helper to avoid using PushItemWidth/PopItemWidth() for single items.
Note that SetNextItemWidth() currently only affect the same subset of items as PushItemWidth(),
generally referred to as the large framed+labeled items. Because the new SetNextItemWidth()
function is explicit we may later extend its effect to more items.
- Layout: Fixed PushItemWidth(-width) for right-side alignment laying out some items (button, listbox, etc.)
with negative sizes if the 'width' argument was smaller than the available width at the time of item
submission.
- Window: Fixed window with the AlwaysAutoResize flag unnecessarily extending their hovering boundaries
by a few pixels (this is used to facilitate resizing from borders when available for a given window).
One of the noticeable minor side effect was that navigating menus would have had a tendency to disable
highlight from parent menu items earlier than necessary while approaching the child menu.
- Window: Close button is horizontally aligned with style.FramePadding.x.
- Window: Fixed contents region being off by WindowBorderSize amount on the right when scrollbar is active.
- Window: Fixed SetNextWindowSizeConstraints() with non-rounded positions making windows drift. (2067, 2530)
- Popups: Closing a popup restores the focused/nav window in place at the time of the popup opening,
instead of restoring the window that was in the window stack at the time of the OpenPopup call. (2517)
Among other things, this allows opening a popup while no window are focused, and pressing Escape to
clear the focus again.
- Popups: Fixed right-click from closing all popups instead of aiming at the hovered popup level
(regression in 1.67).
- Selectable: With ImGuiSelectableFlags_AllowDoubleClick doesn't return true on the mouse button release
following the double-click. Only first mouse release + second mouse down (double-click) returns true.
Likewise for internal ButtonBehavior() with both _PressedOnClickRelease | _PressedOnDoubleClick. (2503)
- GetMouseDragDelta(): also returns the delta on the mouse button released frame. (2419)
- GetMouseDragDelta(): verify that mouse positions are valid otherwise returns zero.
- Inputs: Also add support for horizontal scroll with Shift+Mouse Wheel. (2424, 1463) [LucaRood]
- PlotLines, PlotHistogram: Ignore NaN values when calculating min/max bounds. (2485)
- Columns: Fixed boundary of clipping being off by 1 pixel within the left column. (125)
- Separator: Declare its thickness (1.0f) to the layout, making items around separator more symmetrical.
- Combo, Slider, Scrollbar: Improve rendering in situation when there's only a few pixels available (<3 pixels).
- Nav: Fixed Drag/Slider functions going into text input mode when keyboard CTRL is held while pressing NavActivate.
- Drag and Drop: Fixed drag source with ImGuiDragDropFlags_SourceAllowNullID and null ID from receiving click
regardless of being covered by another window (it didn't honor correct hovering rules). (2521)
- ImDrawList: Improved algorithm for mitre joints on thick lines, preserving correct thickness up to 90 degrees
angles, also faster to output. (2518) [rmitton]
- Misc: Added IM_MALLOC/IM_FREE macros mimicking IM_NEW/IM_DELETE so user doesn't need to revert
to using the ImGui::MemAlloc()/MemFree() calls directly.
- Misc: Made IMGUI_CHECKVERSION() macro also check for matching size of ImDrawIdx.
- Metrics: Added "Show windows rectangles" tool to visualize the different rectangles.
- Demo: Improved trees in columns demo.
- Examples: OpenGL: Added a test GL call + comments in ImGui_ImplOpenGL3_Init() to detect uninitialized
GL function loaders early, and help users understand what they are missing. (2421)
- Examples: SDL: Added support for SDL_GameController gamepads (enable with ImGuiConfigFlags_NavEnableGamepad). (2509) [DJLink]
- Examples: Emscripten: Added Emscripten+SDL+GLES2 example. (2494, 2492, 2351, 336) [nicolasnoble, redblobgames]
- Examples: Metal: Added Glfw+Metal example. (2527) [bear24rw]
- Examples: OpenGL3: Minor tweaks + not calling glBindBuffer more than necessary in the render loop.
- Examples: Vulkan: Fixed in-flight buffers issues when using multi-viewports. (2461, 2348, 2378, 2097)
- Examples: Vulkan: Added missing support for 32-bit indices (define ImDrawIdx unsigned int).
- Examples: Vulkan: Avoid passing negative coordinates to vkCmdSetScissor, which debug validation layers do not like.
- Examples: Vulkan: Added ImGui_ImplVulkan_SetMinImageCount() to change min image count at runtime. (2071) [nathanvoglsam]
- Examples: DirectX9: Fixed erroneous assert in ImGui_ImplDX9_InvalidateDeviceObjects(). (2454)
- Examples: DirectX10/11/12, Allegro, Marmalade: Render functions early out when display size is zero (minimized). (2496)
- Examples: GLUT: Fixed existing FreeGLUT example to work with regular GLUT. (2465) [andrewwillmott]
- Examples: GLUT: Renamed imgui_impl_freeglut.cpp/.h to imgui_impl_glut.cpp/.h. (2465) [andrewwillmott]
- Examples: GLUT: Made io.DeltaTime always > 0. (2430)
- Examples: Visual Studio: Updated default platform toolset+sdk in vcproj files from v100+sdk7 (vs2010)
to v110+sdk8 (vs2012). This is mostly so we can remove reliance on DXSDK_DIR for the DX10/DX11 example,
which if existing and when switching to recent SDK ends up conflicting and creating warnings.


-----------------------------------------------------------------------

1.69

-----------------------------------------------------------------------

Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v1.69

Breaking Changes:

- Renamed ColorEdit/ColorPicker's ImGuiColorEditFlags_RGB/_HSV/_HEX flags to respectively
ImGuiColorEditFlags_DisplayRGB/_DisplayHSV/_DisplayHex. This is because the addition of
new flag ImGuiColorEditFlags_InputHSV makes the earlier one ambiguous.
Kept redirection enum values (will obsolete). (2384) [haldean]
- Renamed GetOverlayDrawList() to GetForegroundDrawList(). Kept redirection function (will obsolete). (2391)

Other Changes:

- Added GetBackgroundDrawList() helper to quickly get access to a ImDrawList that will be rendered
behind every other windows. (2391, 545)
- DragScalar, InputScalar, SliderScalar: Added support for u8/s8/u16/s16 data types (ImGuiDataType_S8, etc.)
We are reusing function instances of larger types to reduce code size. (643, 320, 708, 1011)
- Added InputTextWithHint() to display a description/hint in the text box when no text
has been entered. (2400) [Organic-Code, ocornut]
- Nav: Fixed a tap on AltGR (e.g. German keyboard) from navigating to the menu layer.
- Nav: Fixed Ctrl+Tab keeping active InputText() of a previous window active after the switch. (2380)
- Fixed IsItemDeactivated()/IsItemDeactivatedAfterEdit() from not correctly returning true
when tabbing out of a focusable widget (Input/Slider/Drag) in most situations. (2215, 1875)
- InputInt, InputFloat, InputScalar: Fix to keep the label of the +/- buttons centered when
style.FramePadding.x is abnormally larger than style.FramePadding.y. Since the buttons are
meant to be square (to align with e.g. color button) we always use FramePadding.y. (2367)
- InputInt, InputScalar: +/- buttons now respects the natural type limits instead of
overflowing or underflowing the value.
- InputText: Fixed an edge case crash that would happen if another widget sharing the same ID
is being swapped with an InputText that has yet to be activated.
- InputText: Fixed various display corruption related to swapping the underlying buffer while
a input widget is active (both for writable and read-only paths). Often they would manifest
when manipulating the scrollbar of a multi-line input text.
- ColorEdit, ColorPicker, ColorButton: Added ImGuiColorEditFlags_InputHSV to manipulate color
values encoded as HSV (in order to avoid HSV<>RGB round trips and associated singularities).
(2383, 2384) [haldean]
- ColorPicker: Fixed a bug/assertion when displaying a color picker in a collapsed window
while dragging its title bar. (2389)
- ColorEdit: Fixed tooltip not honoring the ImGuiColorEditFlags_NoAlpha contract of never
reading the 4th float in the array (value was read and discarded). (2384) [haldean]
- MenuItem, Selectable: Fixed disabled widget interfering with navigation (fix c2db7f63 in 1.67).
- Tabs: Fixed a crash when using many BeginTabBar() recursively (didn't affect docking). (2371)
- Tabs: Added extra mis-usage error recovery. Past the assert, common mis-usage don't lead to
hard crashes any more, facilitating integration with scripting languages. (1651)
- Tabs: Fixed ImGuiTabItemFlags_SetSelected being ignored if the tab is not visible (with
scrolling policy enabled) or if is currently appearing.
- Tabs: Fixed Tab tooltip code making drag and drop tooltip disappear during the frame where
the drag payload activate a tab.
- Tabs: Reworked scrolling policy (when ImGuiTabBarFlags_FittingPolicyScroll is set) to
teleport the view when aiming at a tab far away the visible section, and otherwise accelerate
the scrolling speed to cap the scrolling time to 0.3 seconds.
- Text: Fixed large Text/TextUnformatted calls not feeding their size into layout when starting
below the lower point of the current clipping rectangle. This bug has been there since v1.0!
It was hardly noticeable but would affect the scrolling range, which in turn would affect
some scrolling request functions when called during the appearing frame of a window.
- Plot: Fixed divide-by-zero in PlotLines() when passing a count of 1. (2387) [Lectem]
- Log/Capture: Fixed LogXXX functions emitting extraneous leading carriage return.
- Log/Capture: Fixed an issue when empty string on a new line would not emit a carriage return.
- Log/Capture: Fixed LogXXX functions 'auto_open_depth' parameter being treated as an absolute
tree depth instead of a relative one.
- Log/Capture: Fixed CollapsingHeader trailing ascii representation being "" instead of "".
- ImFont: Added GetGlyphRangesVietnamese() helper. (2403)
- Misc: Asserting in NewFrame() if style.WindowMinSize is zero or smaller than (1.0f,1.0f).
- Demo: Using GetBackgroundDrawList() and GetForegroundDrawList() in "Custom Rendering" demo.
- Demo: InputText: Demonstrating use of ImGuiInputTextFlags_CallbackResize. (2006, 1443, 1008).
- Examples: GLFW, SDL: Preserve DisplayFramebufferScale when main viewport is minimized.
(This is particularly useful for the viewport branch because we are not supporting per-viewport
frame-buffer scale. It fixes windows not refreshing when main viewport is minimized.) (2416)
- Examples: OpenGL: Fix to be able to run on ES 2.0 / WebGL 1.0. [rmitton, gabrielcuvillier]
- Examples: OpenGL: Fix for OSX not supporting OpenGL 4.5, we don't try to read GL_CLIP_ORIGIN
even if the OpenGL headers/loader happens to define the value. (2366, 2186)
- Examples: Allegro: Added support for touch events (emulating mouse). (2219) [dos1]
- Examples: DirectX9: Minor changes to match the other DirectX examples more closely. (2394)


-----------------------------------------------------------------------

1.68

-----------------------------------------------------------------------

Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v1.68

Breaking Changes:

- Removed io.DisplayVisibleMin/DisplayVisibleMax (which were marked obsolete and removed from viewport/docking branch already).
- Made it illegal/assert when io.DisplayTime == 0.0f (with an exception for the first frame).
If for some reason your time step calculation gives you a zero value, replace it with a arbitrarily small value!

Other Changes:

- Added .editorconfig file for text editors to standardize using spaces. (2038) [kudaba]
- ImDrawData: Added FramebufferScale field (currently a copy of the value from io.DisplayFramebufferScale).
This is to allow render functions being written without pulling any data from ImGuiIO, allowing incoming
multi-viewport feature to behave on Retina display and with multiple displays.
If you are not using a custom backend, please update your render function code ahead of time,
and use draw_data->FramebufferScale instead of io.DisplayFramebufferScale. (2306, 1676)
- Added IsItemActivated() as an extension to the IsItemDeactivated/IsItemDeactivatedAfterEdit functions
which are useful to implement variety of undo patterns. (820, 956, 1875)
- InputText: Fixed a bug where ESCAPE would not restore the initial value in all situations. (2321) [relick]
- InputText: Fixed a bug where ESCAPE would be first captured by the Keyboard Navigation code. (2321, 787)
- InputText: Fixed redo buffer exhaustion handling (rare) which could corrupt the undo character buffer. (2333)
The way the redo/undo buffers work would have made it generally unnoticeable to the user.
- Fixed range-version of PushID() and GetID() not honoring the operator to restart from the seed value.
- Fixed CloseCurrentPopup() on a child-menu of a modal incorrectly closing the modal. (2308)
- Tabs: Added ImGuiTabBarFlags_TabListPopupButton flag to show a popup button on manual tab bars. (261, 351)
- Tabs: Removed ImGuiTabBarFlags_NoTabListPopupButton which was available in 1.67 but actually had zero use.
- Tabs: Fixed a minor clipping glitch when changing style's FramePadding from frame to frame.
- Tabs: Fixed border (when enabled) so it is aligned correctly mid-pixel and appears as bright as other borders.
- Style, Selectable: Added ImGuiStyle::SelectableTextAlign and ImGuiStyleVar_SelectableTextAlign. (2347) [haldean]
- Menus: Tweaked horizontal overlap between parent and child menu (to help convey relative depth)
from using style.ItemSpacing.x to style.ItemInnerSpacing.x, the later being expected to be smaller. (1086)
- RadioButton: Fixed label horizontal alignment to precisely match Checkbox().
- Window: When resizing from an edge, the border is more visible and better follow the rounded corners.
- Window: Fixed initial width of collapsed windows not taking account of contents width (broken in 1.67). (2336, 176)
- Scrollbar: Fade out and disable interaction when too small, in order to facilitate using the resize grab on very
small window, as well as reducing visual noise/overlap.
- ListBox: Better optimized when clipped / non-visible.
- InputTextMultiline: Better optimized when clipped / non-visible.
- Font: Fixed high-level ImGui::CalcTextSize() used by most widgets from erroneously subtracting 1.0f*scale to
calculated text width. Among noticeable side-effects, it would make sequences of repeated Text/SameLine calls
not align the same as a single call, and create mismatch between high-level size calculation and those performed
with the lower-level ImDrawList api. (792) [SlNPacifist]
- Font: Fixed building atlas when specifying duplicate/overlapping ranges within a same font. (2353, 2233)
- ImDrawList: Fixed AddCircle(), AddCircleFilled() angle step being off, which was visible when drawing a "circle"
with a small number of segments (e.g. an hexagon). (2287) [baktery]
- ImGuiTextBuffer: Added append() function (unformatted).
- ImFontAtlas: Added 0x2000-0x206F general punctuation range to default ChineseFull/ChineseSimplifiedCommon ranges. (2093)
- ImFontAtlas: FreeType: Added support for imgui allocators + custom FreeType only SetAllocatorFunctions. (2285) [Vuhdo]
- ImFontAtlas: FreeType: Fixed using imgui_freetype.cpp in unity builds. (2302)
- Demo: Fixed "Log" demo not initializing properly, leading to the first line not showing before a Clear. (2318) [bluescan]
- Demo: Added "Auto-scroll" option in Log/Console demos. (2300) [nicolasnoble, ocornut]
- Examples: Metal, OpenGL2, OpenGL3, Vulkan: Fixed offsetting of clipping rectangle with ImDrawData::DisplayPos != (0,0)
when the display frame-buffer scale scale is not (1,1). While this doesn't make a difference when using master branch,
this is effectively fixing support for multi-viewport with Mac Retina Displays on those examples. (2306) [rasky, ocornut]
Also using ImDrawData::FramebufferScale instead of io.DisplayFramebufferScale.
- Examples: Clarified the use the ImDrawData::DisplayPos to offset clipping rectangles.
- Examples: Win32: Using GetForegroundWindow()+IsChild() instead of GetActiveWindow() to be compatible with windows created
in a different thread or parent. (1951, 2087, 2156, 2232) [many people]
- Examples: SDL: Using the SDL_WINDOW_ALLOW_HIGHDPI flag. (2306, 1676) [rasky]
- Examples: Win32: Added support for XInput gamepads (if ImGuiConfigFlags_NavEnableGamepad is enabled).
- Examples: Win32: Added support for mouse buttons 4 and 5 via WM_XBUTTON* messages. (2264)
- Examples: DirectX9: Explicitly disable fog (D3DRS_FOGENABLE) before drawing in case user state has it set. (2288, 2230)
- Examples: OpenGL2: Added define GL_SILENCE_DEPRECATION to cope with newer XCode warnings.
- Examples: OpenGL3: Using GLSL 4.10 shaders for any GLSL version over 410 (e.g. 430, 450). (2329) [BrutPitt]


-----------------------------------------------------------------------

Page 5 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.