mirror of
https://github.com/Drezil/imgui.git
synced 2025-07-07 21:39:54 +02:00
Merge branch 'master' into docking
# Conflicts: # docs/CHANGELOG.txt # imgui.cpp
This commit is contained in:
@ -9,11 +9,12 @@ RELEASE NOTES: https://github.com/ocornut/imgui/releases
|
||||
REPORT ISSUES, ASK QUESTIONS: https://github.com/ocornut/imgui/issues
|
||||
COMMITS HISTORY: https://github.com/ocornut/imgui/commits/master
|
||||
FAQ https://www.dearimgui.org/faq/
|
||||
WIKI https://github.com/ocornut/imgui/wiki
|
||||
|
||||
WHEN TO UPDATE?
|
||||
|
||||
- Keeping your copy of dear imgui updated once in a while is recommended.
|
||||
- It is generally safe to sync to the latest commit in master.
|
||||
- Keeping your copy of Dear ImGui updated regularly is recommended.
|
||||
- It is generally safe to sync to the latest commit in master or docking branches
|
||||
The library is fairly stable and regressions tends to be fixed fast when reported.
|
||||
|
||||
HOW TO UPDATE?
|
||||
@ -100,17 +101,21 @@ Other changes:
|
||||
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
VERSION 1.77 WIP (In Progress)
|
||||
VERSION 1.77 (Released 2020-06-29)
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
Decorated log: https://github.com/ocornut/imgui/releases/tag/v1.77
|
||||
|
||||
Breaking Changes:
|
||||
|
||||
- Removed unncessary ID (first arg) of ImFontAtlas::AddCustomRectRegular() function. Please
|
||||
note that this is a Beta api and will likely be reworked to support multi-monitor multi-DPI.
|
||||
- Removed unnecessary ID (first arg) of ImFontAtlas::AddCustomRectRegular() function. Please
|
||||
note that this is a Beta api and will likely be reworked in order to support multi-DPI accross
|
||||
multiple monitors.
|
||||
- Renamed OpenPopupOnItemClick() to OpenPopupContextItem(). Kept inline redirection function (will obsolete).
|
||||
- Removed BeginPopupContextWindow(const char*, int mouse_button, bool also_over_items) in favor
|
||||
of BeginPopupContextWindow(const char*, ImGuiPopupFlags flags) with ImGuiPopupFlags_NoOverItems.
|
||||
- Removed CalcItemRectClosestPoint() entry point which was made obsolete and asserting in December 2017.
|
||||
Kept inline redirection function (will obsolete).
|
||||
- Removed obsoleted CalcItemRectClosestPoint() entry point (has been asserting since December 2017).
|
||||
|
||||
Other Changes:
|
||||
|
||||
@ -119,20 +124,20 @@ Other Changes:
|
||||
flag was also set, and _OpenOnArrow is frequently set along with _OpenOnDoubleClick).
|
||||
- TreeNode: Fixed bug where dragging a payload over a TreeNode() with either _OpenOnDoubleClick
|
||||
or _OpenOnArrow would open the node. (#143)
|
||||
- Style: Added style.TabMinWidthForUnselectedCloseButton settings.
|
||||
Set to 0.0f (default) to always make a close button appear on hover (same as Chrome, VS).
|
||||
Set to FLT_MAX to only display a close button when selected (merely hovering is not enough).
|
||||
Set to an intermediary value to toggle behavior based on width (same as Firefox).
|
||||
- Tab: Added a ImGuiTabItemFlags_NoTooltip flag to disable the tooltip for individual tab item
|
||||
(vs ImGuiTabBarFlags_NoTooltip for entire tab bar). [@Xipiryon]
|
||||
- Windows: Fix unintended feedback loops when resizing windows close to main viewport edges. [@rokups]
|
||||
- Tabs: Added style.TabMinWidthForUnselectedCloseButton settings:
|
||||
- Set to 0.0f (default) to always make a close button appear on hover (same as Chrome, VS).
|
||||
- Set to FLT_MAX to only display a close button when selected (merely hovering is not enough).
|
||||
- Set to an intermediary value to toggle behavior based on width (same as Firefox).
|
||||
- Tabs: Added a ImGuiTabItemFlags_NoTooltip flag to disable the tooltip for individual tab item
|
||||
(vs ImGuiTabBarFlags_NoTooltip for entire tab bar). [@Xipiryon]
|
||||
- Popups: All functions capable of opening popups (OpenPopup*, BeginPopupContext*) now take a new
|
||||
ImGuiPopupFlags sets of flags instead of a mouse button index. The API is automatically backward
|
||||
compatible as ImGuiPopupFlags is guaranteed to hold mouse button index in the lower bits.
|
||||
- Popups: Added ImGuiPopupFlags_NoOpenOverExistingPopup for OpenPopup*/BeginPopupContext* functions
|
||||
to first test for the presence of another popup at the same level.
|
||||
- Popups: Added ImGuiPopupFlags_NoOpenOverItems for BeginPopupContextWindow() - similar to testing
|
||||
for !IsAnyItemHovered() prior to doing an OpenPopup.
|
||||
for !IsAnyItemHovered() prior to doing an OpenPopup().
|
||||
- Popups: Added ImGuiPopupFlags_AnyPopupId and ImGuiPopupFlags_AnyPopupLevel flags for IsPopupOpen(),
|
||||
allowing to check if any popup is open at the current level, if a given popup is open at any popup
|
||||
level, if any popup is open at all.
|
||||
@ -146,7 +151,7 @@ Other Changes:
|
||||
Enforce centering using e.g. SetNextWindowPos(io.DisplaySize * 0.5f, ImGuiCond_Appearing, ImVec2(0.5f,0.5f)).
|
||||
- Metrics: Added a "Settings" section with some details about persistent ini settings.
|
||||
- Nav, Menus: Fix vertical wrap-around in menus or popups created with multiple appending calls to
|
||||
BeginMenu()/EndMenu() or BeginPopup/EndPopup(). (#3223, #1207) [@rokups]
|
||||
BeginMenu()/EndMenu() or BeginPopup(0/EndPopup(). (#3223, #1207) [@rokups]
|
||||
- Drag and Drop: Fixed unintended fallback "..." tooltip display during drag operation when
|
||||
drag source uses _SourceNoPreviewTooltip flags. (#3160) [@rokups]
|
||||
- Columns: Lower overhead on column switches and switching to background channel.
|
||||
@ -164,12 +169,12 @@ Other Changes:
|
||||
a callback draw command would incorrectly override the callback draw command.
|
||||
- ImDrawList: Fixed minor bug introduced in 1.75 where AddCircle() with 12 segments would
|
||||
generate an extra unrequired vertex. [@ShironekoBen]
|
||||
- Misc, Freetype: Fix for rare case where FT_Get_Char_Index() succeed but FT_Load_Glyph() fails.
|
||||
- Misc, Freetype: Fix for rare case where FT_Get_Char_Index() succeeds but FT_Load_Glyph() fails.
|
||||
- Docs: Improved and moved font documentation to docs/FONTS.md so it can be readable on the web.
|
||||
Updated various links/wiki accordingly. Added FAQ entry about DPI. (#2861) [@ButternCream, @ocornut]
|
||||
- CI: Added CI test to verify we're never accidentally dragging libstdc++ (on some compiler setups,
|
||||
static constructors for non-pod data seems to drag in libstdc++ due to thread-safety concerns).
|
||||
Fixed a static contructor which led to this dependency on some compiler setups (unclear which).
|
||||
Fixed a static constructor which led to this dependency on some compiler setups.
|
||||
- Backends: Win32: Support for #define NOGDI, won't try to call GetDeviceCaps(). (#3137, #2327)
|
||||
- Backends: Win32: Fix _WIN32_WINNT < 0x0600 (MinGW defaults to 0x502 == Windows 2003). (#3183)
|
||||
- Backends: SDL: Report a zero display-size when window is minimized, consistent with other backends,
|
||||
|
13
docs/FAQ.md
13
docs/FAQ.md
@ -23,7 +23,7 @@ or view this file with any Markdown viewer.
|
||||
| [I integrated Dear ImGui in my engine and some elements are clipping or disappearing when I move windows around..](#q-i-integrated-dear-imgui-in-my-engine-and-some-elements-are-clipping-or-disappearing-when-i-move-windows-around) |
|
||||
| [I integrated Dear ImGui in my engine and some elements are displaying outside their expected windows boundaries..](#q-i-integrated-dear-imgui-in-my-engine-and-some-elements-are-displaying-outside-their-expected-windows-boundaries) |
|
||||
| **Q&A: Usage** |
|
||||
| **[Why are multiple widgets reacting when I interact with a single one?<br>How can I have multiple widgets with the same label or with an empty label?](#q-why-are-multiple-widgets-reacting-when-i-interact-with-a-single-one-q-how-can-i-have-multiple-widgets-with-the-same-label-or-with-an-empty-label)** |
|
||||
| **[How can I have widgets with an empty label?<br>How can I have multiple widgets with the same label?<br>Why are multiple widgets reacting when I interact with one?](#q-how-can-i-have-widgets-with-an-empty-label)** |
|
||||
| [How can I display an image? What is ImTextureID, how does it work?](#q-how-can-i-display-an-image-what-is-imtextureid-how-does-it-work)|
|
||||
| [How can I use my own math types instead of ImVec2/ImVec4?](#q-how-can-i-use-my-own-math-types-instead-of-imvec2imvec4) |
|
||||
| [How can I interact with standard C++ types (such as std::string and std::vector)?](#q-how-can-i-interact-with-standard-c-types-such-as-stdstring-and-stdvector) |
|
||||
@ -173,7 +173,9 @@ Refer to rendering back-ends in the [examples/](https://github.com/ocornut/imgui
|
||||
|
||||
# Q&A: Usage
|
||||
|
||||
### Q: Why are multiple widgets reacting when I interact with a single one? <br>Q: How can I have multiple widgets with the same label or with an empty label?
|
||||
### Q: How can I have widgets with an empty label?
|
||||
### Q: How can I have multiple widgets with the same label?
|
||||
### Q: Why are multiple widgets reacting when I interact with one?
|
||||
|
||||
A primer on labels and the ID Stack...
|
||||
|
||||
@ -295,11 +297,12 @@ if (TreeNode("node")) // <-- this function call will do a PushID() for you (unl
|
||||
TreePop();
|
||||
}
|
||||
```
|
||||
- When working with trees, ID are used to preserve the open/close state of each tree node.
|
||||
|
||||
When working with trees, ID are used to preserve the open/close state of each tree node.
|
||||
Depending on your use cases you may want to use strings, indices or pointers as ID.
|
||||
e.g. when following a single pointer that may change over time, using a static string as ID
|
||||
- e.g. when following a single pointer that may change over time, using a static string as ID
|
||||
will preserve your node open/closed state when the targeted object change.
|
||||
e.g. when displaying a list of objects, using indices or pointers as ID will preserve the
|
||||
- e.g. when displaying a list of objects, using indices or pointers as ID will preserve the
|
||||
node open/closed state differently. See what makes more sense in your situation!
|
||||
|
||||
##### [Return to Index](#index)
|
||||
|
@ -34,7 +34,7 @@ It's mostly a bunch of personal notes, probably incomplete. Feel free to query i
|
||||
- window/child: border could be emitted in parent as well.
|
||||
- window/child: allow SetNextWindowContentSize() to work on child windows.
|
||||
- window/clipping: some form of clipping when DisplaySize (or corresponding viewport) is zero.
|
||||
- window/tab: add a way to signify that a window or docked window requires attention (e.g. blinking title bar).
|
||||
- window/tabbing: add a way to signify that a window or docked window requires attention (e.g. blinking title bar).
|
||||
! scrolling: exposing horizontal scrolling with Shift+Wheel even when scrollbar is disabled expose lots of issues (#2424, #1463)
|
||||
- scrolling: while holding down a scrollbar, try to keep the same contents visible (at least while not moving mouse)
|
||||
- scrolling: allow immediately effective change of scroll after Begin() if we haven't appended items yet.
|
||||
@ -111,7 +111,7 @@ It's mostly a bunch of personal notes, probably incomplete. Feel free to query i
|
||||
- input number: applying arithmetics ops (+,-,*,/) messes up with text edit undo stack.
|
||||
|
||||
- layout: helper or a way to express ImGui::SameLine(ImGui::GetCursorStartPos().x + ImGui::CalcItemWidth() + ImGui::GetStyle().ItemInnerSpacing.x); in a simpler manner.
|
||||
- layout: generalization of the above: a concept equivalent to word processor ruler tab stop ~ mini columns (position in X, no clipping implied) (vaguely relate to #267, #395, also what is used internally for menu items)
|
||||
- layout, font: horizontal tab support, A) text mode: forward only tabs (e.g. every 4 characters/N pixels from pos x1), B) manual mode: explicit tab stops acting as mini columns, no clipping (for menu items, many kind of uses, also vaguely relate to #267, #395)
|
||||
- layout: horizontal layout helper (#97)
|
||||
- layout: horizontal flow until no space left (#404)
|
||||
- layout: more generic alignment state (left/right/centered) for single items?
|
||||
@ -195,7 +195,6 @@ It's mostly a bunch of personal notes, probably incomplete. Feel free to query i
|
||||
- tabs: explicit api (even if internal) to cleanly manipulate tab order.
|
||||
- tabs: Mouse wheel over tab bar could scroll? (#2702)
|
||||
|
||||
|
||||
- image/image button: misalignment on padded/bordered button?
|
||||
- image/image button: parameters are confusing, image() has tint_col,border_col whereas imagebutton() has bg_col/tint_col. Even thou they are different parameters ordering could be more consistent. can we fix that?
|
||||
- image button: not taking an explicit id can be problematic. (#2464, #1390)
|
||||
|
Reference in New Issue
Block a user