From 2b9ed68d6a261bdabf4a6a3e205e42471c38d443 Mon Sep 17 00:00:00 2001 From: bruvzg <7645683+bruvzg@users.noreply.github.com> Date: Fri, 17 May 2019 16:43:56 +0300 Subject: Add native window/taskbar icon support for Windows and macOS. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Markus Törnqvist --- core/bind/core_bind.cpp | 6 ++++++ core/bind/core_bind.h | 1 + core/os/os.cpp | 3 +++ core/os/os.h | 1 + 4 files changed, 11 insertions(+) (limited to 'core') diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp index ba595b9627..d571b4a479 100644 --- a/core/bind/core_bind.cpp +++ b/core/bind/core_bind.cpp @@ -611,6 +611,11 @@ uint64_t _OS::get_dynamic_memory_usage() const { return OS::get_singleton()->get_dynamic_memory_usage(); } +void _OS::set_native_icon(const String &p_filename) { + + OS::get_singleton()->set_native_icon(p_filename); +} + void _OS::set_icon(const Ref &p_icon) { OS::get_singleton()->set_icon(p_icon); @@ -1199,6 +1204,7 @@ void _OS::_bind_methods() { ClassDB::bind_method(D_METHOD("get_system_time_secs"), &_OS::get_system_time_secs); ClassDB::bind_method(D_METHOD("get_system_time_msecs"), &_OS::get_system_time_msecs); + ClassDB::bind_method(D_METHOD("set_native_icon", "filename"), &_OS::set_native_icon); ClassDB::bind_method(D_METHOD("set_icon", "icon"), &_OS::set_icon); ClassDB::bind_method(D_METHOD("get_exit_code"), &_OS::get_exit_code); diff --git a/core/bind/core_bind.h b/core/bind/core_bind.h index 2906de4a4a..cf2014ef27 100644 --- a/core/bind/core_bind.h +++ b/core/bind/core_bind.h @@ -275,6 +275,7 @@ public: void set_use_file_access_save_and_swap(bool p_enable); + void set_native_icon(const String &p_filename); void set_icon(const Ref &p_icon); int get_exit_code() const; diff --git a/core/os/os.cpp b/core/os/os.cpp index ea378c9e83..1a3c9ac5f8 100644 --- a/core/os/os.cpp +++ b/core/os/os.cpp @@ -465,6 +465,9 @@ void OS::_ensure_user_data_dir() { memdelete(da); } +void OS::set_native_icon(const String &p_filename) { +} + void OS::set_icon(const Ref &p_icon) { } diff --git a/core/os/os.h b/core/os/os.h index 07865b636e..4f6a539e78 100644 --- a/core/os/os.h +++ b/core/os/os.h @@ -451,6 +451,7 @@ public: virtual void make_rendering_thread(); virtual void swap_buffers(); + virtual void set_native_icon(const String &p_filename); virtual void set_icon(const Ref &p_icon); virtual int get_exit_code() const; -- cgit v1.2.3