diff --git a/Source/OpenTK/Input/Key.cs b/Source/OpenTK/Input/Key.cs new file mode 100644 index 00000000..5933b483 --- /dev/null +++ b/Source/OpenTK/Input/Key.cs @@ -0,0 +1,374 @@ + #region License + // + // The Open Toolkit Library License + // + // Copyright (c) 2006 - 2009 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 + +namespace OpenTK.Input +{ + /// + /// The available keyboard keys. + /// + public enum Key : int + { + /// A key outside the known keys. + Unknown = 0, + + // Modifiers + /// The left shift key. + ShiftLeft, + /// The left shift key (equivalent to ShiftLeft). + LShift = ShiftLeft, + /// The right shift key. + ShiftRight, + /// The right shift key (equivalent to ShiftRight). + RShift = ShiftRight, + /// The left control key. + ControlLeft, + /// The left control key (equivalent to ControlLeft). + LControl = ControlLeft, + /// The right control key. + ControlRight, + /// The right control key (equivalent to ControlRight). + RControl = ControlRight, + /// The left alt key. + AltLeft, + /// The left alt key (equivalent to AltLeft. + LAlt = AltLeft, + /// The right alt key. + AltRight, + /// The right alt key (equivalent to AltRight). + RAlt = AltRight, + /// The left win key. + WinLeft, + /// The left win key (equivalent to WinLeft). + LWin = WinLeft, + /// The right win key. + WinRight, + /// The right win key (equivalent to WinRight). + RWin = WinRight, + /// The menu key. + Menu, + + // Function keys (hopefully enough for most keyboards - mine has 26) + // on X11 reports up to 35 function keys. + /// The F1 key. + F1, + /// The F2 key. + F2, + /// The F3 key. + F3, + /// The F4 key. + F4, + /// The F5 key. + F5, + /// The F6 key. + F6, + /// The F7 key. + F7, + /// The F8 key. + F8, + /// The F9 key. + F9, + /// The F10 key. + F10, + /// The F11 key. + F11, + /// The F12 key. + F12, + /// The F13 key. + F13, + /// The F14 key. + F14, + /// The F15 key. + F15, + /// The F16 key. + F16, + /// The F17 key. + F17, + /// The F18 key. + F18, + /// The F19 key. + F19, + /// The F20 key. + F20, + /// The F21 key. + F21, + /// The F22 key. + F22, + /// The F23 key. + F23, + /// The F24 key. + F24, + /// The F25 key. + F25, + /// The F26 key. + F26, + /// The F27 key. + F27, + /// The F28 key. + F28, + /// The F29 key. + F29, + /// The F30 key. + F30, + /// The F31 key. + F31, + /// The F32 key. + F32, + /// The F33 key. + F33, + /// The F34 key. + F34, + /// The F35 key. + F35, + + // Direction arrows + /// The up arrow key. + Up, + /// The down arrow key. + Down, + /// The left arrow key. + Left, + /// The right arrow key. + Right, + + /// The enter key. + Enter, + /// The escape key. + Escape, + /// The space key. + Space, + /// The tab key. + Tab, + /// The backspace key. + BackSpace, + /// The backspace key (equivalent to BackSpace). + Back = BackSpace, + /// The insert key. + Insert, + /// The delete key. + Delete, + /// The page up key. + PageUp, + /// The page down key. + PageDown, + /// The home key. + Home, + /// The end key. + End, + /// The caps lock key. + CapsLock, + /// The scroll lock key. + ScrollLock, + /// The print screen key. + PrintScreen, + /// The pause key. + Pause, + /// The num lock key. + NumLock, + + // Special keys + /// The clear key (Keypad5 with NumLock disabled, on typical keyboards). + Clear, + /// The sleep key. + Sleep, + /*LogOff, + Help, + Undo, + Redo, + New, + Open, + Close, + Reply, + Forward, + Send, + Spell, + Save, + Calculator, + + // Folders and applications + Documents, + Pictures, + Music, + MediaPlayer, + Mail, + Browser, + Messenger, + + // Multimedia keys + Mute, + PlayPause, + Stop, + VolumeUp, + VolumeDown, + TrackPrevious, + TrackNext,*/ + + // Keypad keys + /// The keypad 0 key. + Keypad0, + /// The keypad 1 key. + Keypad1, + /// The keypad 2 key. + Keypad2, + /// The keypad 3 key. + Keypad3, + /// The keypad 4 key. + Keypad4, + /// The keypad 5 key. + Keypad5, + /// The keypad 6 key. + Keypad6, + /// The keypad 7 key. + Keypad7, + /// The keypad 8 key. + Keypad8, + /// The keypad 9 key. + Keypad9, + /// The keypad divide key. + KeypadDivide, + /// The keypad multiply key. + KeypadMultiply, + /// The keypad subtract key. + KeypadSubtract, + /// The keypad minus key (equivalent to KeypadSubtract). + KeypadMinus = KeypadSubtract, + /// The keypad add key. + KeypadAdd, + /// The keypad plus key (equivalent to KeypadAdd). + KeypadPlus = KeypadAdd, + /// The keypad decimal key. + KeypadDecimal, + /// The keypad enter key. + KeypadEnter, + + // Letters + /// The A key. + A, + /// The B key. + B, + /// The C key. + C, + /// The D key. + D, + /// The E key. + E, + /// The F key. + F, + /// The G key. + G, + /// The H key. + H, + /// The I key. + I, + /// The J key. + J, + /// The K key. + K, + /// The L key. + L, + /// The M key. + M, + /// The N key. + N, + /// The O key. + O, + /// The P key. + P, + /// The Q key. + Q, + /// The R key. + R, + /// The S key. + S, + /// The T key. + T, + /// The U key. + U, + /// The V key. + V, + /// The W key. + W, + /// The X key. + X, + /// The Y key. + Y, + /// The Z key. + Z, + + // Numbers + /// The number 0 key. + Number0, + /// The number 1 key. + Number1, + /// The number 2 key. + Number2, + /// The number 3 key. + Number3, + /// The number 4 key. + Number4, + /// The number 5 key. + Number5, + /// The number 6 key. + Number6, + /// The number 7 key. + Number7, + /// The number 8 key. + Number8, + /// The number 9 key. + Number9, + + // Symbols + /// The tilde key. + Tilde, + /// The minus key. + Minus, + //Equal, + /// The plus key. + Plus, + /// The left bracket key. + BracketLeft, + /// The left bracket key (equivalent to BracketLeft). + LBracket = BracketLeft, + /// The right bracket key. + BracketRight, + /// The right bracket key (equivalent to BracketRight). + RBracket = BracketRight, + /// The semicolon key. + Semicolon, + /// The quote key. + Quote, + /// The comma key. + Comma, + /// The period key. + Period, + /// The slash key. + Slash, + /// The backslash key. + BackSlash, + /// Indicates the last available keyboard key. + LastKey + } +} \ No newline at end of file diff --git a/Source/OpenTK/Input/Keyboard.cs b/Source/OpenTK/Input/Keyboard.cs index 8a99bd58..f3cb48f6 100644 --- a/Source/OpenTK/Input/Keyboard.cs +++ b/Source/OpenTK/Input/Keyboard.cs @@ -1,4 +1,31 @@ -using System; + #region License + // + // The Open Toolkit Library License + // + // Copyright (c) 2006 - 2009 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; diff --git a/Source/OpenTK/Input/KeyboardDevice.cs b/Source/OpenTK/Input/KeyboardDevice.cs index fe0bd506..34f9e9be 100644 --- a/Source/OpenTK/Input/KeyboardDevice.cs +++ b/Source/OpenTK/Input/KeyboardDevice.cs @@ -197,351 +197,4 @@ namespace OpenTK.Input public delegate void KeyDownEvent(KeyboardDevice sender, Key key); [Obsolete] public delegate void KeyUpEvent(KeyboardDevice sender, Key key); - - #region public enum Key : int - - /// - /// The available keyboard keys. - /// - public enum Key : int - { - /// A key outside the known keys. - Unknown = 0, - - // Modifiers - /// The left shift key. - ShiftLeft, - /// The left shift key (equivalent to ShiftLeft). - LShift = ShiftLeft, - /// The right shift key. - ShiftRight, - /// The right shift key (equivalent to ShiftRight). - RShift = ShiftRight, - /// The left control key. - ControlLeft, - /// The left control key (equivalent to ControlLeft). - LControl = ControlLeft, - /// The right control key. - ControlRight, - /// The right control key (equivalent to ControlRight). - RControl = ControlRight, - /// The left alt key. - AltLeft, - /// The left alt key (equivalent to AltLeft. - LAlt = AltLeft, - /// The right alt key. - AltRight, - /// The right alt key (equivalent to AltRight). - RAlt = AltRight, - /// The left win key. - WinLeft, - /// The left win key (equivalent to WinLeft). - LWin = WinLeft, - /// The right win key. - WinRight, - /// The right win key (equivalent to WinRight). - RWin = WinRight, - /// The menu key. - Menu, - - // Function keys (hopefully enough for most keyboards - mine has 26) - // on X11 reports up to 35 function keys. - /// The F1 key. - F1, - /// The F2 key. - F2, - /// The F3 key. - F3, - /// The F4 key. - F4, - /// The F5 key. - F5, - /// The F6 key. - F6, - /// The F7 key. - F7, - /// The F8 key. - F8, - /// The F9 key. - F9, - /// The F10 key. - F10, - /// The F11 key. - F11, - /// The F12 key. - F12, - /// The F13 key. - F13, - /// The F14 key. - F14, - /// The F15 key. - F15, - /// The F16 key. - F16, - /// The F17 key. - F17, - /// The F18 key. - F18, - /// The F19 key. - F19, - /// The F20 key. - F20, - /// The F21 key. - F21, - /// The F22 key. - F22, - /// The F23 key. - F23, - /// The F24 key. - F24, - /// The F25 key. - F25, - /// The F26 key. - F26, - /// The F27 key. - F27, - /// The F28 key. - F28, - /// The F29 key. - F29, - /// The F30 key. - F30, - /// The F31 key. - F31, - /// The F32 key. - F32, - /// The F33 key. - F33, - /// The F34 key. - F34, - /// The F35 key. - F35, - - // Direction arrows - /// The up arrow key. - Up, - /// The down arrow key. - Down, - /// The left arrow key. - Left, - /// The right arrow key. - Right, - - /// The enter key. - Enter, - /// The escape key. - Escape, - /// The space key. - Space, - /// The tab key. - Tab, - /// The backspace key. - BackSpace, - /// The backspace key (equivalent to BackSpace). - Back = BackSpace, - /// The insert key. - Insert, - /// The delete key. - Delete, - /// The page up key. - PageUp, - /// The page down key. - PageDown, - /// The home key. - Home, - /// The end key. - End, - /// The caps lock key. - CapsLock, - /// The scroll lock key. - ScrollLock, - /// The print screen key. - PrintScreen, - /// The pause key. - Pause, - /// The num lock key. - NumLock, - - // Special keys - /// The clear key (Keypad5 with NumLock disabled, on typical keyboards). - Clear, - /// The sleep key. - Sleep, - /*LogOff, - Help, - Undo, - Redo, - New, - Open, - Close, - Reply, - Forward, - Send, - Spell, - Save, - Calculator, - - // Folders and applications - Documents, - Pictures, - Music, - MediaPlayer, - Mail, - Browser, - Messenger, - - // Multimedia keys - Mute, - PlayPause, - Stop, - VolumeUp, - VolumeDown, - TrackPrevious, - TrackNext,*/ - - // Keypad keys - /// The keypad 0 key. - Keypad0, - /// The keypad 1 key. - Keypad1, - /// The keypad 2 key. - Keypad2, - /// The keypad 3 key. - Keypad3, - /// The keypad 4 key. - Keypad4, - /// The keypad 5 key. - Keypad5, - /// The keypad 6 key. - Keypad6, - /// The keypad 7 key. - Keypad7, - /// The keypad 8 key. - Keypad8, - /// The keypad 9 key. - Keypad9, - /// The keypad divide key. - KeypadDivide, - /// The keypad multiply key. - KeypadMultiply, - /// The keypad subtract key. - KeypadSubtract, - /// The keypad minus key (equivalent to KeypadSubtract). - KeypadMinus = KeypadSubtract, - /// The keypad add key. - KeypadAdd, - /// The keypad plus key (equivalent to KeypadAdd). - KeypadPlus = KeypadAdd, - /// The keypad decimal key. - KeypadDecimal, - /// The keypad enter key. - KeypadEnter, - - // Letters - /// The A key. - A, - /// The B key. - B, - /// The C key. - C, - /// The D key. - D, - /// The E key. - E, - /// The F key. - F, - /// The G key. - G, - /// The H key. - H, - /// The I key. - I, - /// The J key. - J, - /// The K key. - K, - /// The L key. - L, - /// The M key. - M, - /// The N key. - N, - /// The O key. - O, - /// The P key. - P, - /// The Q key. - Q, - /// The R key. - R, - /// The S key. - S, - /// The T key. - T, - /// The U key. - U, - /// The V key. - V, - /// The W key. - W, - /// The X key. - X, - /// The Y key. - Y, - /// The Z key. - Z, - - // Numbers - /// The number 0 key. - Number0, - /// The number 1 key. - Number1, - /// The number 2 key. - Number2, - /// The number 3 key. - Number3, - /// The number 4 key. - Number4, - /// The number 5 key. - Number5, - /// The number 6 key. - Number6, - /// The number 7 key. - Number7, - /// The number 8 key. - Number8, - /// The number 9 key. - Number9, - - // Symbols - /// The tilde key. - Tilde, - /// The minus key. - Minus, - //Equal, - /// The plus key. - Plus, - /// The left bracket key. - BracketLeft, - /// The left bracket key (equivalent to BracketLeft). - LBracket = BracketLeft, - /// The right bracket key. - BracketRight, - /// The right bracket key (equivalent to BracketRight). - RBracket = BracketRight, - /// The semicolon key. - Semicolon, - /// The quote key. - Quote, - /// The comma key. - Comma, - /// The period key. - Period, - /// The slash key. - Slash, - /// The backslash key. - BackSlash, - } - - #endregion } \ No newline at end of file diff --git a/Source/OpenTK/Input/KeyboardState.cs b/Source/OpenTK/Input/KeyboardState.cs index acef0644..9a2c87af 100644 --- a/Source/OpenTK/Input/KeyboardState.cs +++ b/Source/OpenTK/Input/KeyboardState.cs @@ -1,4 +1,31 @@ -using System; + #region License + // + // The Open Toolkit Library License + // + // Copyright (c) 2006 - 2009 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; @@ -12,7 +39,10 @@ namespace OpenTK.Input #region Fields const int NumKeys = ((int)Key.LastKey + 16) / 32; - unsafe fixed int Keys[NumKeys]; + // Todo: The following line triggers bogus CS0214 in gmcs 2.0.1, sigh... + // Need to add a workaround using either ExplicitLayout or another trick. + //unsafe fixed int Keys[NumKeys]; + readonly int[] Keys; #endregion diff --git a/Source/OpenTK/Input/Mouse.cs b/Source/OpenTK/Input/Mouse.cs index 40b1d521..ebea50d4 100644 --- a/Source/OpenTK/Input/Mouse.cs +++ b/Source/OpenTK/Input/Mouse.cs @@ -1,4 +1,31 @@ -using System; + #region License + // + // The Open Toolkit Library License + // + // Copyright (c) 2006 - 2009 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; diff --git a/Source/OpenTK/Input/MouseButton.cs b/Source/OpenTK/Input/MouseButton.cs index 2e283d1e..0dca64df 100644 --- a/Source/OpenTK/Input/MouseButton.cs +++ b/Source/OpenTK/Input/MouseButton.cs @@ -1,4 +1,31 @@ -using System; + #region License + // + // The Open Toolkit Library License + // + // Copyright (c) 2006 - 2009 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; diff --git a/Source/OpenTK/Input/MouseDevice.cs b/Source/OpenTK/Input/MouseDevice.cs index 7078d524..dbbc3638 100644 --- a/Source/OpenTK/Input/MouseDevice.cs +++ b/Source/OpenTK/Input/MouseDevice.cs @@ -1,10 +1,31 @@ #define COMPAT_REV1519 // Keeps compatibility with revision 1519 -#region --- License --- -/* Copyright (c) 2006, 2007 Stefanos Apostolopoulos - * See license.txt for license info - */ -#endregion + #region License + // + // The Open Toolkit Library License + // + // Copyright (c) 2006 - 2009 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; diff --git a/Source/OpenTK/Input/MouseState.cs b/Source/OpenTK/Input/MouseState.cs index 8ea88905..feab5a18 100644 --- a/Source/OpenTK/Input/MouseState.cs +++ b/Source/OpenTK/Input/MouseState.cs @@ -1,4 +1,31 @@ -using System; + #region License + // + // The Open Toolkit Library License + // + // Copyright (c) 2006 - 2009 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;