@ -3404,7 +3404,7 @@ bool ImGui::InputTextEx(const char* label, char* buf, int buf_size, const ImVec2 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            {   
					 
					 
					 
					            {   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					                // Filter pasted buffer
   
					 
					 
					 
					                // Filter pasted buffer
   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					                const  int  clipboard_len  =  ( int ) strlen ( clipboard ) ;   
					 
					 
					 
					                const  int  clipboard_len  =  ( int ) strlen ( clipboard ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					                ImWchar *  clipboard_filtered  =  ( ImWchar * ) ImGui : : MemAlloc ( ( clipboard_len + 1 )  *  sizeof ( ImWchar ) ) ;   
					 
					 
					 
					                ImWchar *  clipboard_filtered  =  ( ImWchar * ) MemAlloc ( ( clipboard_len + 1 )  *  sizeof ( ImWchar ) ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					                int  clipboard_filtered_len  =  0 ;   
					 
					 
					 
					                int  clipboard_filtered_len  =  0 ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					                for  ( const  char *  s  =  clipboard ;  * s ;  )   
					 
					 
					 
					                for  ( const  char *  s  =  clipboard ;  * s ;  )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					                {   
					 
					 
					 
					                {   
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -3422,7 +3422,7 @@ bool ImGui::InputTextEx(const char* label, char* buf, int buf_size, const ImVec2 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					                    stb_textedit_paste ( & edit_state ,  & edit_state . StbState ,  clipboard_filtered ,  clipboard_filtered_len ) ;   
					 
					 
					 
					                    stb_textedit_paste ( & edit_state ,  & edit_state . StbState ,  clipboard_filtered ,  clipboard_filtered_len ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					                    edit_state . CursorFollow  =  true ;   
					 
					 
					 
					                    edit_state . CursorFollow  =  true ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					                }   
					 
					 
					 
					                }   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					                ImGui : : MemFree ( clipboard_filtered ) ;   
					 
					 
					 
					                MemFree ( clipboard_filtered ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					            }   
					 
					 
					 
					            }   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        }   
					 
					 
					 
					        }   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    }   
					 
					 
					 
					    }   
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -4532,38 +4532,38 @@ void ImGui::ColorPickerOptionsPopup(const float* ref_col, ImGuiColorEditFlags fl 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					{  
					 
					 
					 
					{  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    bool  allow_opt_picker  =  ! ( flags  &  ImGuiColorEditFlags__PickerMask ) ;   
					 
					 
					 
					    bool  allow_opt_picker  =  ! ( flags  &  ImGuiColorEditFlags__PickerMask ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    bool  allow_opt_alpha_bar  =  ! ( flags  &  ImGuiColorEditFlags_NoAlpha )  & &  ! ( flags  &  ImGuiColorEditFlags_AlphaBar ) ;   
					 
					 
					 
					    bool  allow_opt_alpha_bar  =  ! ( flags  &  ImGuiColorEditFlags_NoAlpha )  & &  ! ( flags  &  ImGuiColorEditFlags_AlphaBar ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    if  ( ( ! allow_opt_picker  & &  ! allow_opt_alpha_bar )  | |  ! ImGui : : BeginPopup ( " context " ) )   
					 
					 
					 
					    if  ( ( ! allow_opt_picker  & &  ! allow_opt_alpha_bar )  | |  ! BeginPopup ( " context " ) )   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					        return ;   
					 
					 
					 
					        return ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    ImGuiContext &  g  =  * GImGui ;   
					 
					 
					 
					    ImGuiContext &  g  =  * GImGui ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    if  ( allow_opt_picker )   
					 
					 
					 
					    if  ( allow_opt_picker )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    {   
					 
					 
					 
					    {   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        ImVec2  picker_size ( g . FontSize  *  8 ,  ImMax ( g . FontSize  *  8  -  ( ImGui : : GetFrameHeight ( )  +  g . Style . ItemInnerSpacing . x ) ,  1.0f ) ) ;  // FIXME: Picker size copied from main picker function
   
					 
					 
					 
					        ImVec2  picker_size ( g . FontSize  *  8 ,  ImMax ( g . FontSize  *  8  -  ( GetFrameHeight ( )  +  g . Style . ItemInnerSpacing . x ) ,  1.0f ) ) ;  // FIXME: Picker size copied from main picker function
   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					        ImGui : : PushItemWidth ( picker_size . x ) ;   
					 
					 
					 
					        PushItemWidth ( picker_size . x ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					        for  ( int  picker_type  =  0 ;  picker_type  <  2 ;  picker_type + + )   
					 
					 
					 
					        for  ( int  picker_type  =  0 ;  picker_type  <  2 ;  picker_type + + )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        {   
					 
					 
					 
					        {   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            // Draw small/thumbnail version of each picker type (over an invisible button for selection)
   
					 
					 
					 
					            // Draw small/thumbnail version of each picker type (over an invisible button for selection)
   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            if  ( picker_type  >  0 )  ImGui : : Separator ( ) ;   
					 
					 
					 
					            if  ( picker_type  >  0 )  Separator ( ) ;   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					            ImGui : : PushID ( picker_type ) ;   
					 
					 
					 
					            PushID ( picker_type ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					            ImGuiColorEditFlags  picker_flags  =  ImGuiColorEditFlags_NoInputs | ImGuiColorEditFlags_NoOptions | ImGuiColorEditFlags_NoLabel | ImGuiColorEditFlags_NoSidePreview | ( flags  &  ImGuiColorEditFlags_NoAlpha ) ;   
					 
					 
					 
					            ImGuiColorEditFlags  picker_flags  =  ImGuiColorEditFlags_NoInputs | ImGuiColorEditFlags_NoOptions | ImGuiColorEditFlags_NoLabel | ImGuiColorEditFlags_NoSidePreview | ( flags  &  ImGuiColorEditFlags_NoAlpha ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            if  ( picker_type  = =  0 )  picker_flags  | =  ImGuiColorEditFlags_PickerHueBar ;   
					 
					 
					 
					            if  ( picker_type  = =  0 )  picker_flags  | =  ImGuiColorEditFlags_PickerHueBar ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            if  ( picker_type  = =  1 )  picker_flags  | =  ImGuiColorEditFlags_PickerHueWheel ;   
					 
					 
					 
					            if  ( picker_type  = =  1 )  picker_flags  | =  ImGuiColorEditFlags_PickerHueWheel ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            ImVec2  backup_pos  =  ImGui : : GetCursorScreenPos ( ) ;   
					 
					 
					 
					            ImVec2  backup_pos  =  GetCursorScreenPos ( ) ;   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					            if  ( ImGui : : Selectable ( " ##selectable " ,  false ,  0 ,  picker_size ) )  // By default, Selectable() is closing popup
   
					 
					 
					 
					            if  ( Selectable ( " ##selectable " ,  false ,  0 ,  picker_size ) )  // By default, Selectable() is closing popup
   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					                g . ColorEditOptions  =  ( g . ColorEditOptions  &  ~ ImGuiColorEditFlags__PickerMask )  |  ( picker_flags  &  ImGuiColorEditFlags__PickerMask ) ;   
					 
					 
					 
					                g . ColorEditOptions  =  ( g . ColorEditOptions  &  ~ ImGuiColorEditFlags__PickerMask )  |  ( picker_flags  &  ImGuiColorEditFlags__PickerMask ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            ImGui : : SetCursorScreenPos ( backup_pos ) ;   
					 
					 
					 
					            SetCursorScreenPos ( backup_pos ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					            ImVec4  dummy_ref_col ;   
					 
					 
					 
					            ImVec4  dummy_ref_col ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            memcpy ( & dummy_ref_col . x ,  ref_col ,  sizeof ( float )  *  ( picker_flags  &  ImGuiColorEditFlags_NoAlpha  ?  3  :  4 ) ) ;   
					 
					 
					 
					            memcpy ( & dummy_ref_col . x ,  ref_col ,  sizeof ( float )  *  ( picker_flags  &  ImGuiColorEditFlags_NoAlpha  ?  3  :  4 ) ) ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					            ImGui : : ColorPicker4 ( " ##dummypicker " ,  & dummy_ref_col . x ,  picker_flags ) ;   
					 
					 
					 
					            ColorPicker4 ( " ##dummypicker " ,  & dummy_ref_col . x ,  picker_flags ) ;   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					            ImGui : : PopID ( ) ;   
					 
					 
					 
					            PopID ( ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					        }   
					 
					 
					 
					        }   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        ImGui : : PopItemWidth ( ) ;   
					 
					 
					 
					        PopItemWidth ( ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					    }   
					 
					 
					 
					    }   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    if  ( allow_opt_alpha_bar )   
					 
					 
					 
					    if  ( allow_opt_alpha_bar )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    {   
					 
					 
					 
					    {   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					        if  ( allow_opt_picker )  ImGui : : Separator ( ) ;   
					 
					 
					 
					        if  ( allow_opt_picker )  Separator ( ) ;   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					        ImGui : : CheckboxFlags ( " Alpha Bar " ,  ( unsigned  int * ) & g . ColorEditOptions ,  ImGuiColorEditFlags_AlphaBar ) ;   
					 
					 
					 
					        CheckboxFlags ( " Alpha Bar " ,  ( unsigned  int * ) & g . ColorEditOptions ,  ImGuiColorEditFlags_AlphaBar ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					    }   
					 
					 
					 
					    }   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					    ImGui : : EndPopup ( ) ;   
					 
					 
					 
					    EndPopup ( ) ;   
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					}  
					 
					 
					 
					}  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					//-------------------------------------------------------------------------
  
					 
					 
					 
					//-------------------------------------------------------------------------