imgui v1.76 Release NotesRelease Date: 2020-05-06 // 6 months ago
Reading the full changelog is a good way to keep up to date with the things Dear ImGui has to offer, and maybe will give you ideas of some features that you've been ignoring until now!
(No known API breaking changes)
- Drag and Drop, Nav: Disabling navigation arrow keys when drag and drop is active. In the docking branch pressing arrow keys while dragging a window from a tab could trigger an assert. (#3025)
- BeginMenu: Using same ID multiple times appends content to a menu. (#1207) [@rokups]
- 🛠 BeginMenu: Fixed a bug where
setNextWindowXXXdata before a
beginMenu()would not be cleared when the menu is not open. (#3030)
- 🛠 InputText: Fixed password fields displaying ASCII spaces as blanks instead of using the '*' glyph. (#2149, #515)
- 💅 Selectable: Fixed honoring
style.selectableTextAlignwith unspecified size. (#2347, #2601)
- Selectable: Allow using
SelectableFlag.SpanAllColumnsin other columns than first. (#125)
- TreeNode: Made clicking on arrow with
_OpenOnArrowtoggle the open state on the Mouse Down event rather than the Mouse Down+Up sequence (this is rather standard behavior).
- 🚚 ColorButton: Added
ColorEditFlag.NoBorderflag to remove the border normally enforced by default for standalone ColorButton.
- 🛠 Nav: Fixed interactions with
ListClipper, so e.g. Home/End result would not clip the landing item on the landing frame. (#787)
- 🛠 Nav: Internals: Fixed currently focused item from ever being clipped by
- 🛠 Scrolling: Fixed scrolling centering API leading to non-integer scrolling values and initial cursor position. This would often get fixed after the fix item submission, but using the
ListClipperas the first thing after
begin()could largely break size calculations. (#3073)
- ➕ Added optional support for Unicode plane 1-16 (#2538, #2541, #2815) [@cloudwu, @samhocevar]
- More onsistent handling of unsupported code points (0xFFFD).
- Surrogate pairs are supported when submitting UTF-16 data via
io.addInputCharacterUTF16(), allowing for more complete CJK input.
- Various structures such as
GlyphRangesBuilderwill use more memory, this is currently not particularly efficient.
- Columns: undid the change in 1.75 were
columns()/beginColumns()were preemptively limited to 64 columns with an assert. (#3037, #125)
- 🛠 Window: Fixed a bug with child window inheriting ItemFlags from their parent when the child window also manipulate the ItemFlags stack. (#3024) [@Stanbroek]
- 🛠 Font: Fixed non-ASCII space occasionally creating unnecessary empty looking polygons.
- Misc: Added additional checks in endFrame() to verify that
io.keyXXXvalues have not been tampered with between
- 0️⃣ Misc: Made default clipboard handlers for Win32 and OSX use a buffer inside the main context instead of a static buffer, so it can be freed properly on Shutdown. (#3110)
- 🏁 Metrics: Made Tools section more prominent. Showing wire-frame mesh directly hovering the
DrawCmdinstead of requiring to open it. Added options to disable bounding box and mesh display. Added notes on inactive/gc-ed windows.
- Demo: Added black and white and color gradients to Demo>Examples>Custom Rendering.
- ✅ Backends: OpenGL3: Fixed version check mistakenly testing for GL 4.0+ instead of 3.2+ to enable
BackendFlag.RendererHasVtxOffset, leaving 3.2 contexts without it. (#3119, #2866) [@wolfpld]
Previous changes from v1.75
Reading the full changelog is a good way to keep up to date with the things dear imgui has to offer , and maybe will give you ideas of some features that you've been ignoring until now!
- 👍 [JVM], completed the moving to full mirror native imgui support in terms of UTF8 and (double) Char
- 🛠 Dozens of fixes, e.g. for Ctrl+Tab, InputText, ColorEdit, in backends etc. among other things.
- ➕ Added
DrawList::addNgonapis for explicit low-polygon count, in prevision for future version making all circles actually round.
DrawList::addCircleapis can now takes a zero segment count to use auto-tesselation.
- [JVM only] double click on a word in text selects only that world, up to the next space included. Native selects still everything
💥 Breaking Changes
- ✂ Removed implicit default parameter to
IsMouseDragging(int button = 0)to be consistent with other mouse functions (none of the other functions have it).
DrawList::addCircle()/addCircleFilled()functions don't accept negative radius.
- 👍 Limiting
columns()/beginColumns()api to 64 columns with an assert. While the current code technically supports it, future code may not so we're putting the restriction ahead.
- 🔄 changed
Rect()default constructor initializes all fields to
Float.MAX_VALUE. If you used
Rect::add()to create bounding boxes by adding multiple points into it without an explicit initialization, you may need to fix your initial value.
- 🆓 Inputs: Added
MouseButtonenum for convenience (e.g.
MouseButton.Right.i=1). We forever guarantee that the existing value will not changes so existing code is free to use 0/1/2.
- 🛠 Nav: Fixed a bug where the initial CTRL-Tab press while in a child window sometimes selected the current root window instead of always selecting the previous root window. (#787)
- ColorEdit: Fix label alignment when using
ColorEditFlags.NoInputs. (#2955) [@rokups]
- 🔒 ColorEdit: In HSV display of a RGB stored value, attempt to locally preserve Saturation when Value==0.0 (similar to changes done in 1.73 for Hue). Removed Hue editing lock since those improvements in 1.73 makes them unnecessary. (#2722, #2770). [@rokups]
- ColorEdit: "Copy As" context-menu tool shows hex values with a '#' prefix instead of '0x'.
- ColorEdit: "Copy As" content-menu tool shows hex values both with/without alpha when available.
- ⏪ InputText: Fix corruption or crash when executing undo after clearing input with ESC, as a byproduct we are allowing to later undo the revert with a CTRL+Z. (#3008).
- MenuBar: Fix minor clipping issue where occasionally a menu text can overlap the right-most border.
- Window: Fix
setNextWindowBgAlpha(1f)failing to override alpha component. (#3007) [@Albog]
- ✅ Window: When testing for the presence of the
WindowFlags.NoBringToFrontOnFocusflag we test both the focused/clicked window (which could be a child window) and the root window.
- 💅 DrawList:
addCircle(), addCircleFilled()API can now auto-tessellate when provided a segment count of zero. Alter tessellation quality with style.CircleSegmentMaxError. [@ShironekoBen]
- DrawList: Add
addNgon(), addNgonFilled()API with a guarantee on the explicit segment count. In the current branch they are essentially the same as
addCircle(), addCircleFilled()but as we will rework the circle rendering functions to use textures and automatic segment count selection, those new api can fill a gap. [@ShironekoBen]
DrawList::channels*functions now work inside columns. Added extra comments to suggest using user-owned
- Misc: Added
MouseCursor.NotAllowedenum so it can be used by more shared widgets. [@rokups]
- 👍 Backends: GLFW: (started) adding support for the missing mouse cursors newly added in GLFW 3.4+. [@rokups]
[JVM] transition will be complete with the next lwjgl stable version
- 📚 [JVM] Documentation is terrible outdated, we need help to update it
- 📚 Dear ImGui is looking for a technical writer to help writing technical articles, tutorials and documentation. Please reach out if you are interesting in helping!.
- 👀 The Vulkan renderer appears to have issues (see vulkan tag)
Browsing issues and todo list you may find something something to contribute to!