diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2022-06-07 20:53:09 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-07 20:53:09 +0200 |
commit | 96f41d6ada781b6ecfb0217c4847c11d3c1626ad (patch) | |
tree | d69f899e2783934565e13f74dc250d7f043b3966 | |
parent | d52a79ad2288f815f935f40a089b5fe0887188a6 (diff) | |
parent | c519a667ad2ddfbd9ce3e9537406cf108f25d74b (diff) | |
download | redot-engine-96f41d6ada781b6ecfb0217c4847c11d3c1626ad.tar.gz |
Merge pull request #61284 from KoBeWi/steal_image()
Remove image property of ImageTexture
-rw-r--r-- | doc/classes/Texture2D.xml | 3 | ||||
-rw-r--r-- | scene/resources/texture.cpp | 32 | ||||
-rw-r--r-- | scene/resources/texture.h | 5 |
3 files changed, 2 insertions, 38 deletions
diff --git a/doc/classes/Texture2D.xml b/doc/classes/Texture2D.xml index 1bbebe085e..3721058d25 100644 --- a/doc/classes/Texture2D.xml +++ b/doc/classes/Texture2D.xml @@ -106,7 +106,8 @@ <method name="get_image" qualifiers="const"> <return type="Image" /> <description> - Returns an [Image] that is a copy of data from this [Texture2D]. [Image]s can be accessed and manipulated directly. + Returns an [Image] that is a copy of data from this [Texture2D] (a new [Image] is created each time). [Image]s can be accessed and manipulated directly. + [b]Note:[/b] This will fetch the texture data from the GPU, which might cause performance problems when overused. </description> </method> <method name="get_size" qualifiers="const"> diff --git a/scene/resources/texture.cpp b/scene/resources/texture.cpp index 04b85e3e36..e001aeffc4 100644 --- a/scene/resources/texture.cpp +++ b/scene/resources/texture.cpp @@ -147,38 +147,6 @@ void ImageTexture::reload_from_file() { } } -bool ImageTexture::_set(const StringName &p_name, const Variant &p_value) { - if (p_name == "image") { - create_from_image(p_value); - } else if (p_name == "size") { - Size2 s = p_value; - w = s.width; - h = s.height; - RenderingServer::get_singleton()->texture_set_size_override(texture, w, h); - } else { - return false; - } - - return true; -} - -bool ImageTexture::_get(const StringName &p_name, Variant &r_ret) const { - if (p_name == "image") { - r_ret = get_image(); - } else if (p_name == "size") { - r_ret = Size2(w, h); - } else { - return false; - } - - return true; -} - -void ImageTexture::_get_property_list(List<PropertyInfo> *p_list) const { - p_list->push_back(PropertyInfo(Variant::OBJECT, PNAME("image"), PROPERTY_HINT_RESOURCE_TYPE, "Image", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT)); - p_list->push_back(PropertyInfo(Variant::VECTOR2, PNAME("size"), PROPERTY_HINT_NONE, "")); -} - void ImageTexture::create_from_image(const Ref<Image> &p_image) { ERR_FAIL_COND_MSG(p_image.is_null() || p_image->is_empty(), "Invalid image"); w = p_image->get_width(); diff --git a/scene/resources/texture.h b/scene/resources/texture.h index 317756e313..3e8ac060c4 100644 --- a/scene/resources/texture.h +++ b/scene/resources/texture.h @@ -102,11 +102,6 @@ class ImageTexture : public Texture2D { protected: virtual void reload_from_file() override; - - bool _set(const StringName &p_name, const Variant &p_value); - bool _get(const StringName &p_name, Variant &r_ret) const; - void _get_property_list(List<PropertyInfo> *p_list) const; - static void _bind_methods(); public: |