Bläddra i källkod

[3.x] Document some Image methods can unlock it (making `set_pixel` fail)

kleonc 1 år sedan
förälder
incheckning
d0f9fe2ac5
1 ändrade filer med 14 tillägg och 0 borttagningar
  1. 14 0
      doc/classes/Image.xml

+ 14 - 0
doc/classes/Image.xml

@@ -385,6 +385,13 @@
 				img.unlock()
 				img.unlock()
 				img.set_pixel(x, y, color) # Does not have an effect
 				img.set_pixel(x, y, color) # Does not have an effect
 				[/codeblock]
 				[/codeblock]
+				[b]Note:[/b] Some image methods can leave the image unlocked, making subsequent [method set_pixel] calls fail unless the image is locked again. Methods potentially unlocking the image: [method blend_rect], [method blend_rect_mask], [method blit_rect_mask], [method convert], [method fill], [method fill_rect], [method get_used_rect], and [method rgbe_to_srgb].
+				[codeblock]
+				img.lock()
+				img.set_pixel(x, y, color) # Works
+				img.fill(color) # Unlocks the image
+				img.set_pixel(x, y, color) # Does not have an effect
+				[/codeblock]
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="set_pixelv">
 		<method name="set_pixelv">
@@ -401,6 +408,13 @@
 				img.unlock()
 				img.unlock()
 				img.set_pixelv(Vector2(x, y), color) # Does not have an effect
 				img.set_pixelv(Vector2(x, y), color) # Does not have an effect
 				[/codeblock]
 				[/codeblock]
+				[b]Note:[/b] Some image methods can leave the image unlocked, making subsequent [method set_pixelv] calls fail unless the image is locked again. Methods potentially unlocking the image: [method blend_rect], [method blend_rect_mask], [method blit_rect_mask], [method convert], [method fill], [method fill_rect], [method get_used_rect], and [method rgbe_to_srgb].
+				[codeblock]
+				img.lock()
+				img.set_pixelv(Vector2(x, y), color) # Works
+				img.fill(dcolor) # Unlocks the image
+				img.set_pixelv(Vector2(x, y), color) # Does not have an effect
+				[/codeblock]
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="shrink_x2">
 		<method name="shrink_x2">