#region --- License --- /* Copyright (c) 2006, 2007 Stefanos Apostolopoulos * See license.txt for license info */ #endregion using System; using System.Collections.Generic; using System.Text; namespace Bind.Structures { /// /// Represents an opengl constant in C# format. Both the constant name and value /// can be retrieved or set. The value can be either a number, another constant /// or an alias to a constant /// public class Constant { #region public string Name string _name; /// /// Gets or sets the name of the opengl constant (eg. GL_LINES). /// public string Name { get { return _name; } set { if (!String.IsNullOrEmpty(value)) _name = value.Trim(); } } #endregion #region public string Value string _value; /// /// Gets or sets the value of the opengl constant (eg. 0x00000001). /// public string Value { get { return _value; } set { if (!String.IsNullOrEmpty(value)) _value = value.Trim(); } } #endregion #region public string Reference string _reference; /// /// Gets or sets the value of the opengl constant (eg. 0x00000001). /// public string Reference { get { return _reference; } set { if (!String.IsNullOrEmpty(value)) _reference = value.Trim(); } } #endregion #region public bool Unchecked private bool @unchecked = false; public bool Unchecked { get { return @unchecked; } set { @unchecked = value; } } #endregion #region Constructors /// /// Creates an empty Constant. /// public Constant() { } /// /// Creates a Constant with the given name and value. /// /// The Name of the Constant. /// The Type of the Constant. public Constant(string name, string value) { Name = name; Value = value; } #endregion #region public override string ToString() /// /// Returns a string that represents the full constant declaration without decorations /// (eg GL_XXX_YYY = (int)0xDEADBEEF or GL_XXX_YYY = GL_ZZZ.FOOBAR). /// /// public override string ToString() { return String.Format( "{0} = {1}((int){2}{3})", Name, Unchecked ? "unchecked" : "", !String.IsNullOrEmpty(Reference) ? Reference + "." : "", Value ); } #endregion } }