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.