소스 검색

Merge pull request #18814 from PJB3005/18-05-12-imagetexture-load-error

ImageTexture.load returns an error code.
Rémi Verschelde 7 년 전
부모
커밋
2cf36651b9
4개의 변경된 파일11개의 추가작업 그리고 6개의 파일을 삭제
  1. 2 0
      doc/classes/Image.xml
  2. 2 2
      doc/classes/ImageTexture.xml
  3. 6 3
      scene/resources/texture.cpp
  4. 1 1
      scene/resources/texture.h

+ 2 - 0
doc/classes/Image.xml

@@ -338,6 +338,7 @@
 			<argument index="0" name="buffer" type="PoolByteArray">
 			</argument>
 			<description>
+				Loads an image from the binary contents of a JPEG file.
 			</description>
 		</method>
 		<method name="load_png_from_buffer">
@@ -346,6 +347,7 @@
 			<argument index="0" name="buffer" type="PoolByteArray">
 			</argument>
 			<description>
+				Loads an image from the binary contents of a PNG file.
 			</description>
 		</method>
 		<method name="lock">

+ 2 - 2
doc/classes/ImageTexture.xml

@@ -47,12 +47,12 @@
 			</description>
 		</method>
 		<method name="load">
-			<return type="void">
+			<return type="int" enum="Error">
 			</return>
 			<argument index="0" name="path" type="String">
 			</argument>
 			<description>
-				Load an [code]ImageTexture[/code].
+				Load an [code]ImageTexture[/code] from a file path.
 			</description>
 		</method>
 		<method name="set_data">

+ 6 - 3
scene/resources/texture.cpp

@@ -220,12 +220,15 @@ Image::Format ImageTexture::get_format() const {
 	return format;
 }
 
-void ImageTexture::load(const String &p_path) {
+Error ImageTexture::load(const String &p_path) {
 
 	Ref<Image> img;
 	img.instance();
-	img->load(p_path);
-	create_from_image(img);
+	Error err = img->load(p_path);
+	if (err == OK) {
+		create_from_image(img);
+	}
+	return err;
 }
 
 void ImageTexture::set_data(const Ref<Image> &p_image) {

+ 1 - 1
scene/resources/texture.h

@@ -124,7 +124,7 @@ public:
 	void set_flags(uint32_t p_flags);
 	uint32_t get_flags() const;
 	Image::Format get_format() const;
-	void load(const String &p_path);
+	Error load(const String &p_path);
 	void set_data(const Ref<Image> &p_image);
 	Ref<Image> get_data() const;