mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-15 01:17:00 +00:00
Version 1.77
+ fix minor clang-tidy warnings which seems reasonable
This commit is contained in:
parent
122febcdbf
commit
9418dcb693
@ -9,11 +9,12 @@ RELEASE NOTES: https://github.com/ocornut/imgui/releases
|
|||||||
REPORT ISSUES, ASK QUESTIONS: https://github.com/ocornut/imgui/issues
|
REPORT ISSUES, ASK QUESTIONS: https://github.com/ocornut/imgui/issues
|
||||||
COMMITS HISTORY: https://github.com/ocornut/imgui/commits/master
|
COMMITS HISTORY: https://github.com/ocornut/imgui/commits/master
|
||||||
FAQ https://www.dearimgui.org/faq/
|
FAQ https://www.dearimgui.org/faq/
|
||||||
|
WIKI https://github.com/ocornut/imgui/wiki
|
||||||
|
|
||||||
WHEN TO UPDATE?
|
WHEN TO UPDATE?
|
||||||
|
|
||||||
- Keeping your copy of dear imgui updated once in a while is recommended.
|
- Keeping your copy of Dear ImGui updated regularly is recommended.
|
||||||
- It is generally safe to sync to the latest commit in master.
|
- 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.
|
The library is fairly stable and regressions tends to be fixed fast when reported.
|
||||||
|
|
||||||
HOW TO UPDATE?
|
HOW TO UPDATE?
|
||||||
@ -31,13 +32,16 @@ HOW TO UPDATE?
|
|||||||
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
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:
|
Breaking Changes:
|
||||||
|
|
||||||
- Removed unnecessary ID (first arg) of ImFontAtlas::AddCustomRectRegular() function. Please
|
- Removed unnecessary 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.
|
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).
|
- Renamed OpenPopupOnItemClick() to OpenPopupContextItem(). Kept inline redirection function (will obsolete).
|
||||||
- Removed BeginPopupContextWindow(const char*, int mouse_button, bool also_over_items) in favor
|
- Removed BeginPopupContextWindow(const char*, int mouse_button, bool also_over_items) in favor
|
||||||
of BeginPopupContextWindow(const char*, ImGuiPopupFlags flags) with ImGuiPopupFlags_NoOverItems.
|
of BeginPopupContextWindow(const char*, ImGuiPopupFlags flags) with ImGuiPopupFlags_NoOverItems.
|
||||||
@ -51,20 +55,20 @@ Other Changes:
|
|||||||
flag was also set, and _OpenOnArrow is frequently set along with _OpenOnDoubleClick).
|
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
|
- TreeNode: Fixed bug where dragging a payload over a TreeNode() with either _OpenOnDoubleClick
|
||||||
or _OpenOnArrow would open the node. (#143)
|
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]
|
- 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
|
- 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
|
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.
|
compatible as ImGuiPopupFlags is guaranteed to hold mouse button index in the lower bits.
|
||||||
- Popups: Added ImGuiPopupFlags_NoOpenOverExistingPopup for OpenPopup*/BeginPopupContext* functions
|
- Popups: Added ImGuiPopupFlags_NoOpenOverExistingPopup for OpenPopup*/BeginPopupContext* functions
|
||||||
to first test for the presence of another popup at the same level.
|
to first test for the presence of another popup at the same level.
|
||||||
- Popups: Added ImGuiPopupFlags_NoOpenOverItems for BeginPopupContextWindow() - similar to testing
|
- 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(),
|
- 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
|
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.
|
level, if any popup is open at all.
|
||||||
@ -78,7 +82,7 @@ Other Changes:
|
|||||||
Enforce centering using e.g. SetNextWindowPos(io.DisplaySize * 0.5f, ImGuiCond_Appearing, ImVec2(0.5f,0.5f)).
|
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.
|
- 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
|
- 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 and Drop: Fixed unintended fallback "..." tooltip display during drag operation when
|
||||||
drag source uses _SourceNoPreviewTooltip flags. (#3160) [@rokups]
|
drag source uses _SourceNoPreviewTooltip flags. (#3160) [@rokups]
|
||||||
- Columns: Lower overhead on column switches and switching to background channel.
|
- Columns: Lower overhead on column switches and switching to background channel.
|
||||||
@ -96,12 +100,12 @@ Other Changes:
|
|||||||
a callback draw command would incorrectly override the callback draw command.
|
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
|
- ImDrawList: Fixed minor bug introduced in 1.75 where AddCircle() with 12 segments would
|
||||||
generate an extra unrequired vertex. [@ShironekoBen]
|
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.
|
- 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]
|
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,
|
- 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).
|
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: 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: 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,
|
- Backends: SDL: Report a zero display-size when window is minimized, consistent with other backends,
|
||||||
|
@ -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: border could be emitted in parent as well.
|
||||||
- window/child: allow SetNextWindowContentSize() to work on child windows.
|
- window/child: allow SetNextWindowContentSize() to work on child windows.
|
||||||
- window/clipping: some form of clipping when DisplaySize (or corresponding viewport) is zero.
|
- 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: 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: 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.
|
- 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.
|
- 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: 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 layout helper (#97)
|
||||||
- layout: horizontal flow until no space left (#404)
|
- layout: horizontal flow until no space left (#404)
|
||||||
- layout: more generic alignment state (left/right/centered) for single items?
|
- layout: more generic alignment state (left/right/centered) for single items?
|
||||||
@ -167,7 +167,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: explicit api (even if internal) to cleanly manipulate tab order.
|
||||||
- tabs: Mouse wheel over tab bar could scroll? (#2702)
|
- tabs: Mouse wheel over tab bar could scroll? (#2702)
|
||||||
|
|
||||||
|
|
||||||
- image/image button: misalignment on padded/bordered button?
|
- 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/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)
|
- image button: not taking an explicit id can be problematic. (#2464, #1390)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
dear imgui, v1.77 WIP
|
dear imgui, v1.77
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
examples/README.txt
|
examples/README.txt
|
||||||
(This is the README file for the examples/ folder. See docs/ for more documentation)
|
(This is the README file for the examples/ folder. See docs/ for more documentation)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// dear imgui, v1.77 WIP
|
// dear imgui, v1.77
|
||||||
// (main code and documentation)
|
// (main code and documentation)
|
||||||
|
|
||||||
// Help:
|
// Help:
|
||||||
@ -10382,6 +10382,7 @@ void ImGui::ShowMetricsWindow(bool* p_open)
|
|||||||
char* p = buf;
|
char* p = buf;
|
||||||
const char* buf_end = buf + IM_ARRAYSIZE(buf);
|
const char* buf_end = buf + IM_ARRAYSIZE(buf);
|
||||||
p += ImFormatString(p, buf_end - p, "TabBar (%d tabs)%s", tab_bar->Tabs.Size, (tab_bar->PrevFrameVisible < ImGui::GetFrameCount() - 2) ? " *Inactive*" : "");
|
p += ImFormatString(p, buf_end - p, "TabBar (%d tabs)%s", tab_bar->Tabs.Size, (tab_bar->PrevFrameVisible < ImGui::GetFrameCount() - 2) ? " *Inactive*" : "");
|
||||||
|
IM_UNUSED(p);
|
||||||
if (ImGui::TreeNode(tab_bar, "%s", buf))
|
if (ImGui::TreeNode(tab_bar, "%s", buf))
|
||||||
{
|
{
|
||||||
for (int tab_n = 0; tab_n < tab_bar->Tabs.Size; tab_n++)
|
for (int tab_n = 0; tab_n < tab_bar->Tabs.Size; tab_n++)
|
||||||
|
10
imgui.h
10
imgui.h
@ -1,4 +1,4 @@
|
|||||||
// dear imgui, v1.77 WIP
|
// dear imgui, v1.77
|
||||||
// (headers)
|
// (headers)
|
||||||
|
|
||||||
// Help:
|
// Help:
|
||||||
@ -59,8 +59,8 @@ Index of this file:
|
|||||||
|
|
||||||
// Version
|
// Version
|
||||||
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals. Work in progress versions typically starts at XYY99 then bounce up to XYY00, XYY01 etc. when release tagging happens)
|
// (Integer encoded as XYYZZ for use in #if preprocessor conditionals. Work in progress versions typically starts at XYY99 then bounce up to XYY00, XYY01 etc. when release tagging happens)
|
||||||
#define IMGUI_VERSION "1.77 WIP"
|
#define IMGUI_VERSION "1.77"
|
||||||
#define IMGUI_VERSION_NUM 17602
|
#define IMGUI_VERSION_NUM 17700
|
||||||
#define IMGUI_CHECKVERSION() ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx))
|
#define IMGUI_CHECKVERSION() ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx))
|
||||||
|
|
||||||
// Define attributes of all API symbols declarations (e.g. for DLL under Windows)
|
// Define attributes of all API symbols declarations (e.g. for DLL under Windows)
|
||||||
@ -85,8 +85,8 @@ Index of this file:
|
|||||||
#define IM_FMTARGS(FMT)
|
#define IM_FMTARGS(FMT)
|
||||||
#define IM_FMTLIST(FMT)
|
#define IM_FMTLIST(FMT)
|
||||||
#endif
|
#endif
|
||||||
#define IM_ARRAYSIZE(_ARR) ((int)(sizeof(_ARR) / sizeof(*_ARR))) // Size of a static C-style array. Don't use on pointers!
|
#define IM_ARRAYSIZE(_ARR) ((int)(sizeof(_ARR) / sizeof(*(_ARR)))) // Size of a static C-style array. Don't use on pointers!
|
||||||
#define IM_UNUSED(_VAR) ((void)_VAR) // Used to silence "unused variable warnings". Often useful as asserts may be stripped out from final builds.
|
#define IM_UNUSED(_VAR) ((void)(_VAR)) // Used to silence "unused variable warnings". Often useful as asserts may be stripped out from final builds.
|
||||||
#if (__cplusplus >= 201100)
|
#if (__cplusplus >= 201100)
|
||||||
#define IM_OFFSETOF(_TYPE,_MEMBER) offsetof(_TYPE, _MEMBER) // Offset of _MEMBER within _TYPE. Standardized as offsetof() in C++11
|
#define IM_OFFSETOF(_TYPE,_MEMBER) offsetof(_TYPE, _MEMBER) // Offset of _MEMBER within _TYPE. Standardized as offsetof() in C++11
|
||||||
#else
|
#else
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// dear imgui, v1.77 WIP
|
// dear imgui, v1.77
|
||||||
// (demo code)
|
// (demo code)
|
||||||
|
|
||||||
// Help:
|
// Help:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// dear imgui, v1.77 WIP
|
// dear imgui, v1.77
|
||||||
// (drawing and font code)
|
// (drawing and font code)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// dear imgui, v1.77 WIP
|
// dear imgui, v1.77
|
||||||
// (internal structures/api)
|
// (internal structures/api)
|
||||||
|
|
||||||
// You may use this file to debug, understand or extend ImGui features but we don't provide any guarantee of forward compatibility!
|
// You may use this file to debug, understand or extend ImGui features but we don't provide any guarantee of forward compatibility!
|
||||||
@ -147,7 +147,7 @@ namespace ImStb
|
|||||||
#undef STB_TEXTEDIT_CHARTYPE
|
#undef STB_TEXTEDIT_CHARTYPE
|
||||||
#define STB_TEXTEDIT_STRING ImGuiInputTextState
|
#define STB_TEXTEDIT_STRING ImGuiInputTextState
|
||||||
#define STB_TEXTEDIT_CHARTYPE ImWchar
|
#define STB_TEXTEDIT_CHARTYPE ImWchar
|
||||||
#define STB_TEXTEDIT_GETWIDTH_NEWLINE -1.0f
|
#define STB_TEXTEDIT_GETWIDTH_NEWLINE (-1.0f)
|
||||||
#define STB_TEXTEDIT_UNDOSTATECOUNT 99
|
#define STB_TEXTEDIT_UNDOSTATECOUNT 99
|
||||||
#define STB_TEXTEDIT_UNDOCHARCOUNT 999
|
#define STB_TEXTEDIT_UNDOCHARCOUNT 999
|
||||||
#include "imstb_textedit.h"
|
#include "imstb_textedit.h"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// dear imgui, v1.77 WIP
|
// dear imgui, v1.77
|
||||||
// (widgets code)
|
// (widgets code)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -5634,7 +5634,7 @@ bool ImGui::CollapsingHeader(const char* label, bool* p_open, ImGuiTreeNodeFlags
|
|||||||
if (p_open)
|
if (p_open)
|
||||||
flags |= ImGuiTreeNodeFlags_AllowItemOverlap | ImGuiTreeNodeFlags_ClipLabelForTrailingButton;
|
flags |= ImGuiTreeNodeFlags_AllowItemOverlap | ImGuiTreeNodeFlags_ClipLabelForTrailingButton;
|
||||||
bool is_open = TreeNodeBehavior(id, flags, label);
|
bool is_open = TreeNodeBehavior(id, flags, label);
|
||||||
if (p_open)
|
if (p_open != NULL)
|
||||||
{
|
{
|
||||||
// Create a small overlapping close button
|
// Create a small overlapping close button
|
||||||
// FIXME: We can evolve this into user accessible helpers to add extra buttons on title bars, headers, etc.
|
// FIXME: We can evolve this into user accessible helpers to add extra buttons on title bars, headers, etc.
|
||||||
|
Loading…
Reference in New Issue
Block a user