38 * @param [in] red The Color r.
39 * @param [in] green The Color g.
40 * @param [in] blue The Color b.
41 * @param [in] alpha The Color a.
43 public Color(float red, float green, float blue, float alpha):this()
56 * @param [in] color as enum Colors.
58 public Color(Colors color)
64 SetColor(255, 0, 0, 255);
67 SetColor(255, 255, 255, 255);
70 SetColor(0, 0, 255, 255);
73 SetColor(0, 255, 0, 255);
76 SetColor(0, 0, 0, 255);
79 SetColor(128, 128, 128, 255);
82 SetColor(255, 255, 0, 255);
85 SetColor(0, 255, 255, 255);
88 SetColor(255, 0, 255, 255);
99 * @param [in] red The Color r.
100 * @param [in] green The Color g.
101 * @param [in] blue The Color b.
102 * @param [in] alpha The Color a.
104 public void SetColor(float red, float green, float blue, float alpha)
113 * @brief name "R", type float (Color's Red component)
120 set { v[0] = value; }
124 * @brief name "G", type float (Color's Green component)
130 set { v[1] = value; }
134 * @brief name "B", type float (Color's Blue component)
140 set { v[2] = value; }
144 * @brief name "A", type float (Color's Alpha value)
150 set { v[3] = value; }
157 * @param [in] l The Color to add.
158 * @param [in] r The Color to add
159 * @return A reference to this
161 public static Color operator +(Color l, Color r)
163 return new Color(l.R + r.R, l.G + r.G, l.B + r.B, l.A + r.A);
170 * @param [in] l The Color to substract.
171 * @param [in] r The Color to substract
172 * @return A reference to this
174 public static Color operator -(Color l, Color r)
176 return new Color(l.R - r.R, l.G - r.G, l.B - r.B, l.A - r.A);
183 * @param [in] a The Color to multiply.
184 * @param [in] b The Color to multiply
185 * @return A reference to this
187 public static Color operator *(Color a, double b)
189 return new Color((float)(a.R * b),(float)(a.G * b), (float)(a.B * b), (float)(a.A * b));
196 * @param [in] a The Color to divide.
197 * @param [in] b The Color to divide
198 * @return float value of division operation
200 public static float operator /(Color a, Color b)
202 return (float)System.Math.Sqrt((a.R / b.R) * (a.G / b.G) * (a.B / b.B) * (a.A / b.A));
209 * @param [in] o The Color object to compare.
210 * @param [in] r The Color to add
211 * @return bool, whether object equal or not
213 public override bool Equals(object obj)
216 Color r = obj as Color;
221 return l.R == r.R && l.G == r.G && l.B == r.B && l.A == r.A;
228 * @return Color object
232 Color copy = new Color(R, G, B, A);