Re-add internal image field to ImageTexture
This commit is contained in:
parent
60eec78a1f
commit
80025171cd
|
@ -147,6 +147,24 @@ 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);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ImageTexture::_get(const StringName &p_name, Variant &r_ret) const {
|
||||
if (p_name == "image") {
|
||||
r_ret = get_image();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
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_STORAGE | PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT));
|
||||
}
|
||||
|
||||
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();
|
||||
|
|
|
@ -102,6 +102,11 @@ 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:
|
||||
|
|
Loading…
Reference in New Issue