@ -590,8 +590,6 @@ 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					// Forward Declarations
  
					 
					 
					 
					// Forward Declarations
  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					//-------------------------------------------------------------------------
  
					 
					 
					 
					//-------------------------------------------------------------------------
  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					static  void              LogRenderedText ( const  ImVec2 &  ref_pos ,  const  char *  text ,  const  char *  text_end  =  NULL ) ;  
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					static  float             GetDraggedColumnOffset ( int  column_index ) ;  
					 
					 
					 
					static  float             GetDraggedColumnOffset ( int  column_index ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					static  bool              IsKeyPressedMap ( ImGuiKey  key ,  bool  repeat  =  true ) ;  
					 
					 
					 
					static  bool              IsKeyPressedMap ( ImGuiKey  key ,  bool  repeat  =  true ) ;  
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -2870,7 +2868,7 @@ void ImGui::LogText(const char* fmt, ...) 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					// Internal version that takes a position to decide on newline placement and pad items according to their depth.
  
					 
					 
					 
					// Internal version that takes a position to decide on newline placement and pad items according to their depth.
  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					// We split text into individual lines to add current tree level padding
  
					 
					 
					 
					// We split text into individual lines to add current tree level padding
  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					static  void  LogRenderedText ( const  ImVec2 &   ref_pos ,  const  char *  text ,  const  char *  text_end )  
					 
					 
					 
					static  void  LogRenderedText ( const  ImVec2 *   ref_pos ,  const  char *  text ,  const  char *  text_end  =  NULL  )  
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					{  
					 
					 
					 
					{  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    ImGuiContext &  g  =  * GImGui ;   
					 
					 
					 
					    ImGuiContext &  g  =  * GImGui ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    ImGuiWindow *  window  =  ImGui : : GetCurrentWindowRead ( ) ;   
					 
					 
					 
					    ImGuiWindow *  window  =  ImGui : : GetCurrentWindowRead ( ) ;   
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -2878,8 +2876,9 @@ static void LogRenderedText(const ImVec2& ref_pos, const char* text, const char* 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    if  ( ! text_end )   
					 
					 
					 
					    if  ( ! text_end )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        text_end  =  ImGui : : FindRenderedTextEnd ( text ,  text_end ) ;   
					 
					 
					 
					        text_end  =  ImGui : : FindRenderedTextEnd ( text ,  text_end ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    const  bool  log_new_line  =  ref_pos . y  >  window - > DC . LogLinePosY + 1 ;   
					 
					 
					 
					    const  bool  log_new_line  =  ref_pos  & &  ( ref_pos - > y  >  window - > DC . LogLinePosY  +  1 ) ;   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					    window - > DC . LogLinePosY  =  ref_pos . y ;   
					 
					 
					 
					    if  ( ref_pos )   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					        window - > DC . LogLinePosY  =  ref_pos - > y ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    const  char *  text_remaining  =  text ;   
					 
					 
					 
					    const  char *  text_remaining  =  text ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    if  ( g . LogStartDepth  >  window - > DC . TreeDepth )   // Re-adjust padding if we have popped out of our starting depth
   
					 
					 
					 
					    if  ( g . LogStartDepth  >  window - > DC . TreeDepth )   // Re-adjust padding if we have popped out of our starting depth
   
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -2944,7 +2943,7 @@ void ImGui::RenderText(ImVec2 pos, const char* text, const char* text_end, bool 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    {   
					 
					 
					 
					    {   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        window - > DrawList - > AddText ( g . Font ,  g . FontSize ,  pos ,  GetColorU32 ( ImGuiCol_Text ) ,  text ,  text_display_end ) ;   
					 
					 
					 
					        window - > DrawList - > AddText ( g . Font ,  g . FontSize ,  pos ,  GetColorU32 ( ImGuiCol_Text ) ,  text ,  text_display_end ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        if  ( g . LogEnabled )   
					 
					 
					 
					        if  ( g . LogEnabled )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            LogRenderedText ( pos ,  text ,  text_display_end ) ;   
					 
					 
					 
					            LogRenderedText ( & pos ,  text ,  text_display_end ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					    }   
					 
					 
					 
					    }   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					}  
					 
					 
					 
					}  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -2961,7 +2960,7 @@ void ImGui::RenderTextWrapped(ImVec2 pos, const char* text, const char* text_end 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    {   
					 
					 
					 
					    {   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        window - > DrawList - > AddText ( g . Font ,  g . FontSize ,  pos ,  GetColorU32 ( ImGuiCol_Text ) ,  text ,  text_end ,  wrap_width ) ;   
					 
					 
					 
					        window - > DrawList - > AddText ( g . Font ,  g . FontSize ,  pos ,  GetColorU32 ( ImGuiCol_Text ) ,  text ,  text_end ,  wrap_width ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        if  ( g . LogEnabled )   
					 
					 
					 
					        if  ( g . LogEnabled )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            LogRenderedText ( pos ,  text ,  text_end ) ;   
					 
					 
					 
					            LogRenderedText ( & pos ,  text ,  text_end ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					    }   
					 
					 
					 
					    }   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					}  
					 
					 
					 
					}  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -3003,7 +3002,7 @@ void ImGui::RenderTextClipped(const ImVec2& pos_min, const ImVec2& pos_max, cons 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        window - > DrawList - > AddText ( g . Font ,  g . FontSize ,  pos ,  GetColorU32 ( ImGuiCol_Text ) ,  text ,  text_display_end ,  0.0f ,  NULL ) ;   
					 
					 
					 
					        window - > DrawList - > AddText ( g . Font ,  g . FontSize ,  pos ,  GetColorU32 ( ImGuiCol_Text ) ,  text ,  text_display_end ,  0.0f ,  NULL ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    }   
					 
					 
					 
					    }   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    if  ( g . LogEnabled )   
					 
					 
					 
					    if  ( g . LogEnabled )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        LogRenderedText ( pos ,  text ,  text_display_end ) ;   
					 
					 
					 
					        LogRenderedText ( & pos ,  text ,  text_display_end ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					}  
					 
					 
					 
					}  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					// Render a rectangle shaped with optional rounding and borders
  
					 
					 
					 
					// Render a rectangle shaped with optional rounding and borders
  
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -4288,7 +4287,7 @@ bool ImGui::Begin(const char* name, bool* p_open, const ImVec2& size_on_first_us 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        if  ( window - > Collapsed )   
					 
					 
					 
					        if  ( window - > Collapsed )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        {   
					 
					 
					 
					        {   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            // Title bar only
   
					 
					 
					 
					            // Title bar only
   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            RenderFrame ( title_bar_rect . GetTL ( ) ,  title_bar_rect . GetBR ( ) ,  GetColorU32 ( ImGuiCol_TitleBgCollapsed ) ,  true ,  window_rounding ) ;   
					 
					 
					 
					            RenderFrame ( title_bar_rect . Min ,  title_bar_rect . Max ,  GetColorU32 ( ImGuiCol_TitleBgCollapsed ) ,  true ,  window_rounding ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					        }   
					 
					 
					 
					        }   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        else   
					 
					 
					 
					        else   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        {   
					 
					 
					 
					        {   
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -6148,9 +6147,9 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            // NB: '##' is normally used to hide text (as a library-wide feature), so we need to specify the text range to make sure the ## aren't stripped out here.
   
					 
					 
					 
					            // NB: '##' is normally used to hide text (as a library-wide feature), so we need to specify the text range to make sure the ## aren't stripped out here.
   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            const  char  log_prefix [ ]  =  " \n ## " ;   
					 
					 
					 
					            const  char  log_prefix [ ]  =  " \n ## " ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            const  char  log_suffix [ ]  =  " ## " ;   
					 
					 
					 
					            const  char  log_suffix [ ]  =  " ## " ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            LogRenderedText ( text_pos ,  log_prefix ,  log_prefix + 3 ) ;   
					 
					 
					 
					            LogRenderedText ( & text_pos ,  log_prefix ,  log_prefix + 3 ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					            RenderTextClipped ( text_pos ,  bb . Max ,  label ,  label_end ,  & label_size ) ;   
					 
					 
					 
					            RenderTextClipped ( text_pos ,  bb . Max ,  label ,  label_end ,  & label_size ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            LogRenderedText ( text_pos ,  log_suffix + 1 ,  log_suffix + 3 ) ;   
					 
					 
					 
					            LogRenderedText ( & text_pos ,  log_suffix + 1 ,  log_suffix + 3 ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					        }   
					 
					 
					 
					        }   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        else   
					 
					 
					 
					        else   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        {   
					 
					 
					 
					        {   
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -6168,7 +6167,7 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        else  if  ( ! ( flags  &  ImGuiTreeNodeFlags_Leaf ) )   
					 
					 
					 
					        else  if  ( ! ( flags  &  ImGuiTreeNodeFlags_Leaf ) )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            RenderCollapseTriangle ( bb . Min  +  ImVec2 ( padding . x ,  g . FontSize * 0.15f  +  text_base_offset_y ) ,  is_open ,  0.70f ) ;   
					 
					 
					 
					            RenderCollapseTriangle ( bb . Min  +  ImVec2 ( padding . x ,  g . FontSize * 0.15f  +  text_base_offset_y ) ,  is_open ,  0.70f ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        if  ( g . LogEnabled )   
					 
					 
					 
					        if  ( g . LogEnabled )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            LogRenderedText ( text_pos ,  " > " ) ;   
					 
					 
					 
					            LogRenderedText ( & text_pos ,  " > " ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					        RenderText ( text_pos ,  label ,  label_end ,  false ) ;   
					 
					 
					 
					        RenderText ( text_pos ,  label ,  label_end ,  false ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    }   
					 
					 
					 
					    }   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -7461,9 +7460,9 @@ bool ImGui::Checkbox(const char* label, bool* v) 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    }   
					 
					 
					 
					    }   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    if  ( g . LogEnabled )   
					 
					 
					 
					    if  ( g . LogEnabled )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        LogRenderedText ( text_bb . GetTL ( ) ,  * v  ?  " [x] "  :  " [ ] " ) ;   
					 
					 
					 
					        LogRenderedText ( & text_bb . Min ,  * v  ?  " [x] "  :  " [ ] " ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					    if  ( label_size . x  >  0.0f )   
					 
					 
					 
					    if  ( label_size . x  >  0.0f )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        RenderText ( text_bb . GetTL ( ) ,  label ) ;   
					 
					 
					 
					        RenderText ( text_bb . Min ,  label ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    return  pressed ;   
					 
					 
					 
					    return  pressed ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					}  
					 
					 
					 
					}  
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -7533,9 +7532,9 @@ bool ImGui::RadioButton(const char* label, bool active) 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    }   
					 
					 
					 
					    }   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    if  ( g . LogEnabled )   
					 
					 
					 
					    if  ( g . LogEnabled )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        LogRenderedText ( text_bb . GetTL ( ) ,  active  ?  " (x) "  :  " ( ) " ) ;   
					 
					 
					 
					        LogRenderedText ( & text_bb . Min ,  active  ?  " (x) "  :  " ( ) " ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					    if  ( label_size . x  >  0.0f )   
					 
					 
					 
					    if  ( label_size . x  >  0.0f )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        RenderText ( text_bb . GetTL ( ) ,  label ) ;   
					 
					 
					 
					        RenderText ( text_bb . Min ,  label ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    return  pressed ;   
					 
					 
					 
					    return  pressed ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					}  
					 
					 
					 
					}  
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -8378,7 +8377,7 @@ bool ImGui::InputTextEx(const char* label, char* buf, int buf_size, const ImVec2 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    // Log as text
   
					 
					 
					 
					    // Log as text
   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    if  ( g . LogEnabled  & &  ! is_password )   
					 
					 
					 
					    if  ( g . LogEnabled  & &  ! is_password )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        LogRenderedText ( render_pos ,  buf_display ,  NULL ) ;   
					 
					 
					 
					        LogRenderedText ( & render_pos ,  buf_display ,  NULL ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    if  ( label_size . x  >  0 )   
					 
					 
					 
					    if  ( label_size . x  >  0 )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        RenderText ( ImVec2 ( frame_bb . Max . x  +  style . ItemInnerSpacing . x ,  frame_bb . Min . y  +  style . FramePadding . y ) ,  label ) ;   
					 
					 
					 
					        RenderText ( ImVec2 ( frame_bb . Max . x  +  style . ItemInnerSpacing . x ,  frame_bb . Min . y  +  style . FramePadding . y ) ,  label ) ;   
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -9917,7 +9916,7 @@ void ImGui::Separator() 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        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 )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            LogText ( IM_NEWLINE  " -------------------------------- " ) ;   
					 
					 
					 
					            LogRendered Text ( NULL ,  IM_NEWLINE  " -------------------------------- " ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        if  ( window - > DC . ColumnsCount  >  1 )   
					 
					 
					 
					        if  ( window - > DC . ColumnsCount  >  1 )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        {   
					 
					 
					 
					        {