diff --git a/Source/OpenTK/OpenTK.csproj b/Source/OpenTK/OpenTK.csproj index a7395e4e..25052ae6 100644 --- a/Source/OpenTK/OpenTK.csproj +++ b/Source/OpenTK/OpenTK.csproj @@ -149,6 +149,7 @@ + Code @@ -806,8 +807,5 @@ - - - - - + + \ No newline at end of file diff --git a/Source/OpenTK/ToolkitOptions.cs b/Source/OpenTK/ToolkitOptions.cs new file mode 100644 index 00000000..957f4758 --- /dev/null +++ b/Source/OpenTK/ToolkitOptions.cs @@ -0,0 +1,85 @@ +#region License +// +// The Open Toolkit Library License +// +// Copyright (c) 2006 - 2013 the Open Toolkit library. +// +// 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; + +namespace OpenTK +{ + /// + /// Enumerates options regarding OpenTK.Platform + /// implementations. + /// + public enum PlatformBackend + { + /// + /// Select the optimal OpenTK.Platform implementation + /// for the current operating system. This is the default + /// option. + /// + Default = 0, + /// + /// Prefer native OpenTK.Platform implementations. + /// Platform abstractions such as SDL will not be considered, + /// even if available. Use this if you need support for multiple + /// mice or keyboards. + /// + PreferNative, + /// + /// Prefer an X11 OpenTK.Platform implementation, + /// even if a different implementation is available. This option + /// allows you to use X11 on Windows or Mac OS X when an + /// X11 server is installed. + /// + PreferX11 + } + + /// + /// Contains configuration options for OpenTK. + /// + /// + public class ToolkitOptions + { + static ToolkitOptions() + { + Default = new ToolkitOptions(); + } + + /// + /// Get or set the desired PlatformBackend + /// for the OpenTK.Platform implementation. + /// + public PlatformBackend Backend { get; set; } + + /// + /// Gets a ToolkitOptions instance with + /// default values. + /// + public static ToolkitOptions Default { get; private set; } + } +}