@ -4560,12 +4560,12 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
// When reusing window again multiple times a frame, just append content (don't need to setup again)
if ( first_begin_of_the_frame )
{
const bool is_pinned _child_tooltip = ( flags & ImGuiWindowFlags_ChildWindow ) & & ( flags & ImGuiWindowFlags_Tooltip ) ; // FIXME-WIP: Undocumented behavior of Child+Tooltip for pinned tooltip (#1345)
const bool window_is _child_tooltip = ( flags & ImGuiWindowFlags_ChildWindow ) & & ( flags & ImGuiWindowFlags_Tooltip ) ; // FIXME-WIP: Undocumented behavior of Child+Tooltip for pinned tooltip (#1345)
// Initialize
window - > ParentWindow = parent_window ;
window - > RootWindow = window - > RootNonPopupWindow = window ;
if ( parent_window & & ( flags & ImGuiWindowFlags_ChildWindow ) & & ! is_pinned _child_tooltip)
if ( parent_window & & ( flags & ImGuiWindowFlags_ChildWindow ) & & ! window_is _child_tooltip)
window - > RootWindow = parent_window - > RootWindow ;
if ( parent_window & & ! ( flags & ImGuiWindowFlags_Modal ) & & ( flags & ( ImGuiWindowFlags_ChildWindow | ImGuiWindowFlags_Popup ) ) )
window - > RootNonPopupWindow = parent_window - > RootNonPopupWindow ;
@ -4683,7 +4683,7 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
{
window - > BeginOrderWithinParent = parent_window - > DC . ChildWindows . Size ;
parent_window - > DC . ChildWindows . push_back ( window ) ;
if ( ! ( flags & ImGuiWindowFlags_Popup ) & & ! window_pos_set_by_api & & ! is_pinned _child_tooltip)
if ( ! ( flags & ImGuiWindowFlags_Popup ) & & ! window_pos_set_by_api & & ! window_is _child_tooltip)
window - > Pos = window - > PosFloat = parent_window - > DC . CursorPos ;
}
@ -4714,7 +4714,7 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
}
// Position tooltip (always follows mouse)
if ( ( flags & ImGuiWindowFlags_Tooltip ) ! = 0 & & ! window_pos_set_by_api & & ! is_pinned _child_tooltip)
if ( ( flags & ImGuiWindowFlags_Tooltip ) ! = 0 & & ! window_pos_set_by_api & & ! window_is _child_tooltip)
{
ImVec2 ref_pos = g . IO . MousePos ;
ImRect rect_to_avoid ( ref_pos . x - 16 , ref_pos . y - 8 , ref_pos . x + 24 , ref_pos . y + 24 ) ; // FIXME: Completely hard-coded. Store boxes in mouse cursor data? Scale? Center on cursor hit-point?
@ -4772,7 +4772,7 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
window - > DrawList - > Flags = ( g . Style . AntiAliasedLines ? ImDrawListFlags_AntiAliasedLines : 0 ) | ( g . Style . AntiAliasedFill ? ImDrawListFlags_AntiAliasedFill : 0 ) ;
window - > DrawList - > PushTextureID ( g . Font - > ContainerAtlas - > TexID ) ;
ImRect fullscreen_rect ( GetVisibleRect ( ) ) ;
if ( ( flags & ImGuiWindowFlags_ChildWindow ) & & ! ( flags & ImGuiWindowFlags_Popup ) & & ! is_pinned _child_tooltip)
if ( ( flags & ImGuiWindowFlags_ChildWindow ) & & ! ( flags & ImGuiWindowFlags_Popup ) & & ! window_is _child_tooltip)
PushClipRect ( parent_window - > ClipRect . Min , parent_window - > ClipRect . Max , true ) ;
else
PushClipRect ( fullscreen_rect . Min , fullscreen_rect . Max , true ) ;