diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp index e56684dc5eb..3e2f8ff2638 100644 --- a/core/bind/core_bind.cpp +++ b/core/bind/core_bind.cpp @@ -894,6 +894,17 @@ void _OS::print_resources_by_type(const Vector& p_types) { }; +bool _OS::has_virtual_keyboard() const { + return OS::get_singleton()->has_virtual_keyboard(); +} + +void _OS::show_virtual_keyboard(const String& p_existing_text) { + OS::get_singleton()->show_virtual_keyboard(p_existing_text, Rect2()); +} + +void _OS::hide_virtual_keyboard() { + OS::get_singleton()->hide_virtual_keyboard(); +} void _OS::print_all_resources(const String& p_to_file ) { @@ -1123,6 +1134,9 @@ void _OS::_bind_methods() { ObjectTypeDB::bind_method(_MD("dump_memory_to_file","file"),&_OS::dump_memory_to_file); ObjectTypeDB::bind_method(_MD("dump_resources_to_file","file"),&_OS::dump_resources_to_file); + ObjectTypeDB::bind_method(_MD("has_virtual_keyboard"),&_OS::has_virtual_keyboard); + ObjectTypeDB::bind_method(_MD("show_virtual_keyboard", "existing_text"),&_OS::show_virtual_keyboard,DEFVAL("")); + ObjectTypeDB::bind_method(_MD("hide_virtual_keyboard"),&_OS::hide_virtual_keyboard); ObjectTypeDB::bind_method(_MD("print_resources_in_use","short"),&_OS::print_resources_in_use,DEFVAL(false)); ObjectTypeDB::bind_method(_MD("print_all_resources","tofile"),&_OS::print_all_resources,DEFVAL("")); diff --git a/core/bind/core_bind.h b/core/bind/core_bind.h index 9ca439a454e..14203ae8631 100644 --- a/core/bind/core_bind.h +++ b/core/bind/core_bind.h @@ -205,6 +205,10 @@ public: void dump_memory_to_file(const String& p_file); void dump_resources_to_file(const String& p_file); + bool has_virtual_keyboard() const; + void show_virtual_keyboard(const String& p_existing_text=""); + void hide_virtual_keyboard(); + void print_resources_in_use(bool p_short=false); void print_all_resources(const String& p_to_file); void print_all_textures_by_size(); diff --git a/core/os/os.cpp b/core/os/os.cpp index 284bcb30cb0..5f869620480 100644 --- a/core/os/os.cpp +++ b/core/os/os.cpp @@ -209,18 +209,15 @@ bool OS::has_virtual_keyboard() const { return false; } + void OS::show_virtual_keyboard(const String& p_existing_text,const Rect2& p_screen_rect) { - - } void OS::hide_virtual_keyboard(){ - } - void OS::print_all_resources(String p_to_file) { ERR_FAIL_COND(p_to_file!="" && _OSPRF); diff --git a/doc/base/classes.xml b/doc/base/classes.xml index 368a37f6f21..4f45ba9ee99 100644 --- a/doc/base/classes.xml +++ b/doc/base/classes.xml @@ -22721,6 +22721,18 @@ + + + + + Returns true if the platform has a virtual keyboard, false otherwise. + + + + + Hides the virtual keyboard if it is shown, does nothing otherwise. + + @@ -23038,6 +23050,13 @@ + + + + + Shows the virtual keyboard if the platform has one. The [i]existing_text[/i] parameter is useful for implementing your own LineEdit, as it tells the virtual keyboard what text has already been typed (the virtual keyboard uses it for auto-correct and predictions). + +