public override string ToString()
{
if ((state & StateNameValid) != 0 || (state & StateKnownColorValid) != 0)
{
return nameof(Color) + " [" + Name + "]";
}
else if ((state & StateValueMask) != 0)
{
return nameof(Color) + " [A=" + A.ToString() + ", R=" + R.ToString() + ", G=" + G.ToString() + ", B=" + B.ToString() + "]";
}
else
{
return nameof(Color) + " [Empty]";
}
}