mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-04 07:01:04 +01:00 
			
		
		
		
	AddInputCharactersUTF8: shallow tweaks (#274)
This commit is contained in:
		
							
								
								
									
										14
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								imgui.cpp
									
									
									
									
									
								
							@@ -778,17 +778,15 @@ void ImGuiIO::AddInputCharacter(ImWchar c)
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ImGuiIO::AddInputCharactersUTF8(const char* utf8chars)
 | 
			
		||||
{
 | 
			
		||||
    // we can't pass more wchars than ImGuiIO::InputCharacters[] can hold so don't convert more
 | 
			
		||||
    static const int wcharBufLen = sizeof(ImGuiIO::InputCharacters)/sizeof(ImWchar);
 | 
			
		||||
    ImWchar wchars[wcharBufLen];
 | 
			
		||||
    ImTextStrFromUtf8(wchars, wcharBufLen, utf8chars, NULL);
 | 
			
		||||
    for(int i=0; i<wcharBufLen && wchars[i] != 0; ++i)
 | 
			
		||||
void ImGuiIO::AddInputCharactersUTF8(const char* utf8_chars)
 | 
			
		||||
{
 | 
			
		||||
    // We can't pass more wchars than ImGuiIO::InputCharacters[] can hold so don't convert more
 | 
			
		||||
    const int wchars_buf_len = sizeof(ImGuiIO::InputCharacters) / sizeof(ImWchar);
 | 
			
		||||
    ImWchar wchars[wchars_buf_len];
 | 
			
		||||
    ImTextStrFromUtf8(wchars, wchars_buf_len, utf8_chars, NULL);
 | 
			
		||||
    for (int i = 0; wchars[i] != 0 && i < wchars_buf_len; i++)
 | 
			
		||||
        AddInputCharacter(wchars[i]);
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Math bits
 | 
			
		||||
// We are keeping those static in the .cpp file so as not to leak them outside, in the case the user has implicit cast operators between ImVec2 and its own types.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								imgui.h
									
									
									
									
									
								
							@@ -703,9 +703,9 @@ struct ImGuiIO
 | 
			
		||||
    bool        KeysDown[512];              // Keyboard keys that are pressed (in whatever storage order you naturally have access to keyboard data)
 | 
			
		||||
    ImWchar     InputCharacters[16+1];      // List of characters input (translated by user from keypress+keyboard state). Fill using AddInputCharacter() helper.
 | 
			
		||||
 | 
			
		||||
    // Function
 | 
			
		||||
    // Functions
 | 
			
		||||
    IMGUI_API void AddInputCharacter(ImWchar c);                    // Helper to add a new character into InputCharacters[]
 | 
			
		||||
    IMGUI_API void AddInputCharactersUTF8(const char* utf8chars); // Helper to add new characters into InputCharacters[] from an utf8-string
 | 
			
		||||
    IMGUI_API void AddInputCharactersUTF8(const char* utf8_chars);  // Helper to add new characters into InputCharacters[] from an UTF-8 string
 | 
			
		||||
 | 
			
		||||
    //------------------------------------------------------------------
 | 
			
		||||
    // Output - Retrieve after calling NewFrame(), you can use them to discard inputs or hide them from the rest of your application
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user