namespace SM.OGL { /// /// Helper struct to manage versions. /// public struct Version { /// /// The major version. /// public int MajorVersion; /// /// The minor version. /// public int MinorVersion; /// /// Creates the struct with specific major and minor versions. /// /// /// public Version(int majorVersion, int minorVersion) { MinorVersion = minorVersion; MajorVersion = majorVersion; } /// /// Creates the struct by reading it out of a string. /// /// public Version(string version) { var splits = version.Trim().Split(new[] {'.'}, 2); MajorVersion = int.Parse(splits[0]); MinorVersion = int.Parse(splits[1]); } /// public override string ToString() { return $"{MajorVersion}.{MinorVersion}"; } /// /// Create a version struct, with a OpenGL Version string. /// /// /// public static Version CreateGLVersion(string version) { return new Version(version.Substring(0, 3)); } } }