- renamed ANX.InputSystemS.Windows.Recording to ANX.Input.System.Recording
This commit is contained in:
parent
c097a5d544
commit
f02ec67ace
@ -1,76 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup>
|
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
|
||||||
<ProductVersion>8.0.30703</ProductVersion>
|
|
||||||
<SchemaVersion>2.0</SchemaVersion>
|
|
||||||
<ProjectGuid>{DB88DDEB-7281-405D-8FCA-5681B6B2BD7A}</ProjectGuid>
|
|
||||||
<OutputType>Library</OutputType>
|
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
|
||||||
<RootNamespace>ANX.InputSystems.Windows.Recording</RootNamespace>
|
|
||||||
<AssemblyName>ANX.InputSystems.Windows.Recording</AssemblyName>
|
|
||||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
|
||||||
<FileAlignment>512</FileAlignment>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
||||||
<DebugSymbols>true</DebugSymbols>
|
|
||||||
<DebugType>full</DebugType>
|
|
||||||
<Optimize>false</Optimize>
|
|
||||||
<OutputPath>..\..\bin\Debug\</OutputPath>
|
|
||||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
||||||
<DebugType>pdbonly</DebugType>
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
<OutputPath>..\..\bin\Release\</OutputPath>
|
|
||||||
<DefineConstants>TRACE</DefineConstants>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Reference Include="System" />
|
|
||||||
<Reference Include="System.Core" />
|
|
||||||
<Reference Include="System.Xml.Linq" />
|
|
||||||
<Reference Include="Microsoft.CSharp" />
|
|
||||||
<Reference Include="System.Data" />
|
|
||||||
<Reference Include="System.Xml" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Compile Include="Creator.cs" />
|
|
||||||
<Compile Include="Metadata.Designer.cs">
|
|
||||||
<DependentUpon>Metadata.resx</DependentUpon>
|
|
||||||
<AutoGen>True</AutoGen>
|
|
||||||
<DesignTime>True</DesignTime>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="RecordableDevice.cs" />
|
|
||||||
<Compile Include="RecordingGamePad.cs" />
|
|
||||||
<Compile Include="RecordingHelper.cs" />
|
|
||||||
<Compile Include="RecordingKeyboard.cs" />
|
|
||||||
<Compile Include="RecordingMotionSensingDevice.cs" />
|
|
||||||
<Compile Include="RecordingMouse.cs" />
|
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\..\ANX.Framework\ANX.Framework.csproj">
|
|
||||||
<Project>{6899F0C9-70B9-4EB0-9DD3-E598D4BE3E35}</Project>
|
|
||||||
<Name>ANX.Framework</Name>
|
|
||||||
</ProjectReference>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<EmbeddedResource Include="Metadata.resx">
|
|
||||||
<Generator>PublicResXFileCodeGenerator</Generator>
|
|
||||||
<LastGenOutput>Metadata.Designer.cs</LastGenOutput>
|
|
||||||
</EmbeddedResource>
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
|
||||||
<Target Name="BeforeBuild">
|
|
||||||
</Target>
|
|
||||||
<Target Name="AfterBuild">
|
|
||||||
</Target>
|
|
||||||
-->
|
|
||||||
</Project>
|
|
@ -1,106 +0,0 @@
|
|||||||
#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 int.MaxValue; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool IsSupported
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
//TODO: this is just a very basic version of test for support
|
|
||||||
return AddInSystemFactory.Instance.OperatingSystem.Platform == PlatformID.Win32NT;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,72 +0,0 @@
|
|||||||
//------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// Dieser Code wurde von einem Tool generiert.
|
|
||||||
// Laufzeitversion:4.0.30319.239
|
|
||||||
//
|
|
||||||
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
|
||||||
// der Code erneut generiert wird.
|
|
||||||
// </auto-generated>
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
namespace ANX.Framework.Windows.DX10 {
|
|
||||||
using System;
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
|
|
||||||
/// </summary>
|
|
||||||
// Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
|
|
||||||
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
|
|
||||||
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
|
|
||||||
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
|
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
|
||||||
public class Metadata {
|
|
||||||
|
|
||||||
private static global::System.Resources.ResourceManager resourceMan;
|
|
||||||
|
|
||||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
|
||||||
|
|
||||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
|
||||||
internal Metadata() {
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
|
|
||||||
/// </summary>
|
|
||||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
|
||||||
public static global::System.Resources.ResourceManager ResourceManager {
|
|
||||||
get {
|
|
||||||
if (object.ReferenceEquals(resourceMan, null)) {
|
|
||||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ANX.Framework.Windows.DX10.Metadata", typeof(Metadata).Assembly);
|
|
||||||
resourceMan = temp;
|
|
||||||
}
|
|
||||||
return resourceMan;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
|
|
||||||
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
|
|
||||||
/// </summary>
|
|
||||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
|
||||||
public static global::System.Globalization.CultureInfo Culture {
|
|
||||||
get {
|
|
||||||
return resourceCulture;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
resourceCulture = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Sucht eine lokalisierte Zeichenfolge, die Win32NT ähnelt.
|
|
||||||
/// </summary>
|
|
||||||
public static string SupportedPlatforms {
|
|
||||||
get {
|
|
||||||
return ResourceManager.GetString("SupportedPlatforms", resourceCulture);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,123 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<root>
|
|
||||||
<!--
|
|
||||||
Microsoft ResX Schema
|
|
||||||
|
|
||||||
Version 2.0
|
|
||||||
|
|
||||||
The primary goals of this format is to allow a simple XML format
|
|
||||||
that is mostly human readable. The generation and parsing of the
|
|
||||||
various data types are done through the TypeConverter classes
|
|
||||||
associated with the data types.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
... ado.net/XML headers & schema ...
|
|
||||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
|
||||||
<resheader name="version">2.0</resheader>
|
|
||||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
|
||||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
|
||||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
|
||||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
|
||||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
|
||||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
|
||||||
</data>
|
|
||||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
|
||||||
<comment>This is a comment</comment>
|
|
||||||
</data>
|
|
||||||
|
|
||||||
There are any number of "resheader" rows that contain simple
|
|
||||||
name/value pairs.
|
|
||||||
|
|
||||||
Each data row contains a name, and value. The row also contains a
|
|
||||||
type or mimetype. Type corresponds to a .NET class that support
|
|
||||||
text/value conversion through the TypeConverter architecture.
|
|
||||||
Classes that don't support this are serialized and stored with the
|
|
||||||
mimetype set.
|
|
||||||
|
|
||||||
The mimetype is used for serialized objects, and tells the
|
|
||||||
ResXResourceReader how to depersist the object. This is currently not
|
|
||||||
extensible. For a given mimetype the value must be set accordingly:
|
|
||||||
|
|
||||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
|
||||||
that the ResXResourceWriter will generate, however the reader can
|
|
||||||
read any of the formats listed below.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.binary.base64
|
|
||||||
value : The object must be serialized with
|
|
||||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.soap.base64
|
|
||||||
value : The object must be serialized with
|
|
||||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
|
||||||
value : The object must be serialized into a byte array
|
|
||||||
: using a System.ComponentModel.TypeConverter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
-->
|
|
||||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
|
||||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
|
||||||
<xsd:element name="root" msdata:IsDataSet="true">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:choice maxOccurs="unbounded">
|
|
||||||
<xsd:element name="metadata">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:sequence>
|
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
|
||||||
</xsd:sequence>
|
|
||||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
|
||||||
<xsd:attribute name="type" type="xsd:string" />
|
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
|
||||||
<xsd:attribute ref="xml:space" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
<xsd:element name="assembly">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:attribute name="alias" type="xsd:string" />
|
|
||||||
<xsd:attribute name="name" type="xsd:string" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
<xsd:element name="data">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:sequence>
|
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
|
||||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
|
||||||
</xsd:sequence>
|
|
||||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
|
||||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
|
||||||
<xsd:attribute ref="xml:space" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
<xsd:element name="resheader">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:sequence>
|
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
|
||||||
</xsd:sequence>
|
|
||||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
</xsd:choice>
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
</xsd:schema>
|
|
||||||
<resheader name="resmimetype">
|
|
||||||
<value>text/microsoft-resx</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="version">
|
|
||||||
<value>2.0</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="reader">
|
|
||||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="writer">
|
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</resheader>
|
|
||||||
<data name="SupportedPlatforms" xml:space="preserve">
|
|
||||||
<value>Win32NT</value>
|
|
||||||
</data>
|
|
||||||
</root>
|
|
@ -1,36 +0,0 @@
|
|||||||
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("ANX.Framework Team")]
|
|
||||||
[assembly: AssemblyProduct("ANX.InputSystems.Windows.Recording")]
|
|
||||||
[assembly: AssemblyCopyright("Copyright © ANX.Framework Team 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("0.0.1.0")]
|
|
||||||
[assembly: AssemblyFileVersion("0.0.1.0")]
|
|
@ -1,197 +0,0 @@
|
|||||||
#region Using Statements
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
#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
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Abstract Class. Classes derived from this class allow recording and Playback of Inputs.
|
|
||||||
/// </summary>
|
|
||||||
public abstract class RecordableDevice
|
|
||||||
{
|
|
||||||
protected Stream recordStream; //The stream where the input is written to
|
|
||||||
protected int nullStateCounter; //Used to sum up frames with no input.
|
|
||||||
|
|
||||||
public RecordingState RecordingState { get; protected set; }
|
|
||||||
|
|
||||||
public event EventHandler EndOfPlaybackReached;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// How many bytes this Instance requires per Frame. Must never change!
|
|
||||||
/// </summary>
|
|
||||||
public int FramePacketLenght { get; protected set; }
|
|
||||||
|
|
||||||
public RecordableDevice()
|
|
||||||
{
|
|
||||||
RecordingState = RecordingState.None;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Initializes the Device using a new
|
|
||||||
/// MemoryStream for input-buffering.
|
|
||||||
/// </summary>
|
|
||||||
public virtual void Initialize()
|
|
||||||
{
|
|
||||||
Initialize(new MemoryStream());
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Initializes the Device using the specified stream
|
|
||||||
/// for input-buffering.
|
|
||||||
/// </summary>
|
|
||||||
public virtual void Initialize(Stream bufferStream)
|
|
||||||
{
|
|
||||||
recordStream = bufferStream;
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void StartRecording()
|
|
||||||
{
|
|
||||||
if (RecordingState == RecordingState.Recording)
|
|
||||||
return;
|
|
||||||
|
|
||||||
RecordingState = RecordingState.Recording;
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void StopRecording()
|
|
||||||
{
|
|
||||||
if (RecordingState != RecordingState.Recording)
|
|
||||||
throw new InvalidOperationException("Recording wasn't started for this device!");
|
|
||||||
|
|
||||||
RecordingState = RecordingState.None;
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void StartPlayback()
|
|
||||||
{
|
|
||||||
if (RecordingState == RecordingState.Recording)
|
|
||||||
throw new InvalidOperationException("Recording is currently running for this device.");
|
|
||||||
|
|
||||||
RecordingState = RecordingState.Playback;
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void StopPlayback()
|
|
||||||
{
|
|
||||||
RecordingState = RecordingState.None;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Writes the current input state to the buffering stream. Pass null
|
|
||||||
/// for state, if no input is done (no keys down etc.).
|
|
||||||
/// Must be called once per Frame!
|
|
||||||
/// </summary>
|
|
||||||
protected virtual void WriteState(byte[] state)
|
|
||||||
{
|
|
||||||
if (state == null)
|
|
||||||
{
|
|
||||||
nullStateCounter++;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (state.Length != FramePacketLenght)
|
|
||||||
throw new InvalidOperationException("The passed state's lenght does not match the speficed FramePaketLenght.");
|
|
||||||
|
|
||||||
if (nullStateCounter > 0) //Note how many packets we had nothing
|
|
||||||
{
|
|
||||||
recordStream.WriteByte((byte)PacketType.NullFrameCounter);
|
|
||||||
recordStream.Write(BitConverter.GetBytes(nullStateCounter), 0, 4);
|
|
||||||
}
|
|
||||||
|
|
||||||
recordStream.WriteByte((byte)PacketType.InputData);
|
|
||||||
recordStream.Write(state, 0, state.Length);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Reads the next input-state from the buffering stream. Might
|
|
||||||
/// return null, if no input was made in this frame.
|
|
||||||
/// Must be called once per Frame!
|
|
||||||
/// </summary>
|
|
||||||
protected virtual byte[] ReadState()
|
|
||||||
{
|
|
||||||
if (nullStateCounter > 0) //we have null-states pending
|
|
||||||
{
|
|
||||||
nullStateCounter--;
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (recordStream.Position == recordStream.Length)
|
|
||||||
{
|
|
||||||
OnEndOfPlaybackReached();
|
|
||||||
return null; //TODO: Better switch to RecordingState.None here?
|
|
||||||
}
|
|
||||||
|
|
||||||
PacketType type = (PacketType)recordStream.ReadByte();
|
|
||||||
switch (type)
|
|
||||||
{
|
|
||||||
case PacketType.NullFrameCounter:
|
|
||||||
byte[] buffer = new byte[4];
|
|
||||||
recordStream.Read(buffer, 0, 4);
|
|
||||||
nullStateCounter = BitConverter.ToInt32(buffer, 0) - 1;
|
|
||||||
return null;
|
|
||||||
case PacketType.InputData:
|
|
||||||
byte[] buffer2 = new byte[FramePacketLenght];
|
|
||||||
recordStream.Read(buffer2, 0, FramePacketLenght);
|
|
||||||
return buffer2;
|
|
||||||
default:
|
|
||||||
throw new NotImplementedException("The PaketType " + Enum.GetName(typeof(PacketType), type) + "is not supported.");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
protected virtual void OnEndOfPlaybackReached()
|
|
||||||
{
|
|
||||||
if (EndOfPlaybackReached != null)
|
|
||||||
EndOfPlaybackReached(this, EventArgs.Empty);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,86 +0,0 @@
|
|||||||
#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
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Wrapper arround another IGamePad, will record all inputs and allows playback.
|
|
||||||
/// </summary>
|
|
||||||
public 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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,87 +0,0 @@
|
|||||||
#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
|
|
||||||
{
|
|
||||||
public enum RecordingState
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// This device is recording input.
|
|
||||||
/// </summary>
|
|
||||||
Recording,
|
|
||||||
/// <summary>
|
|
||||||
/// This device plays back recorded input.
|
|
||||||
/// </summary>
|
|
||||||
Playback,
|
|
||||||
/// <summary>
|
|
||||||
/// Playback and Recording paused, the current values will be passed through.
|
|
||||||
/// </summary>
|
|
||||||
None
|
|
||||||
}
|
|
||||||
|
|
||||||
enum PacketType : byte
|
|
||||||
{
|
|
||||||
NullFrameCounter = 0,
|
|
||||||
InputData = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Static Helper-class containing some recording related stuff.
|
|
||||||
/// </summary>
|
|
||||||
static class RecordingHelper
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,82 +0,0 @@
|
|||||||
#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
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Wrapper arround another IKeyboard, will record all inputs and allows playback.
|
|
||||||
/// </summary>
|
|
||||||
public 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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,93 +0,0 @@
|
|||||||
#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
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Wrapper aroung another IMotionSensingDevice, will record all inputs and allows playback.
|
|
||||||
/// </summary>
|
|
||||||
public 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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,130 +0,0 @@
|
|||||||
#region Using Statements
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using ANX.Framework.NonXNA;
|
|
||||||
using ANX.Framework.Input;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
#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
|
|
||||||
{
|
|
||||||
[Flags]
|
|
||||||
public enum MouseRecordInfo : byte
|
|
||||||
{
|
|
||||||
LeftButton = 1,
|
|
||||||
RightButton = 2,
|
|
||||||
MiddleButton = 4,
|
|
||||||
X1Button = 8,
|
|
||||||
X2Button = 16,
|
|
||||||
ScrollWheel = 32,
|
|
||||||
XPosition = 64,
|
|
||||||
YPosition = 128,
|
|
||||||
LRMButtons = LeftButton | RightButton | MiddleButton,
|
|
||||||
XButtons = X1Button | X2Button,
|
|
||||||
AllButtons = LRMButtons | XButtons,
|
|
||||||
Position = XPosition | YPosition,
|
|
||||||
All = AllButtons | Position | ScrollWheel
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Wrapper arround another IGamePad, will record all inputs and allows playback.
|
|
||||||
/// </summary>
|
|
||||||
public 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();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Initialize(MouseRecordInfo info)
|
|
||||||
{
|
|
||||||
base.Initialize();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Initialize(MouseRecordInfo info, Stream bufferStream)
|
|
||||||
{
|
|
||||||
base.Initialize(bufferStream);
|
|
||||||
}
|
|
||||||
|
|
||||||
private int GetPaketSize(MouseRecordInfo info)
|
|
||||||
{
|
|
||||||
int ret = 0; //TODO: Pack the bools in one byte to save space sizeof(bool) == sizeof(byte)!
|
|
||||||
if (info.HasFlag(MouseRecordInfo.LeftButton))
|
|
||||||
ret += sizeof(bool);
|
|
||||||
if (info.HasFlag(MouseRecordInfo.RightButton))
|
|
||||||
ret += sizeof(bool);
|
|
||||||
if (info.HasFlag(MouseRecordInfo.MiddleButton))
|
|
||||||
ret += sizeof(bool);
|
|
||||||
if (info.HasFlag(MouseRecordInfo.X1Button))
|
|
||||||
ret += sizeof(bool);
|
|
||||||
if (info.HasFlag(MouseRecordInfo.X2Button))
|
|
||||||
ret += sizeof(bool);
|
|
||||||
|
|
||||||
if (info.HasFlag(MouseRecordInfo.XPosition))
|
|
||||||
ret += sizeof(int);
|
|
||||||
if (info.HasFlag(MouseRecordInfo.YPosition))
|
|
||||||
ret += sizeof(int);
|
|
||||||
if (info.HasFlag(MouseRecordInfo.ScrollWheel))
|
|
||||||
ret += sizeof(int);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user