Przeglądaj źródła

Update Color class ref documentation

mrawlingst 8 lat temu
rodzic
commit
4f65c4d092
1 zmienionych plików z 74 dodań i 14 usunięć
  1. 74 14
      doc/base/classes.xml

+ 74 - 14
doc/base/classes.xml

@@ -12277,10 +12277,10 @@
 </class>
 <class name="Color" category="Built-In Types">
 	<brief_description>
-		Color in RGBA format.
+		Color in RGBA format with some support for ARGB format.
 	</brief_description>
 	<description>
-		A color is represented as red, green and blue (r,g,b) components. Additionally, "a" represents the alpha component, often used for transparency. Values are in floating point and usually range from 0 to 1.  Some methods (such as set_modulate() ) may accept values &gt; 1.
+		A color is represented as red, green and blue (r,g,b) components. Additionally, "a" represents the alpha component, often used for transparency. Values are in floating point and usually range from 0 to 1.  Some methods (such as set_modulate(color)) may accept values &gt; 1.
 	</description>
 	<methods>
 		<method name="Color">
@@ -12295,7 +12295,10 @@
 			<argument index="3" name="a" type="float">
 			</argument>
 			<description>
-				Construct the color from an RGBA profile.
+				Constructs a color from an RGBA profile using values between 0 and 1 (float).
+				[codeblock]
+				var c = Color(0.2, 1.0, .7, .8) # a color of an RGBA(51, 255, 178, 204)
+				[/codeblock]
 			</description>
 		</method>
 		<method name="Color">
@@ -12308,7 +12311,10 @@
 			<argument index="2" name="b" type="float">
 			</argument>
 			<description>
-				Construct the color from an RGBA profile.
+				Constructs a color from an RGB profile using values between 0 and 1 (float). Alpha will always be 1.
+				[codeblock]
+				var c = Color(0.2, 1.0, .7) # a color of an RGBA(51, 255, 178, 255)
+				[/codeblock]
 			</description>
 		</method>
 		<method name="Color">
@@ -12317,7 +12323,10 @@
 			<argument index="0" name="from" type="int">
 			</argument>
 			<description>
-				Construct the color from an RGBA profile.
+				Constructs a color from a 32-bit integer (each byte represents a component of the RGBA profile).
+				[codeblock]
+				var c = Color(274) # a color of an RGBA(0, 0, 1, 18)
+				[/codeblock]
 			</description>
 		</method>
 		<method name="Color">
@@ -12326,7 +12335,19 @@
 			<argument index="0" name="from" type="String">
 			</argument>
 			<description>
-				Construct the color from an RGBA profile.
+				Constructs a color from an HTML hexadecimal color string in ARGB or RGB format.
+				The following string formats are supported:
+					[code]"#ff00ff00"[/code] - ARGB format with '#'
+					[code]"ff00ff00"[/code] - ARGB format
+					[code]"#ff00ff"[/code] - RGB format with '#'
+					[code]"ff00ff"[/code] - RGB format
+				[codeblock]
+				# The following code creates the same color of an RGBA(178, 217, 10, 255)
+				var c1 = Color("#ffb2d90a") # ARGB format with '#'
+				var c2 = Color("ffb2d90a")  # ARGB format
+				var c3 = Color("#b2d90a")   # RGB format with '#'
+				var c4 = Color("b2d90a")    # RGB format
+				[/codeblock]
 			</description>
 		</method>
 		<method name="blend">
@@ -12335,28 +12356,46 @@
 			<argument index="0" name="over" type="Color">
 			</argument>
 			<description>
-				Return a new color blended with anothor one.
+				Returns a new color resulting from blending this color over another color. If the color is opaque, the result would also be opaque. The other color could then take a range of values with different alpha values.
+				[codeblock]
+				var bg = Color(0.0, 1.0, 0.0, 0.5) # Green with alpha of 50%
+				var fg = Color(1.0, 0.0, 0.0, .5) # Red with alpha of 50%
+				var blendedColor = bg.blend(fg) # Brown with alpha of 75%
+				[/codeblock]
 			</description>
 		</method>
 		<method name="contrasted">
 			<return type="Color">
 			</return>
 			<description>
-				Return the most contrasting color with this one.
+				Returns the most contrasting color.
+				[codeblock]
+				var c = Color(.3, .4, .9)
+				var contrastedColor = c.contrasted() # a color of an RGBA(204, 229, 102, 255)
+				[/codeblock]
 			</description>
 		</method>
 		<method name="gray">
 			<return type="float">
 			</return>
 			<description>
-				Convert the color to gray.
+				Returns the color's grayscale.
+				The gray is calculated by (r + g + b) / 3.
+				[codeblock]
+				var c = Color(0.2, 0.45, 0.82)
+				var gray = c.gray() # a value of 0.466667
+				[/codeblock]
 			</description>
 		</method>
 		<method name="inverted">
 			<return type="Color">
 			</return>
 			<description>
-				Return the inverted color (1-r, 1-g, 1-b, 1-a).
+				Returns the inverted color (1-r, 1-g, 1-b, 1-a).
+				[codeblock]
+				var c = Color(.3, .4, .9)
+				var invertedColor = c.inverted() # a color of an RGBA(178, 153, 26, 255)
+				[/codeblock]
 			</description>
 		</method>
 		<method name="linear_interpolate">
@@ -12367,21 +12406,36 @@
 			<argument index="1" name="t" type="float">
 			</argument>
 			<description>
-				Return the linear interpolation with another color.
+				Returns the color of the linear interpolation with another color. The value t is between 0 and 1 (float).
+				[codeblock]
+				var c1 = Color(1.0, 0.0, 0.0)
+				var c2 = Color(0.0, 1.0, 0.0)
+				var li_c = c1.linear_interpolate(c2, 0.5) # a color of an RGBA(128, 128, 0, 255)
+				[/codeblock]
 			</description>
 		</method>
 		<method name="to_32">
 			<return type="int">
 			</return>
 			<description>
-				Convert the color to a 32 its integer (each byte represents a RGBA).
+				Returns the color's 32-bit integer in ARGB format (each byte represents a component of the ARGB profile).
+				[codeblock]
+				var c = Color(1, .5, .2)
+				print(str(c.to_32())) # prints 4294934323
+				[/codeblock]
+
+				[i]This is same as [method to_ARGB32] but may be changed later to support RGBA format instead[/i].
 			</description>
 		</method>
 		<method name="to_ARGB32">
 			<return type="int">
 			</return>
 			<description>
-				Convert color to ARGB32, more compatible with DirectX.
+				Returns the color's 32-bit integer in ARGB format (each byte represents a component of the ARGB profile). More compatible with DirectX.
+				[codeblock]
+				var c = Color(1, .5, .2)
+				print(str(c.to_32())) # prints 4294934323
+				[/codeblock]
 			</description>
 		</method>
 		<method name="to_html">
@@ -12390,7 +12444,13 @@
 			<argument index="0" name="with_alpha" type="bool" default="True">
 			</argument>
 			<description>
-				Return the HTML hexadecimal color string.
+				Returns the color's HTML hexadecimal color string in ARGB format (ex: [code]ff34f822[/code]).
+				Optionally flag 'false' to not include alpha in hexadecimal string.
+				[codeblock]
+				var c = Color(1, 1, 1, .5)
+				var s1 = c.to_html() # Results "7fffffff"
+				var s2 = c.to_html(false) # Results 'ffffff'
+				[/codeblock]
 			</description>
 		</method>
 	</methods>