소스 검색

Improve Image preview in the inspector

kobewi 2 년 전
부모
커밋
390bb23675
1개의 변경된 파일5개의 추가작업 그리고 1개의 파일을 삭제
  1. 5 1
      editor/plugins/texture_editor_plugin.cpp

+ 5 - 1
editor/plugins/texture_editor_plugin.cpp

@@ -152,11 +152,15 @@ TexturePreview::TexturePreview(Ref<Texture2D> p_texture, bool p_show_metadata) {
 }
 
 bool EditorInspectorPluginTexture::can_handle(Object *p_object) {
-	return Object::cast_to<ImageTexture>(p_object) != nullptr || Object::cast_to<AtlasTexture>(p_object) != nullptr || Object::cast_to<CompressedTexture2D>(p_object) != nullptr || Object::cast_to<AnimatedTexture>(p_object) != nullptr;
+	return Object::cast_to<ImageTexture>(p_object) != nullptr || Object::cast_to<AtlasTexture>(p_object) != nullptr || Object::cast_to<CompressedTexture2D>(p_object) != nullptr || Object::cast_to<AnimatedTexture>(p_object) != nullptr || Object::cast_to<Image>(p_object) != nullptr;
 }
 
 void EditorInspectorPluginTexture::parse_begin(Object *p_object) {
 	Ref<Texture> texture(Object::cast_to<Texture>(p_object));
+	if (texture.is_null()) {
+		Ref<Image> image(Object::cast_to<Image>(p_object));
+		texture = ImageTexture::create_from_image(image);
+	}
 
 	add_custom_control(memnew(TexturePreview(texture, true)));
 }