@ -548,9 +548,9 @@ struct IMGUI_API ImRect 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    bool         IsInverted ( )  const                   {  return  Min . x  >  Max . x  | |  Min . y  >  Max . y ;  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    ImVec4       ToVec4 ( )  const                       {  return  ImVec4 ( Min . x ,  Min . y ,  Max . x ,  Max . y ) ;  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					} ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					IM_MSVC_RUNTIME_CHECKS_RESTORE  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					// Helper: ImBitArray
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					# define         IM_BITARRAY_TESTBIT(_ARRAY, _N)                 ((_ARRAY[(_N) >> 5] & ((ImU32)1 << ((_N) & 31))) != 0)  // Macro version of ImBitArrayTestBit(): ensure args have side-effect or are costly!
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					inline  bool      ImBitArrayTestBit ( const  ImU32 *  arr ,  int  n )       {  ImU32  mask  =  ( ImU32 ) 1  < <  ( n  &  31 ) ;  return  ( arr [ n  > >  5 ]  &  mask )  ! =  0 ;  }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					inline  void      ImBitArrayClearBit ( ImU32 *  arr ,  int  n )            {  ImU32  mask  =  ( ImU32 ) 1  < <  ( n  &  31 ) ;  arr [ n  > >  5 ]  & =  ~ mask ;  }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					inline  void      ImBitArraySetBit ( ImU32 *  arr ,  int  n )              {  ImU32  mask  =  ( ImU32 ) 1  < <  ( n  &  31 ) ;  arr [ n  > >  5 ]  | =  mask ;  }  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -576,11 +576,11 @@ struct ImBitArray 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    ImBitArray ( )                                 {  ClearAllBits ( ) ;  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    void             ClearAllBits ( )               {  memset ( Storage ,  0 ,  sizeof ( Storage ) ) ;  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    void             SetAllBits ( )                 {  memset ( Storage ,  255 ,  sizeof ( Storage ) ) ;  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    bool             TestBit ( int  n )  const         {  n  + =  OFFSET ;  IM_ASSERT ( n  > =  0  & &  n  <  BITCOUNT ) ;  return  ImBitArrayTestBit  ( Storage ,  n ) ;  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    bool             TestBit ( int  n )  const         {  n  + =  OFFSET ;  IM_ASSERT ( n  > =  0  & &  n  <  BITCOUNT ) ;  return  IM_BITARRAY_TESTBIT  ( Storage ,  n ) ;  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    void             SetBit ( int  n )                {  n  + =  OFFSET ;  IM_ASSERT ( n  > =  0  & &  n  <  BITCOUNT ) ;  ImBitArraySetBit ( Storage ,  n ) ;  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    void             ClearBit ( int  n )              {  n  + =  OFFSET ;  IM_ASSERT ( n  > =  0  & &  n  <  BITCOUNT ) ;  ImBitArrayClearBit ( Storage ,  n ) ;  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    void             SetBitRange ( int  n ,  int  n2 )   {  n  + =  OFFSET ;  n2  + =  OFFSET ;  IM_ASSERT ( n  > =  0  & &  n  <  BITCOUNT  & &  n2  >  n  & &  n2  < =  BITCOUNT ) ;  ImBitArraySetBitRange ( Storage ,  n ,  n2 ) ;  }  // Works on range [n..n2)
   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    bool             operator [ ] ( int  n )  const      {  n  + =  OFFSET ;  IM_ASSERT ( n  > =  0  & &  n  <  BITCOUNT ) ;  return  ImBitArrayTestBit  ( Storage ,  n ) ;  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    bool             operator [ ] ( int  n )  const      {  n  + =  OFFSET ;  IM_ASSERT ( n  > =  0  & &  n  <  BITCOUNT ) ;  return  IM_BITARRAY_TESTBIT  ( Storage ,  n ) ;  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					} ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					// Helper: ImBitVector
  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -590,10 +590,11 @@ struct IMGUI_API ImBitVector 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    ImVector < ImU32 >  Storage ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    void             Create ( int  sz )               {  Storage . resize ( ( sz  +  31 )  > >  5 ) ;  memset ( Storage . Data ,  0 ,  ( size_t ) Storage . Size  *  sizeof ( Storage . Data [ 0 ] ) ) ;  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    void             Clear ( )                      {  Storage . clear ( ) ;  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    bool             TestBit ( int  n )  const         {  IM_ASSERT ( n  <  ( Storage . Size  < <  5 ) ) ;  return  ImBitArrayTestBit  ( Storage . Data ,  n ) ;  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    bool             TestBit ( int  n )  const         {  IM_ASSERT ( n  <  ( Storage . Size  < <  5 ) ) ;  return  IM_BITARRAY_TESTBIT  ( Storage . Data ,  n ) ;  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    void             SetBit ( int  n )                {  IM_ASSERT ( n  <  ( Storage . Size  < <  5 ) ) ;  ImBitArraySetBit ( Storage . Data ,  n ) ;  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    void             ClearBit ( int  n )              {  IM_ASSERT ( n  <  ( Storage . Size  < <  5 ) ) ;  ImBitArrayClearBit ( Storage . Data ,  n ) ;  }   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					} ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					IM_MSVC_RUNTIME_CHECKS_RESTORE  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					// Helper: ImSpan<>
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					// Pointing to a span of data we don't own.