StyleCop clean HSLColor
This commit is contained in:
@@ -19,24 +19,6 @@ namespace OpenRA.FileFormats
|
|||||||
public readonly byte L;
|
public readonly byte L;
|
||||||
public readonly Color RGB;
|
public readonly Color RGB;
|
||||||
|
|
||||||
public HSLColor(byte h, byte s, byte l)
|
|
||||||
{
|
|
||||||
H = h;
|
|
||||||
S = s;
|
|
||||||
L = l;
|
|
||||||
RGB = RGBFromHSL(H / 255f, S / 255f, L / 255f);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ToHSV(out float h, out float s, out float v)
|
|
||||||
{
|
|
||||||
var ll = 2*L / 255f;
|
|
||||||
var ss = S / 255f * ((ll <= 1) ? ll : 2 - ll);
|
|
||||||
|
|
||||||
h = H / 255f;
|
|
||||||
s = (2 * ss) / (ll + ss);
|
|
||||||
v = (ll + ss) / 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static HSLColor FromHSV(float h, float s, float v)
|
public static HSLColor FromHSV(float h, float s, float v)
|
||||||
{
|
{
|
||||||
var ll = 0.5f * (2 - s) * v;
|
var ll = 0.5f * (2 - s) * v;
|
||||||
@@ -70,27 +52,45 @@ namespace OpenRA.FileFormats
|
|||||||
|
|
||||||
for (int k = 0; k < 3; k++)
|
for (int k = 0; k < 3; k++)
|
||||||
{
|
{
|
||||||
if (trgb[k] < 1 / 6.0f) { rgb[k] = (p + ((q - p) * 6 * trgb[k])); }
|
if (trgb[k] < 1 / 6.0f) { rgb[k] = p + ((q - p) * 6 * trgb[k]); }
|
||||||
else if (trgb[k] >= 1 / 6.0f && trgb[k] < 0.5) { rgb[k] = q; }
|
else if (trgb[k] >= 1 / 6.0f && trgb[k] < 0.5) { rgb[k] = q; }
|
||||||
else if (trgb[k] >= 0.5f && trgb[k] < 2.0f / 3) { rgb[k] = (p + ((q - p) * 6 * (2.0f / 3 - trgb[k]))); }
|
else if (trgb[k] >= 0.5f && trgb[k] < 2.0f / 3) { rgb[k] = p + ((q - p) * 6 * (2.0f / 3 - trgb[k])); }
|
||||||
else { rgb[k] = p; }
|
else { rgb[k] = p; }
|
||||||
}
|
}
|
||||||
|
|
||||||
return Color.FromArgb((int)(rgb[0] * 255), (int)(rgb[1] * 255), (int)(rgb[2] * 255));
|
return Color.FromArgb((int)(rgb[0] * 255), (int)(rgb[1] * 255), (int)(rgb[2] * 255));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static bool operator ==(HSLColor me, HSLColor other)
|
||||||
|
{
|
||||||
|
return me.H == other.H && me.S == other.S && me.L == other.L;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool operator !=(HSLColor me, HSLColor other) { return !(me == other); }
|
||||||
|
|
||||||
|
public HSLColor(byte h, byte s, byte l)
|
||||||
|
{
|
||||||
|
H = h;
|
||||||
|
S = s;
|
||||||
|
L = l;
|
||||||
|
RGB = RGBFromHSL(H / 255f, S / 255f, L / 255f);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ToHSV(out float h, out float s, out float v)
|
||||||
|
{
|
||||||
|
var ll = 2 * L / 255f;
|
||||||
|
var ss = S / 255f * ((ll <= 1) ? ll : 2 - ll);
|
||||||
|
|
||||||
|
h = H / 255f;
|
||||||
|
s = (2 * ss) / (ll + ss);
|
||||||
|
v = (ll + ss) / 2;
|
||||||
|
}
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return "{0},{1},{2}".F(H, S, L);
|
return "{0},{1},{2}".F(H, S, L);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool operator ==(HSLColor me, HSLColor other)
|
|
||||||
{
|
|
||||||
return (me.H == other.H && me.S == other.S && me.L == other.L);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static bool operator !=(HSLColor me, HSLColor other) { return !(me == other); }
|
|
||||||
|
|
||||||
public override int GetHashCode() { return H.GetHashCode() ^ S.GetHashCode() ^ L.GetHashCode(); }
|
public override int GetHashCode() { return H.GetHashCode() ^ S.GetHashCode() ^ L.GetHashCode(); }
|
||||||
|
|
||||||
public override bool Equals(object obj)
|
public override bool Equals(object obj)
|
||||||
|
|||||||
Reference in New Issue
Block a user