@ -9879,63 +9879,68 @@ bool ImGui::ColorPicker4(const char* label, float col[4], ImGuiColorEditFlags fl 
			
		
	
		
			
				
					// Horizontal separating line.
  
			
		
	
		
			
				
					void  ImGui : : Separator ( )  
			
		
	
		
			
				
					{  
			
		
	
		
			
				
					    ImGuiContext &  g  =  * GImGui ;   
			
		
	
		
			
				
					    ImGuiWindow *  window  =  GetCurrentWindow ( ) ;   
			
		
	
		
			
				
					    if  ( window - > SkipItems )   
			
		
	
		
			
				
					        return ;   
			
		
	
		
			
				
					    ImGuiContext &  g  =  * GImGui ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    ImGuiWindowFlags  flags  =  0 ;   
			
		
	
		
			
				
					    if  ( ( flags  &  ( ImGuiSeparatorFlags_Horizontal  |  ImGuiSeparatorFlags_Vertical ) )  = =  0 )   
			
		
	
		
			
				
					        flags  | =  ( window - > DC . LayoutType  = =  ImGuiLayoutType_Horizontal )  ?  ImGuiSeparatorFlags_Vertical  :  ImGuiSeparatorFlags_Horizontal ;   
			
		
	
		
			
				
					    IM_ASSERT ( ImIsPowerOfTwo ( ( int ) ( flags  &  ( ImGuiSeparatorFlags_Horizontal  |  ImGuiSeparatorFlags_Vertical ) ) ) ) ;    // Check that only 1 option is selected
   
			
		
	
		
			
				
					    if  ( flags  &  ImGuiSeparatorFlags_Vertical )   
			
		
	
		
			
				
					    {   
			
		
	
		
			
				
					        if  ( window - > DC . LayoutType  = =  ImGuiLayoutType_Horizontal )   
			
		
	
		
			
				
					            flags  | =  ImGuiSeparatorFlags_Vertical ;   
			
		
	
		
			
				
					        else   
			
		
	
		
			
				
					            flags  | =  ImGuiSeparatorFlags_Horizontal ;   
			
		
	
		
			
				
					        VerticalSeparator ( ) ;   
			
		
	
		
			
				
					        return ;   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					    IM_ASSERT ( ImIsPowerOfTwo ( ( int ) ( flags  &  ( ImGuiSeparatorFlags_Horizontal  |  ImGuiSeparatorFlags_Vertical ) ) ) ) ;    // Check that only 1 option is selected
   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    if  ( flags  &  ImGuiSeparatorFlags_Horizontal )   
			
		
	
		
			
				
					    {   
			
		
	
		
			
				
					        if  ( window - > DC . ColumnsCount  >  1 )   
			
		
	
		
			
				
					            PopClipRect ( ) ;   
			
		
	
		
			
				
					    // Horizontal Separator
   
			
		
	
		
			
				
					    if  ( window - > DC . ColumnsCount  >  1 )   
			
		
	
		
			
				
					        PopClipRect ( ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					         float  x1  =  window - > Pos . x ;   
			
		
	
		
			
				
					         float  x2  =  window - > Pos . x  +  window - > Size . x ;   
			
		
	
		
			
				
					         if  ( ! window - > DC . GroupStack . empty ( ) )   
			
		
	
		
			
				
					             x1  + =  window - > DC . IndentX ;   
			
		
	
		
			
				
					    float  x1  =  window - > Pos . x ;   
			
		
	
		
			
				
					    float  x2  =  window - > Pos . x  +  window - > Size . x ;   
			
		
	
		
			
				
					    if  ( ! window - > DC . GroupStack . empty ( ) )   
			
		
	
		
			
				
					        x1  + =  window - > DC . IndentX ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					         const  ImRect  bb ( ImVec2 ( x1 ,  window - > DC . CursorPos . y ) ,  ImVec2 ( x2 ,  window - > DC . CursorPos . y + 1.0f ) ) ;   
			
		
	
		
			
				
					         ItemSize ( ImVec2 ( 0.0f ,  0.0f ) ) ;  // NB: we don't provide our width so that it doesn't get feed back into AutoFit, we don't provide height to not alter layout.
   
			
		
	
		
			
				
					         if  ( ! ItemAdd ( bb ,  NULL ) )   
			
		
	
		
			
				
					         {   
			
		
	
		
			
				
					             if  ( window - > DC . ColumnsCount  >  1 )   
			
		
	
		
			
				
					                 PushColumnClipRect ( ) ;   
			
		
	
		
			
				
					             return ;   
			
		
	
		
			
				
					         }   
			
		
	
		
			
				
					    const  ImRect  bb ( ImVec2 ( x1 ,  window - > DC . CursorPos . y ) ,  ImVec2 ( x2 ,  window - > DC . CursorPos . y + 1.0f ) ) ;   
			
		
	
		
			
				
					    ItemSize ( ImVec2 ( 0.0f ,  0.0f ) ) ;  // NB: we don't provide our width so that it doesn't get feed back into AutoFit, we don't provide height to not alter layout.
   
			
		
	
		
			
				
					    if  ( ! ItemAdd ( bb ,  NULL ) )   
			
		
	
		
			
				
					    {   
			
		
	
		
			
				
					        if  ( window - > DC . ColumnsCount  >  1 )   
			
		
	
		
			
				
					            PushColumnClipRect ( ) ;   
			
		
	
		
			
				
					        return ;   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					         window - > DrawList - > AddLine ( bb . Min ,  ImVec2 ( bb . Max . x , bb . Min . y ) ,  GetColorU32 ( ImGuiCol_Separator ) ) ;   
			
		
	
		
			
				
					    window - > DrawList - > AddLine ( bb . Min ,  ImVec2 ( bb . Max . x , bb . Min . y ) ,  GetColorU32 ( ImGuiCol_Separator ) ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					         if  ( g . LogEnabled )   
			
		
	
		
			
				
					    if  ( g . LogEnabled )   
			
		
	
		
			
				
					            LogRenderedText ( NULL ,  IM_NEWLINE  " -------------------------------- " ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        if  ( window - > DC . ColumnsCount  >  1 )   
			
		
	
		
			
				
					        {   
			
		
	
		
			
				
					            PushColumnClipRect ( ) ;   
			
		
	
		
			
				
					            window - > DC . ColumnsCellMinY  =  window - > DC . CursorPos . y ;   
			
		
	
		
			
				
					        }   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					    else  if  ( flags  &  ImGuiSeparatorFlags_Vertical )   
			
		
	
		
			
				
					    if  ( window - > DC . ColumnsCount  >  1 )   
			
		
	
		
			
				
					    {   
			
		
	
		
			
				
					        const  ImRect  bb ( window - > DC . CursorPos ,  window - > DC . CursorPos  +  ImVec2 ( 1.0f ,  window - > DC . CurrentLineHeight ) ) ;   
			
		
	
		
			
				
					        ItemSize ( ImVec2 ( bb . GetWidth ( ) ,  0.0f ) ) ;   
			
		
	
		
			
				
					        if  ( ! ItemAdd ( bb ,  NULL ) )    
			
		
	
		
			
				
					            return ;   
			
		
	
		
			
				
					        PushColumnClipRect ( ) ;   
			
		
	
		
			
				
					        window - > DC . ColumnsCellMinY  =  window - > DC . CursorPos . y ;   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        window - > DrawList - > AddLine ( ImVec2 ( bb . Min . x ,  bb . Min . y ) ,  ImVec2 ( bb . Min . x ,  bb . Max . y ) ,  GetColorU32 ( ImGuiCol_Separator ) ) ;   
			
		
	
		
			
				
					void  ImGui : : VerticalSeparator ( )  
			
		
	
		
			
				
					{  
			
		
	
		
			
				
					    ImGuiWindow *  window  =  GetCurrentWindow ( ) ;   
			
		
	
		
			
				
					    if  ( window - > SkipItems )   
			
		
	
		
			
				
					        return ;   
			
		
	
		
			
				
					    ImGuiContext &  g  =  * GImGui ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        if  ( g . LogEnabled )   
			
		
	
		
			
				
					            LogText ( " | " ) ;   
			
		
	
		
			
				
					    }   
			
		
	
		
			
				
					    float  y1  =  window - > DC . CursorPos . y ;   
			
		
	
		
			
				
					    float  y2  =  window - > DC . CursorPos . y  +  window - > DC . CurrentLineHeight ;  
  
			
		
	
		
			
				
					    const  ImRect  bb ( ImVec2 ( window - > DC . CursorPos . x ,  y1 ) ,  ImVec2 ( window - > DC . CursorPos . x  +  1.0f ,  y2 ) ) ;   
			
		
	
		
			
				
					    ItemSize ( ImVec2 ( bb . GetWidth ( ) ,  0.0f ) ) ;   
			
		
	
		
			
				
					    if  ( ! ItemAdd ( bb ,  NULL ) )   
			
		
	
		
			
				
					        return ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    window - > DrawList - > AddLine ( ImVec2 ( bb . Min . x ,  bb . Min . y ) ,  ImVec2 ( bb . Min . x ,  bb . Max . y ) ,  GetColorU32 ( ImGuiCol_Separator ) ) ;   
			
		
	
		
			
				
					    if  ( g . LogEnabled )   
			
		
	
		
			
				
					        LogText ( "  | " ) ;   
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  ImGui : : Spacing ( )