mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-15 01:17:00 +00:00
Tweak changelog + tweak internal render helper functions.
This commit is contained in:
parent
5cb7ce2085
commit
acfa4050ec
@ -51,25 +51,26 @@ Other Changes:
|
|||||||
- Demo: Added "Documents" example app showcasing possible use for tabs.
|
- Demo: Added "Documents" example app showcasing possible use for tabs.
|
||||||
This feature was merged from the Docking branch in order to allow the use of regular tabs in your code.
|
This feature was merged from the Docking branch in order to allow the use of regular tabs in your code.
|
||||||
(It does not provide the docking/splitting/merging of windows available in the Docking branch)
|
(It does not provide the docking/splitting/merging of windows available in the Docking branch)
|
||||||
- Added ImGuiWindowFlags_UnsavedDocument window flag to append '*' to title without altering
|
- Added ImGuiWindowFlags_UnsavedDocument window flag to append '*' to title without altering the ID,
|
||||||
the ID, as a convenience to avoid using the ### operator.
|
as a convenience to avoid using the ### operator. In the Docking branch this also has an effect on tab closing behavior.
|
||||||
- Window, Focus, Popup: Fixed an issue where closing a popup by clicking another window with the _NoMove flag would refocus
|
- Window, Focus, Popup: Fixed an issue where closing a popup by clicking another window with the _NoMove flag would refocus
|
||||||
the parent window of the popup instead of the newly clicked window.
|
the parent window of the popup instead of the newly clicked window.
|
||||||
- Window: Contents size is preserved while a window collapsed. Fix auto-resizing window losing their size for one frame when uncollapsed.
|
- Window: Contents size is preserved while a window collapsed. Fix auto-resizing window losing their size for one frame when uncollapsed.
|
||||||
- Window: Contents size is preserved while a window contents is hidden (unless it is hidden for resizing purpose).
|
- Window: Contents size is preserved while a window contents is hidden (unless it is hidden for resizing purpose).
|
||||||
- Window: Resizing windows from edge is now enabled by default (io.ConfigWindowsResizeFromEdges=true). Note that
|
- Window: Resizing windows from edge is now enabled by default (io.ConfigWindowsResizeFromEdges=true). Note that
|
||||||
it only works _if_ the back-end sets ImGuiBackendFlags_HasMouseCursors, which the standard back-end do.
|
it only works _if_ the back-end sets ImGuiBackendFlags_HasMouseCursors, which the standard back-ends do.
|
||||||
- Window: Added io.ConfigWindowsMoveFromTitleBarOnly option. Still is ignored by window with no title bars (often popups).
|
- Window: Added io.ConfigWindowsMoveFromTitleBarOnly option. This is ignored by window with no title bars (often popups).
|
||||||
This affects clamping window within the visible area: with this option enabled title bars need to be visible. (#899)
|
This affects clamping window within the visible area: with this option enabled title bars need to be visible. (#899)
|
||||||
- Window: Fixed using SetNextWindowPos() on a child window (which wasn't really documented) position the cursor as expected
|
- Window: Fixed using SetNextWindowPos() on a child window (which wasn't really documented) position the cursor as expected
|
||||||
in the parent window, so there is no mismatch between the layout in parent and the position of the child window.
|
in the parent window, so there is no mismatch between the layout in parent and the position of the child window.
|
||||||
- InputFloat: When using ImGuiInputTextFlags_ReadOnly the step buttons are disabled. (#2257)
|
- InputFloat: When using ImGuiInputTextFlags_ReadOnly the step buttons are disabled. (#2257)
|
||||||
- Nav: Fixed an keyboard issue where holding Activate/Space for longer than two frames on a button would unnecessary
|
- Nav: Fixed an keyboard issue where holding Activate/Space for longer than two frames on a button would unnecessary
|
||||||
keep the focus on the parent window, which could steal it from newly appearing windows. (#787)
|
keep the focus on the parent window, which could steal it from newly appearing windows. (#787)
|
||||||
- Error recovery: Extraneous/undesired calls to End() are now being caught by an assert in the End() function itself
|
- Error recovery: Extraneous/undesired calls to End() are now being caught by an assert in the End() function closer
|
||||||
at the call site (instead of being reported in EndFrame). Past the assert, they don't lead to crashes any more. (#1651)
|
to the user call site (instead of being reported in EndFrame). Past the assert, they don't lead to crashes any more. (#1651)
|
||||||
- Error recovery: Missing calls to End(), pass the assert, should not lead to crashes or to the fallback Debug window
|
Missing calls to End(), past the assert, should not lead to crashes or to the fallback Debug window appearing on screen.
|
||||||
appearing on screen, (#1651).
|
Those changes makes it easier to integrate dear imgui with a scripting language allowing, given asserts are redirected
|
||||||
|
into e.g. an error log and stopping the script execution.
|
||||||
- IO: Added BackendPlatformUserData, BackendRendererUserData, BackendLanguageUserData void* for storage use by back-ends.
|
- IO: Added BackendPlatformUserData, BackendRendererUserData, BackendLanguageUserData void* for storage use by back-ends.
|
||||||
- IO: Renamed InputCharacters[], marked internal as was always intended. Please don't access directly, and use AddInputCharacter() instead!
|
- IO: Renamed InputCharacters[], marked internal as was always intended. Please don't access directly, and use AddInputCharacter() instead!
|
||||||
- IO: AddInputCharacter() goes into a queue which can receive as many characters as needed during the frame. This is useful
|
- IO: AddInputCharacter() goes into a queue which can receive as many characters as needed during the frame. This is useful
|
||||||
@ -78,8 +79,7 @@ Other Changes:
|
|||||||
which is the same as the title bar height.
|
which is the same as the title bar height.
|
||||||
- Demo: "Simple Layout" and "Style Editor" are now using tabs.
|
- Demo: "Simple Layout" and "Style Editor" are now using tabs.
|
||||||
- Demo: Added a few more things under "Child windows" (changing ImGuiCol_ChildBg, positioning child, using IsItemHovered after a child).
|
- Demo: Added a few more things under "Child windows" (changing ImGuiCol_ChildBg, positioning child, using IsItemHovered after a child).
|
||||||
- Examples: DirectX10/11/12: Made imgui_impl_dx10/dx11/dx12.cpp link d3dcompiler.lib from the .cpp file
|
- Examples: DirectX10/11/12: Made imgui_impl_dx10/dx11/dx12.cpp link d3dcompiler.lib from the .cpp file to ease integration.
|
||||||
to ease integration.
|
|
||||||
- Examples: Allegro 5: Properly destroy globals on shutdown to allow for restart. (#2262) [@DomRe]
|
- Examples: Allegro 5: Properly destroy globals on shutdown to allow for restart. (#2262) [@DomRe]
|
||||||
|
|
||||||
|
|
||||||
|
@ -2953,8 +2953,9 @@ void ImGui::RenderRectFilledRangeH(ImDrawList* draw_list, const ImRect& rect, Im
|
|||||||
// FIXME: Rendering an ellipsis "..." is a surprisingly tricky problem for us... we cannot rely on font glyph having it,
|
// FIXME: Rendering an ellipsis "..." is a surprisingly tricky problem for us... we cannot rely on font glyph having it,
|
||||||
// and regular dot are typically too wide. If we render a dot/shape ourselves it comes with the risk that it wouldn't match
|
// and regular dot are typically too wide. If we render a dot/shape ourselves it comes with the risk that it wouldn't match
|
||||||
// the boldness or positioning of what the font uses...
|
// the boldness or positioning of what the font uses...
|
||||||
void ImGui::RenderPixelEllipsis(ImDrawList* draw_list, ImFont* font, ImVec2 pos, int count, ImU32 col)
|
void ImGui::RenderPixelEllipsis(ImDrawList* draw_list, ImVec2 pos, int count, ImU32 col)
|
||||||
{
|
{
|
||||||
|
ImFont* font = draw_list->_Data->Font;
|
||||||
pos.y += (float)(int)(font->DisplayOffset.y + font->Ascent + 0.5f - 1.0f);
|
pos.y += (float)(int)(font->DisplayOffset.y + font->Ascent + 0.5f - 1.0f);
|
||||||
for (int dot_n = 0; dot_n < count; dot_n++)
|
for (int dot_n = 0; dot_n < count; dot_n++)
|
||||||
draw_list->AddRectFilled(ImVec2(pos.x + dot_n * 2.0f, pos.y), ImVec2(pos.x + dot_n * 2.0f + 1.0f, pos.y + 1.0f), col);
|
draw_list->AddRectFilled(ImVec2(pos.x + dot_n * 2.0f, pos.y), ImVec2(pos.x + dot_n * 2.0f + 1.0f, pos.y + 1.0f), col);
|
||||||
|
@ -1370,7 +1370,7 @@ namespace ImGui
|
|||||||
IMGUI_API void RenderMouseCursor(ImDrawList* draw_list, ImVec2 pos, float scale, ImGuiMouseCursor mouse_cursor = ImGuiMouseCursor_Arrow);
|
IMGUI_API void RenderMouseCursor(ImDrawList* draw_list, ImVec2 pos, float scale, ImGuiMouseCursor mouse_cursor = ImGuiMouseCursor_Arrow);
|
||||||
IMGUI_API void RenderArrowPointingAt(ImDrawList* draw_list, ImVec2 pos, ImVec2 half_sz, ImGuiDir direction, ImU32 col);
|
IMGUI_API void RenderArrowPointingAt(ImDrawList* draw_list, ImVec2 pos, ImVec2 half_sz, ImGuiDir direction, ImU32 col);
|
||||||
IMGUI_API void RenderRectFilledRangeH(ImDrawList* draw_list, const ImRect& rect, ImU32 col, float x_start_norm, float x_end_norm, float rounding);
|
IMGUI_API void RenderRectFilledRangeH(ImDrawList* draw_list, const ImRect& rect, ImU32 col, float x_start_norm, float x_end_norm, float rounding);
|
||||||
IMGUI_API void RenderPixelEllipsis(ImDrawList* draw_list, ImFont* font, ImVec2 pos, int count, ImU32 col);
|
IMGUI_API void RenderPixelEllipsis(ImDrawList* draw_list, ImVec2 pos, int count, ImU32 col);
|
||||||
|
|
||||||
// Widgets
|
// Widgets
|
||||||
IMGUI_API bool ButtonEx(const char* label, const ImVec2& size_arg = ImVec2(0,0), ImGuiButtonFlags flags = 0);
|
IMGUI_API bool ButtonEx(const char* label, const ImVec2& size_arg = ImVec2(0,0), ImGuiButtonFlags flags = 0);
|
||||||
|
@ -6542,7 +6542,7 @@ bool ImGui::TabItemLabelAndCloseButton(ImDrawList* draw_list, const ImRect& bb,
|
|||||||
|
|
||||||
const float ellipsis_x = text_pixel_clip_bb.Min.x + label_size_clipped_x + 1.0f;
|
const float ellipsis_x = text_pixel_clip_bb.Min.x + label_size_clipped_x + 1.0f;
|
||||||
if (!close_button_visible && ellipsis_x + ellipsis_width <= bb.Max.x)
|
if (!close_button_visible && ellipsis_x + ellipsis_width <= bb.Max.x)
|
||||||
RenderPixelEllipsis(draw_list, g.Font, ImVec2(ellipsis_x, text_pixel_clip_bb.Min.y), ellipsis_dot_count, GetColorU32(ImGuiCol_Text));
|
RenderPixelEllipsis(draw_list, ImVec2(ellipsis_x, text_pixel_clip_bb.Min.y), ellipsis_dot_count, GetColorU32(ImGuiCol_Text));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user