@ -3245,7 +3245,7 @@ static void ImGui::NavUpdate()
g . NavScoringCount = 0 ;
# if IMGUI_DEBUG_NAV_RECTS
if ( g . NavWindow ) { for ( int layer = 0 ; layer < 2 ; layer + + ) g . OverlayDrawList . AddRect ( g . NavWindow - > Pos + g . NavWindow - > NavRectRel [ layer ] . Min , g . NavWindow - > Pos + g . NavWindow - > NavRectRel [ layer ] . Max , IM_COL32 ( 255 , 200 , 0 , 255 ) ) ; } // [DEBUG]
if ( g . NavWindow ) { ImU32 col = ( g . NavWindow - > HiddenFrames < = 0 ) ? IM_COL32 ( 255 , 0 , 255 , 255 ) : IM_COL32 ( 255 , 0 , 0 , 255 ) ; ImVec2 p = NavCalcPreferredMousePos ( ) ; char buf [ 32 ] ; ImFormatString ( buf , 32 , " %d " , g . NavLayer ) ; g . OverlayDrawList . AddCircleFilled ( p , 3.0f , col ) ; g . OverlayDrawList . AddText ( NULL , 13.0f , p + ImVec2 ( 8 , - 4 ) , col , buf ) ; }
if ( g . NavWindow ) { ImU32 col = ( g . NavWindow - > HiddenFrames = = 0 ) ? IM_COL32 ( 255 , 0 , 255 , 255 ) : IM_COL32 ( 255 , 0 , 0 , 255 ) ; ImVec2 p = NavCalcPreferredMousePos ( ) ; char buf [ 32 ] ; ImFormatString ( buf , 32 , " %d " , g . NavLayer ) ; g . OverlayDrawList . AddCircleFilled ( p , 3.0f , col ) ; g . OverlayDrawList . AddText ( NULL , 13.0f , p + ImVec2 ( 8 , - 4 ) , col , buf ) ; }
# endif
}
@ -3902,7 +3902,7 @@ static void AddWindowToDrawData(ImVector<ImDrawList*>* out_render_list, ImGuiWin
for ( int i = 0 ; i < window - > DC . ChildWindows . Size ; i + + )
{
ImGuiWindow * child = window - > DC . ChildWindows [ i ] ;
if ( child - > Active & & child - > HiddenFrames < = 0 ) // clipped children may have been marked not active
if ( child - > Active & & child - > HiddenFrames = = 0 ) // clipped children may have been marked not active
AddWindowToDrawData ( out_render_list , child ) ;
}
}
@ -4070,10 +4070,10 @@ void ImGui::Render()
for ( int n = 0 ; n ! = g . Windows . Size ; n + + )
{
ImGuiWindow * window = g . Windows [ n ] ;
if ( window - > Active & & window - > HiddenFrames < = 0 & & ( window - > Flags & ImGuiWindowFlags_ChildWindow ) = = 0 & & window ! = window_to_render_front_most )
if ( window - > Active & & window - > HiddenFrames = = 0 & & ( window - > Flags & ImGuiWindowFlags_ChildWindow ) = = 0 & & window ! = window_to_render_front_most )
AddWindowToDrawDataSelectLayer ( window ) ;
}
if ( window_to_render_front_most & & window_to_render_front_most - > Active & & window_to_render_front_most - > HiddenFrames < = 0 ) // NavWindowingTarget is always temporarily displayed as the front-most window
if ( window_to_render_front_most & & window_to_render_front_most - > Active & & window_to_render_front_most - > HiddenFrames = = 0 ) // NavWindowingTarget is always temporarily displayed as the front-most window
AddWindowToDrawDataSelectLayer ( window_to_render_front_most ) ;
g . DrawDataBuilder . FlattenIntoSingleLayer ( ) ;
@ -4773,7 +4773,7 @@ void ImGui::BeginTooltipEx(ImGuiWindowFlags extra_flags, bool override_previous_
if ( ImGuiWindow * window = FindWindowByName ( window_name ) )
if ( window - > Active )
{
// Hide previous tooltip s. We can't easily "reset" the content of a window so we create a new one.
// Hide previous tooltip from being di splayed . We can't easily "reset" the content of a window so we create a new one.
window - > HiddenFrames = 1 ;
ImFormatString ( window_name , IM_ARRAYSIZE ( window_name ) , " ##Tooltip_%02d " , + + g . TooltipOverrideCount ) ;
}
@ -5619,7 +5619,7 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
// Update the Appearing flag
bool window_just_activated_by_user = ( window - > LastFrameActive < current_frame - 1 ) ; // Not using !WasActive because the implicit "Debug" window would always toggle off->on
const bool window_just_appearing_after_hidden_for_resize = ( window - > HiddenFrames == 1 ) ;
const bool window_just_appearing_after_hidden_for_resize = ( window - > HiddenFrames > 0 ) ;
if ( flags & ImGuiWindowFlags_Popup )
{
ImGuiPopupRef & popup_ref = g . OpenPopupStack [ g . CurrentPopupStack . Size ] ;
@ -5775,7 +5775,7 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
// Calculate auto-fit size, handle automatic resize
const ImVec2 size_auto_fit = CalcSizeAutoFit ( window , window - > SizeContents ) ;
ImVec2 size_full_modified ( FLT_MAX , FLT_MAX ) ;
if ( flags & ImGuiWindowFlags_AlwaysAutoResize & & ! window - > Collapsed )
if ( ( flags & ImGuiWindowFlags_AlwaysAutoResize ) & & ! window - > Collapsed )
{
// Using SetNextWindowSize() overrides ImGuiWindowFlags_AlwaysAutoResize, so it can be used on tooltips/popups, etc.
if ( ! window_size_x_set_by_api )
@ -5785,7 +5785,7 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
}
else if ( window - > AutoFitFramesX > 0 | | window - > AutoFitFramesY > 0 )
{
// Auto-fit only grows during the first few frames
// Auto-fit may only grow window during the first few frames
// We still process initial auto-fit on collapsed windows to get a window width, but otherwise don't honor ImGuiWindowFlags_AlwaysAutoResize when collapsed.
if ( ! window_size_x_set_by_api & & window - > AutoFitFramesX > 0 )
window - > SizeFull . x = size_full_modified . x = window - > AutoFitOnlyGrows ? ImMax ( window - > SizeFull . x , size_auto_fit . x ) : size_auto_fit . x ;