diff --git a/ANX.Framework.sln b/ANX.Framework.sln index 74f11d9a..9ea24618 100644 --- a/ANX.Framework.sln +++ b/ANX.Framework.sln @@ -107,6 +107,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StencilBuffer", "Samples\St EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Primitives", "Samples\Primitives\Primitives.csproj", "{57097B7A-A283-4409-8AAC-35BF0F458657}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ANX.InputSystems.Windows.Recording", "InputSystems\ANX.InputSystems.Windows.Recording\ANX.InputSystems.Windows.Recording.csproj", "{DB88DDEB-7281-405D-8FCA-5681B6B2BD7A}" +EndProject Global GlobalSection(SubversionScc) = preSolution Svn-Managed = True @@ -349,6 +351,16 @@ Global {57097B7A-A283-4409-8AAC-35BF0F458657}.Release|Mixed Platforms.Build.0 = Release|x86 {57097B7A-A283-4409-8AAC-35BF0F458657}.Release|x86.ActiveCfg = Release|x86 {57097B7A-A283-4409-8AAC-35BF0F458657}.Release|x86.Build.0 = Release|x86 + {DB88DDEB-7281-405D-8FCA-5681B6B2BD7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DB88DDEB-7281-405D-8FCA-5681B6B2BD7A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DB88DDEB-7281-405D-8FCA-5681B6B2BD7A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {DB88DDEB-7281-405D-8FCA-5681B6B2BD7A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {DB88DDEB-7281-405D-8FCA-5681B6B2BD7A}.Debug|x86.ActiveCfg = Debug|Any CPU + {DB88DDEB-7281-405D-8FCA-5681B6B2BD7A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DB88DDEB-7281-405D-8FCA-5681B6B2BD7A}.Release|Any CPU.Build.0 = Release|Any CPU + {DB88DDEB-7281-405D-8FCA-5681B6B2BD7A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {DB88DDEB-7281-405D-8FCA-5681B6B2BD7A}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {DB88DDEB-7281-405D-8FCA-5681B6B2BD7A}.Release|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -373,6 +385,7 @@ Global {57097B7A-A283-4409-8AAC-35BF0F458657} = {9B0DD48B-3912-4F33-AF3F-691AF02B73F9} {E5D69E75-D77C-493F-BBDA-6F9E73B82549} = {7AD65E6B-2A48-437F-81D9-4CA9C9A85C64} {60D08399-244F-46A3-91F1-4CFD26D961A3} = {7AD65E6B-2A48-437F-81D9-4CA9C9A85C64} + {DB88DDEB-7281-405D-8FCA-5681B6B2BD7A} = {7AD65E6B-2A48-437F-81D9-4CA9C9A85C64} {6A582788-C4D2-410C-96CD-177F75712D65} = {5725DA44-4F5C-4E93-A957-AC5C85603EE9} {CCB4679D-11AF-4EC6-AAA4-36619FCE70FA} = {60824BDB-AC8A-42ED-9B79-111FB44669FF} {E4FFD875-95FC-48F2-8B6D-8483D0B71666} = {60824BDB-AC8A-42ED-9B79-111FB44669FF} diff --git a/InputSystems/ANX.InputSystems.Windows.Recording/ANX.InputSystems.Windows.Recording.csproj b/InputSystems/ANX.InputSystems.Windows.Recording/ANX.InputSystems.Windows.Recording.csproj new file mode 100644 index 00000000..3529aba6 --- /dev/null +++ b/InputSystems/ANX.InputSystems.Windows.Recording/ANX.InputSystems.Windows.Recording.csproj @@ -0,0 +1,65 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {DB88DDEB-7281-405D-8FCA-5681B6B2BD7A} + Library + Properties + ANX.InputSystems.Windows.Recording + ANX.InputSystems.Windows.Recording + v4.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + {6899F0C9-70B9-4EB0-9DD3-E598D4BE3E35} + ANX.Framework + + + + + \ No newline at end of file diff --git a/InputSystems/ANX.InputSystems.Windows.Recording/Creator.cs b/InputSystems/ANX.InputSystems.Windows.Recording/Creator.cs new file mode 100644 index 00000000..e4760141 --- /dev/null +++ b/InputSystems/ANX.InputSystems.Windows.Recording/Creator.cs @@ -0,0 +1,96 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using ANX.Framework.NonXNA; + +#endregion + +#region License + +// +// This file is part of the ANX.Framework created by the "ANX.Framework developer group". +// +// This file is released under the Ms-PL license. +// +// +// +// Microsoft Public License (Ms-PL) +// +// This license governs use of the accompanying software. If you use the software, you accept this license. +// If you do not accept the license, do not use the software. +// +// 1.Definitions +// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning +// here as under U.S. copyright law. +// A "contribution" is the original software, or any additions or changes to the software. +// A "contributor" is any person that distributes its contribution under this license. +// "Licensed patents" are a contributor's patent claims that read directly on its contribution. +// +// 2.Grant of Rights +// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations +// in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to +// reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution +// or any derivative works that you create. +// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in +// section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed +// patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution +// in the software or derivative works of the contribution in the software. +// +// 3.Conditions and Limitations +// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your +// patent license from such contributor to the software ends automatically. +// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution +// notices that are present in the software. +// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including +// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or +// object code form, you may only do so under a license that complies with this license. +// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, +// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the +// extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a +// particular purpose and non-infringement. + +#endregion // License + +namespace ANX.InputSystem.Windows.Recording +{ + public class Creator : IInputSystemCreator + { + public IGamePad GamePad + { + get { return new RecordingGamePad(); } + } + + public IMouse Mouse + { + get { return new RecordingMouse(); } + } + + public IKeyboard Keyboard + { + get { return new RecordingKeyboard(); } + } + + public IMotionSensingDevice MotionSensingDevice + { + get { return new RecordingMotionSensingDevice(); } + } + + public void RegisterCreator(AddInSystemFactory factory) + { + factory.AddCreator(this); + } + + public string Name + { + get { return "Recording"; } + } + + public int Priority + { + get { return 10; } + } + } +} diff --git a/InputSystems/ANX.InputSystems.Windows.Recording/Properties/AssemblyInfo.cs b/InputSystems/ANX.InputSystems.Windows.Recording/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..ea0db167 --- /dev/null +++ b/InputSystems/ANX.InputSystems.Windows.Recording/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die mit einer Assembly verknüpft sind. +[assembly: AssemblyTitle("ANX.InputSystems.Windows.Recording")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ANX.InputSystems.Windows.Recording")] +[assembly: AssemblyCopyright("Copyright © 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar +// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von +// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest. +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird +[assembly: Guid("cbb5cead-130a-4ede-9257-8fc816f95935")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern +// übernehmen, indem Sie "*" eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/InputSystems/ANX.InputSystems.Windows.Recording/RecordableDevice.cs b/InputSystems/ANX.InputSystems.Windows.Recording/RecordableDevice.cs new file mode 100644 index 00000000..eff1a9fc --- /dev/null +++ b/InputSystems/ANX.InputSystems.Windows.Recording/RecordableDevice.cs @@ -0,0 +1,99 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +#endregion + +#region License + +// +// This file is part of the ANX.Framework created by the "ANX.Framework developer group". +// +// This file is released under the Ms-PL license. +// +// +// +// Microsoft Public License (Ms-PL) +// +// This license governs use of the accompanying software. If you use the software, you accept this license. +// If you do not accept the license, do not use the software. +// +// 1.Definitions +// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning +// here as under U.S. copyright law. +// A "contribution" is the original software, or any additions or changes to the software. +// A "contributor" is any person that distributes its contribution under this license. +// "Licensed patents" are a contributor's patent claims that read directly on its contribution. +// +// 2.Grant of Rights +// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations +// in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to +// reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution +// or any derivative works that you create. +// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in +// section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed +// patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution +// in the software or derivative works of the contribution in the software. +// +// 3.Conditions and Limitations +// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your +// patent license from such contributor to the software ends automatically. +// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution +// notices that are present in the software. +// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including +// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or +// object code form, you may only do so under a license that complies with this license. +// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, +// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the +// extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a +// particular purpose and non-infringement. + +#endregion // License + +namespace ANX.InputSystem.Windows.Recording +{ + /// + /// Abstract Class. Classes derived from this class allow recording and Playback of Inputs. + /// + abstract class RecordableDevice + { + public RecordingState RecordingState { get; protected set; } + + public RecordableDevice() + { + RecordingState = RecordingState.None; + } + + public void StartRecording() + { + if (RecordingState == RecordingState.Recording) + return; + + RecordingState = RecordingState.Recording; + } + + public void StopRecording() + { + if (RecordingState != RecordingState.Recording) + throw new InvalidOperationException("Recording wasn't started for this device!"); + + RecordingState = RecordingState.None; + } + + public void StartPlayback() + { + if (RecordingState == RecordingState.Recording) + throw new InvalidOperationException("Recording is currently running for this device."); + + RecordingState = RecordingState.Playback; + } + + public void StopPlayback() + { + RecordingState = RecordingState.None; + } + } +} diff --git a/InputSystems/ANX.InputSystems.Windows.Recording/RecordingGamePad.cs b/InputSystems/ANX.InputSystems.Windows.Recording/RecordingGamePad.cs new file mode 100644 index 00000000..77b651bc --- /dev/null +++ b/InputSystems/ANX.InputSystems.Windows.Recording/RecordingGamePad.cs @@ -0,0 +1,86 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using ANX.Framework.NonXNA; +using ANX.Framework.Input; +using ANX.Framework; + +#endregion + +#region License + +// +// This file is part of the ANX.Framework created by the "ANX.Framework developer group". +// +// This file is released under the Ms-PL license. +// +// +// +// Microsoft Public License (Ms-PL) +// +// This license governs use of the accompanying software. If you use the software, you accept this license. +// If you do not accept the license, do not use the software. +// +// 1.Definitions +// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning +// here as under U.S. copyright law. +// A "contribution" is the original software, or any additions or changes to the software. +// A "contributor" is any person that distributes its contribution under this license. +// "Licensed patents" are a contributor's patent claims that read directly on its contribution. +// +// 2.Grant of Rights +// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations +// in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to +// reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution +// or any derivative works that you create. +// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in +// section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed +// patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution +// in the software or derivative works of the contribution in the software. +// +// 3.Conditions and Limitations +// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your +// patent license from such contributor to the software ends automatically. +// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution +// notices that are present in the software. +// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including +// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or +// object code form, you may only do so under a license that complies with this license. +// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, +// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the +// extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a +// particular purpose and non-infringement. + +#endregion // License + +namespace ANX.InputSystem.Windows.Recording +{ + /// + /// Wrapper arround another IGamePad, will record all inputs and allows playback. + /// + class RecordingGamePad : RecordableDevice,IGamePad + { + public GamePadCapabilities GetCapabilities(PlayerIndex playerIndex) + { + throw new NotImplementedException(); + } + + public GamePadState GetState(PlayerIndex playerIndex, out bool isConnected, out int packetNumber) + { + throw new NotImplementedException(); + } + + public GamePadState GetState(PlayerIndex playerIndex, Framework.Input.GamePadDeadZone deadZoneMode, out bool isConnected, out int packetNumber) + { + throw new NotImplementedException(); + } + + public bool SetVibration(PlayerIndex playerIndex, float leftMotor, float rightMotor) + { + throw new NotImplementedException(); + } + } +} diff --git a/InputSystems/ANX.InputSystems.Windows.Recording/RecordingHelper.cs b/InputSystems/ANX.InputSystems.Windows.Recording/RecordingHelper.cs new file mode 100644 index 00000000..68f5c07b --- /dev/null +++ b/InputSystems/ANX.InputSystems.Windows.Recording/RecordingHelper.cs @@ -0,0 +1,80 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +#endregion + +#region License + +// +// This file is part of the ANX.Framework created by the "ANX.Framework developer group". +// +// This file is released under the Ms-PL license. +// +// +// +// Microsoft Public License (Ms-PL) +// +// This license governs use of the accompanying software. If you use the software, you accept this license. +// If you do not accept the license, do not use the software. +// +// 1.Definitions +// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning +// here as under U.S. copyright law. +// A "contribution" is the original software, or any additions or changes to the software. +// A "contributor" is any person that distributes its contribution under this license. +// "Licensed patents" are a contributor's patent claims that read directly on its contribution. +// +// 2.Grant of Rights +// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations +// in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to +// reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution +// or any derivative works that you create. +// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in +// section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed +// patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution +// in the software or derivative works of the contribution in the software. +// +// 3.Conditions and Limitations +// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your +// patent license from such contributor to the software ends automatically. +// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution +// notices that are present in the software. +// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including +// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or +// object code form, you may only do so under a license that complies with this license. +// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, +// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the +// extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a +// particular purpose and non-infringement. + +#endregion // License + +namespace ANX.InputSystem.Windows.Recording +{ + enum RecordingState + { + /// + /// This device is recording input. + /// + Recording, + /// + /// This device plays back recorded input. + /// + Playback, + /// + /// Playback and Recording paused, the current values will be passed through. + /// + None + } + + /// + /// Static Helper-class containing some recording related stuff. + /// + static class RecordingHelper + { + } +} diff --git a/InputSystems/ANX.InputSystems.Windows.Recording/RecordingKeyboard.cs b/InputSystems/ANX.InputSystems.Windows.Recording/RecordingKeyboard.cs new file mode 100644 index 00000000..282d117c --- /dev/null +++ b/InputSystems/ANX.InputSystems.Windows.Recording/RecordingKeyboard.cs @@ -0,0 +1,82 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using ANX.Framework.NonXNA; +using ANX.Framework; + +#endregion + +#region License + +// +// This file is part of the ANX.Framework created by the "ANX.Framework developer group". +// +// This file is released under the Ms-PL license. +// +// +// +// Microsoft Public License (Ms-PL) +// +// This license governs use of the accompanying software. If you use the software, you accept this license. +// If you do not accept the license, do not use the software. +// +// 1.Definitions +// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning +// here as under U.S. copyright law. +// A "contribution" is the original software, or any additions or changes to the software. +// A "contributor" is any person that distributes its contribution under this license. +// "Licensed patents" are a contributor's patent claims that read directly on its contribution. +// +// 2.Grant of Rights +// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations +// in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to +// reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution +// or any derivative works that you create. +// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in +// section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed +// patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution +// in the software or derivative works of the contribution in the software. +// +// 3.Conditions and Limitations +// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your +// patent license from such contributor to the software ends automatically. +// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution +// notices that are present in the software. +// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including +// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or +// object code form, you may only do so under a license that complies with this license. +// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, +// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the +// extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a +// particular purpose and non-infringement. + +#endregion // License + +namespace ANX.InputSystem.Windows.Recording +{ + /// + /// Wrapper arround another IKeyboard, will record all inputs and allows playback. + /// + class RecordingKeyboard : RecordableDevice, IKeyboard + { + public IntPtr WindowHandle { get; set; } + + public Framework.Input.KeyboardState GetState() + { + throw new NotImplementedException(); + } + + public Framework.Input.KeyboardState GetState(PlayerIndex playerIndex) + { + throw new NotImplementedException(); + } + + public void Dispose() + { + throw new NotImplementedException(); + } + } +} diff --git a/InputSystems/ANX.InputSystems.Windows.Recording/RecordingMotionSensingDevice.cs b/InputSystems/ANX.InputSystems.Windows.Recording/RecordingMotionSensingDevice.cs new file mode 100644 index 00000000..42510a66 --- /dev/null +++ b/InputSystems/ANX.InputSystems.Windows.Recording/RecordingMotionSensingDevice.cs @@ -0,0 +1,93 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using ANX.Framework.NonXNA; +using ANX.Framework.Graphics; +using ANX.Framework.Input.MotionSensing; + +#endregion + +#region License + +// +// This file is part of the ANX.Framework created by the "ANX.Framework developer group". +// +// This file is released under the Ms-PL license. +// +// +// +// Microsoft Public License (Ms-PL) +// +// This license governs use of the accompanying software. If you use the software, you accept this license. +// If you do not accept the license, do not use the software. +// +// 1.Definitions +// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning +// here as under U.S. copyright law. +// A "contribution" is the original software, or any additions or changes to the software. +// A "contributor" is any person that distributes its contribution under this license. +// "Licensed patents" are a contributor's patent claims that read directly on its contribution. +// +// 2.Grant of Rights +// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations +// in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to +// reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution +// or any derivative works that you create. +// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in +// section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed +// patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution +// in the software or derivative works of the contribution in the software. +// +// 3.Conditions and Limitations +// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your +// patent license from such contributor to the software ends automatically. +// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution +// notices that are present in the software. +// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including +// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or +// object code form, you may only do so under a license that complies with this license. +// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, +// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the +// extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a +// particular purpose and non-infringement. + +#endregion // License + +namespace ANX.InputSystem.Windows.Recording +{ + /// + /// Wrapper aroung another IMotionSensingDevice, will record all inputs and allows playback. + /// + class RecordingMotionSensingDevice : RecordableDevice,IMotionSensingDevice + { + public GraphicsDevice GraphicsDevice + { + get + { + throw new NotImplementedException(); + } + set + { + throw new NotImplementedException(); + } + } + + public MotionSensingDeviceType DeviceType + { + get { throw new NotImplementedException(); } + } + + public MotionSensingDeviceState GetState() + { + throw new NotImplementedException(); + } + + public void Dispose() + { + throw new NotImplementedException(); + } + } +} diff --git a/InputSystems/ANX.InputSystems.Windows.Recording/RecordingMouse.cs b/InputSystems/ANX.InputSystems.Windows.Recording/RecordingMouse.cs new file mode 100644 index 00000000..a1c8aec9 --- /dev/null +++ b/InputSystems/ANX.InputSystems.Windows.Recording/RecordingMouse.cs @@ -0,0 +1,77 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using ANX.Framework.NonXNA; +using ANX.Framework.Input; + +#endregion + +#region License + +// +// This file is part of the ANX.Framework created by the "ANX.Framework developer group". +// +// This file is released under the Ms-PL license. +// +// +// +// Microsoft Public License (Ms-PL) +// +// This license governs use of the accompanying software. If you use the software, you accept this license. +// If you do not accept the license, do not use the software. +// +// 1.Definitions +// The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning +// here as under U.S. copyright law. +// A "contribution" is the original software, or any additions or changes to the software. +// A "contributor" is any person that distributes its contribution under this license. +// "Licensed patents" are a contributor's patent claims that read directly on its contribution. +// +// 2.Grant of Rights +// (A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations +// in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to +// reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution +// or any derivative works that you create. +// (B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in +// section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed +// patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution +// in the software or derivative works of the contribution in the software. +// +// 3.Conditions and Limitations +// (A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +// (B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your +// patent license from such contributor to the software ends automatically. +// (C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution +// notices that are present in the software. +// (D) If you distribute any portion of the software in source code form, you may do so only under this license by including +// a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or +// object code form, you may only do so under a license that complies with this license. +// (E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, +// or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the +// extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a +// particular purpose and non-infringement. + +#endregion // License + +namespace ANX.InputSystem.Windows.Recording +{ + /// + /// Wrapper arround another IGamePad, will record all inputs and allows playback. + /// + class RecordingMouse : RecordableDevice,IMouse + { + public IntPtr WindowHandle { get; set; } + + public MouseState GetState() + { + throw new NotImplementedException(); + } + + public void SetPosition(int x, int y) + { + throw new NotImplementedException(); + } + } +}