You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-16 14:00:40 +00:00
Add static methods for creating Image and ImageTexture
This commit is contained in:
@@ -139,7 +139,7 @@ void ImageTexture::reload_from_file() {
|
||||
img.instantiate();
|
||||
|
||||
if (ImageLoader::load_image(path, img) == OK) {
|
||||
create_from_image(img);
|
||||
set_image(img);
|
||||
} else {
|
||||
Resource::reload_from_file();
|
||||
notify_property_list_changed();
|
||||
@@ -149,7 +149,7 @@ 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);
|
||||
set_image(p_value);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -167,7 +167,16 @@ 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) {
|
||||
Ref<ImageTexture> ImageTexture::create_from_image(const Ref<Image> &p_image) {
|
||||
ERR_FAIL_COND_V_MSG(p_image.is_null() || p_image->is_empty(), Ref<ImageTexture>(), "Invalid image");
|
||||
|
||||
Ref<ImageTexture> image_texture;
|
||||
image_texture.instantiate();
|
||||
image_texture->set_image(p_image);
|
||||
return image_texture;
|
||||
}
|
||||
|
||||
void ImageTexture::set_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();
|
||||
h = p_image->get_height();
|
||||
@@ -311,7 +320,7 @@ void ImageTexture::set_path(const String &p_path, bool p_take_over) {
|
||||
}
|
||||
|
||||
void ImageTexture::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("create_from_image", "image"), &ImageTexture::create_from_image);
|
||||
ClassDB::bind_static_method("ImageTexture", D_METHOD("create_from_image", "image"), &ImageTexture::create_from_image);
|
||||
ClassDB::bind_method(D_METHOD("get_format"), &ImageTexture::get_format);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("update", "image"), &ImageTexture::update);
|
||||
|
||||
Reference in New Issue
Block a user