diff --git a/Source/OpenTK/Graphics/Color4.cs b/Source/OpenTK/Graphics/Color4.cs
index 246acf95..ca705d72 100644
--- a/Source/OpenTK/Graphics/Color4.cs
+++ b/Source/OpenTK/Graphics/Color4.cs
@@ -1,13 +1,42 @@
-using System;
+#region License
+//
+// The Open Toolkit Library License
+//
+// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights to
+// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+// the Software, and to permit persons to whom the Software is furnished to do
+// so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+// OTHER DEALINGS IN THE SOFTWARE.
+//
+#endregion
+
+using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
+using System.Xml.Serialization;
namespace OpenTK.Graphics
{
///
/// Represents a color with 4 floating-point components (R, G, B, A).
///
+ [Serializable]
public struct Color4 : IEquatable
{
#region Fields
@@ -15,22 +44,22 @@ namespace OpenTK.Graphics
///
/// The red component of this Color4 structure.
///
- public readonly float R;
+ public float R;
///
/// The green component of this Color4 structure.
///
- public readonly float G;
+ public float G;
///
/// The blue component of this Color4 structure.
///
- public readonly float B;
+ public float B;
///
/// The alpha component of this Color4 structure.
///
- public readonly float A;
+ public float A;
#endregion
@@ -65,7 +94,29 @@ namespace OpenTK.Graphics
#endregion
- #region Conversions
+ #region Operators
+
+ ///
+ /// Compares the specified Color4 structures for equality.
+ ///
+ /// The left-hand side of the comparison.
+ /// The right-hand side of the comparison.
+ /// True if left is equal to right; false otherwise.
+ public static bool operator ==(Color4 left, Color4 right)
+ {
+ return left.Equals(right);
+ }
+
+ ///
+ /// Compares the specified Color4 structures for inequality.
+ ///
+ /// The left-hand side of the comparison.
+ /// The right-hand side of the comparison.
+ /// True if left is not equal to right; false otherwise.
+ public static bool operator !=(Color4 left, Color4 right)
+ {
+ return !left.Equals(right);
+ }
///
/// Converts the specified System.Drawing.Color to a Color4 structure.