# HG changeset patch # User PAMPHILE Jonathan # Date 1256545643 -3600 # Node ID 45c9e55fcf2381bb0347780edb468d61f5e18317 # Parent e99fe78cd1689110f5f4b13ba9ca3453a46a750a Gesture Control diff -r e99fe78cd168 -r 45c9e55fcf23 src/FingersDance.Control.Player/FingersDance.Control.Player.csproj --- a/src/FingersDance.Control.Player/FingersDance.Control.Player.csproj Mon Oct 26 08:36:15 2009 +0100 +++ b/src/FingersDance.Control.Player/FingersDance.Control.Player.csproj Mon Oct 26 09:27:23 2009 +0100 @@ -161,6 +161,10 @@ {2BCEE1BF-D3AC-478C-A26B-DFDB7420E965} FingersDance.Control.TimeLine + + {99A9037F-5431-44DD-BCE9-ED60670DEBC1} + GestureControl + {E81BB080-0598-43AC-90CE-54D6570C4E9E} FingersDance.ViewModels @@ -169,10 +173,6 @@ {0B308B6E-7B1E-46C0-ACC7-0B7EFC4D0B2C} FingersDance.Views - - {99A9037F-5431-44DD-BCE9-ED60670DEBC1} - GestureControl - \ No newline at end of file diff -r e99fe78cd168 -r 45c9e55fcf23 src/FingersDance.Control.Player/UserControlPlayer.xaml --- a/src/FingersDance.Control.Player/UserControlPlayer.xaml Mon Oct 26 08:36:15 2009 +0100 +++ b/src/FingersDance.Control.Player/UserControlPlayer.xaml Mon Oct 26 09:27:23 2009 +0100 @@ -8,7 +8,8 @@ xmlns:FingersDance_Control_Player="clr-namespace:FingersDance.Control.Player" x:Class="FingersDance.Control.Player.UserControlPlayer" x:Name="UserControl" AllowDrop="True" Custom:SurfaceDragDrop.DragOver="Play_Pause_area_DragOver" Custom:SurfaceDragDrop.DragEnter="Play_Pause_area_DragEnter" Custom:SurfaceDragDrop.DragLeave="Play_Pause_area_DragLeave" Custom:SurfaceDragDrop.Drop="Play_Pause_area_Drop" - Width="560" Height="400" xmlns:GestureControl="clr-namespace:GestureControl;assembly=GestureControl"> + Width="560" Height="400" + xmlns:GestureControl="clr-namespace:GestureControl;assembly=GestureControl"> + diff -r e99fe78cd168 -r 45c9e55fcf23 src/FingersDance.GestureControl/UserGestureControl.xaml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/FingersDance.GestureControl/UserGestureControl.xaml Mon Oct 26 09:27:23 2009 +0100 @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff -r e99fe78cd168 -r 45c9e55fcf23 src/FingersDance.sln --- a/src/FingersDance.sln Mon Oct 26 08:36:15 2009 +0100 +++ b/src/FingersDance.sln Mon Oct 26 09:27:23 2009 +0100 @@ -39,7 +39,7 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FingersDance.Control.Close", "FingersDance.Control.Close\FingersDance.Control.Close.csproj", "{D579FDB5-D412-4797-A0FF-C5873AE08BB8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GestureControl", "GestureControl\GestureControl.csproj", "{99A9037F-5431-44DD-BCE9-ED60670DEBC1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GestureControl", "FingersDance.GestureControl\GestureControl.csproj", "{99A9037F-5431-44DD-BCE9-ED60670DEBC1}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff -r e99fe78cd168 -r 45c9e55fcf23 src/GestureControl/DoubleHalfConverter.cs --- a/src/GestureControl/DoubleHalfConverter.cs Mon Oct 26 08:36:15 2009 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Windows.Data; - -namespace GestureControl -{ - class DoubleHalfConverter : IValueConverter - { - #region IValueConverter Members - - public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) - { - return (double)((double)value / 1.5); - } - - public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) - { - throw new NotImplementedException(); - } - - #endregion - } -} diff -r e99fe78cd168 -r 45c9e55fcf23 src/GestureControl/GestureControl.cs --- a/src/GestureControl/GestureControl.cs Mon Oct 26 08:36:15 2009 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,111 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Diagnostics; -using System.Text; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Data; -using System.Windows.Documents; -using System.Windows.Input; -using System.Windows.Media; -using System.Windows.Media.Imaging; -using System.Windows.Media.Animation; -using System.Windows.Navigation; -using System.Windows.Shapes; -using Microsoft.Surface; -using Microsoft.Surface.Presentation; -using Microsoft.Surface.Presentation.Controls; -using System.Windows.Ink; - -namespace GestureControl -{ - public class GestureControl : ContentControl - { - private double angle = 0; - public static readonly DependencyProperty GestureProperty; - public String Gesture - { - get { return (String)GetValue(GestureControl.GestureProperty); } - set { SetValue(GestureControl.GestureProperty, value); } - } - - #region GestureEvent - public delegate void GestureRoutedEventHandler(object sender, GestureRoutedEventArgs e); - public static readonly RoutedEvent gestureEvent = EventManager.RegisterRoutedEvent( - "GestureEvent", RoutingStrategy.Bubble, typeof(GestureRoutedEventHandler), typeof(GestureControl)); - - public event GestureRoutedEventHandler GestureEvent - { - add { AddHandler(gestureEvent, value); } - remove { RemoveHandler(gestureEvent, value); } - } - protected virtual void RaiseGestureEvent(String gesture) - { - try - { - GestureRoutedEventArgs newEventArgs = new GestureRoutedEventArgs(GestureControl.gestureEvent, gesture); - RaiseEvent(newEventArgs); - } - catch (Exception e) { } - } - #endregion - - static GestureControl() - { - DefaultStyleKeyProperty.OverrideMetadata(typeof(GestureControl), new FrameworkPropertyMetadata(typeof(GestureControl))); - - GestureControl.GestureProperty = DependencyProperty.Register("Gesture", typeof(String), typeof(GestureControl), - new FrameworkPropertyMetadata("None", new PropertyChangedCallback(OnGestureChanged))); - } - private static void OnGestureChanged(DependencyObject o, DependencyPropertyChangedEventArgs e) - { - //Debug.WriteLine("changed", "Gesture"); - } - - protected override void OnInitialized(EventArgs e) - { - base.OnInitialized(e); - this.InitializeControl(); - } - protected void InitializeControl() - { - base.AddHandler(SurfaceControl.PreviewContactDownEvent, new RoutedEventHandler(AreaDown)); - base.AddHandler(SurfaceInkCanvas.StrokeCollectedEvent, new RoutedEventHandler(AreaStrokeCollected)); - } - // get angle from the first contact of the stroke - protected void AreaDown(object source, RoutedEventArgs e) - { - ContactEventArgs c = (ContactEventArgs)e; - this.angle = c.Contact.GetOrientation(this) - 270; - } - - protected void AreaStrokeCollected(object source, RoutedEventArgs e) - { - Debug.WriteLine("collected", "Stroke"); - System.Windows.Controls.InkCanvasStrokeCollectedEventArgs tmp = e as System.Windows.Controls.InkCanvasStrokeCollectedEventArgs; - // Apply a rotation with the angle of the first contact - Matrix rot = Matrix.Identity; - rot.Rotate(-this.angle); - Stroke s = tmp.Stroke; - s.Transform(rot, true); - // Get a list of point from a Bezier curve - StylusPointCollection tmp2 = s.GetBezierStylusPoints(); - // Generate a list of SurfaceGesturePoint, just X and Y but can be improve - List pointList = new List(); - foreach (StylusPoint p in tmp2) - pointList.Add(new SurfaceGesturePoint { X = p.X, Y = p.Y }); - // create the gesture analyser and set the list - SurfaceGesture gesture = new SurfaceGesture(pointList, 1); - // try to get a pattern from the list, if one, raise a event - this.Gesture = gesture.GetPattern(); - if (this.Gesture != "None") - { - this.RaiseGestureEvent(this.Gesture); - } - // clear the stroke - SurfaceInkCanvas ink = e.OriginalSource as SurfaceInkCanvas; - ink.Strokes.Clear(); - } - } -} diff -r e99fe78cd168 -r 45c9e55fcf23 src/GestureControl/GestureControl.csproj --- a/src/GestureControl/GestureControl.csproj Mon Oct 26 08:36:15 2009 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,123 +0,0 @@ - - - - Debug - AnyCPU - 9.0.21022 - 2.0 - {99A9037F-5431-44DD-BCE9-ED60670DEBC1} - library - Properties - GestureControl - GestureControl - v3.5 - 512 - {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 4 - - - - - - - - - 3.0.1927.0 - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - - - 3.5 - - - 3.5 - - - 3.5 - - - - - 3.0 - - - 3.0 - - - 3.0 - - - 3.0 - - - - - MSBuild:Compile - Designer - - - Code - - - - - - - Code - - - True - True - Resources.resx - - - True - Settings.settings - True - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - - - - PreserveNewest - - - - - \ No newline at end of file diff -r e99fe78cd168 -r 45c9e55fcf23 src/GestureControl/GestureControl.csproj.vspscc --- a/src/GestureControl/GestureControl.csproj.vspscc Mon Oct 26 08:36:15 2009 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -"" -{ -"FILE_VERSION" = "9237" -"ENLISTMENT_CHOICE" = "NEVER" -"PROJECT_FILE_RELATIVE_PATH" = "" -"NUMBER_OF_EXCLUDED_FILES" = "0" -"ORIGINAL_PROJECT_FILE_PATH" = "" -"NUMBER_OF_NESTED_PROJECTS" = "0" -"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" -} diff -r e99fe78cd168 -r 45c9e55fcf23 src/GestureControl/GestureVector.cs --- a/src/GestureControl/GestureVector.cs Mon Oct 26 08:36:15 2009 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,380 +0,0 @@ -using System; -using System.IO; -using System.Xml; -using System.Reflection; -using System.Xml.Linq; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Windows.Input; -using System.Windows; - -namespace GestureControl -{ - /// - /// Take a list of points and try to recognize a pattern - /// - public class SurfaceGesture : List - { - - #region Prop - /// - /// Allow some variation without log a direction - /// - public int Precision { get; set; } - /// - /// List of pattern readed in the patterns.xml - /// - public List Pattern = new List(); - #endregion - #region Constructor - /// - /// load know patterns and generate the vector list from a list of points with a default 20 precision factor - /// - /// - public SurfaceGesture(List list) - { - this.Precision = 20; - CommonPattern(); - this.Generate(list); - } - /// - /// load know patterns and generate the vector list from a list of points with a precision factor - /// - /// - /// - public SurfaceGesture(List list, int precision) - { - this.Precision = precision; - CommonPattern(); - this.Generate(list); - } - //public SurfaceGesture(System.Windows.Ink.Stroke stroke, int precision) - //{ - // StylusPointCollection tmp = stroke.GetBezierStylusPoints(); - // List pointList = new List(); - // foreach (StylusPoint p in tmp) - // pointList.Add(new SurfaceGesturePoint { X = p.X, Y = p.Y }); - // this.Precision = precision; - // this.Generate(pointList); - // CommonPattern(); - //} - #endregion - #region GenerateVector - /// - /// Generate list of vector from courbe mouvements, filter with the pas value - /// - /// - /// - /// - private bool GenerateCourb(List list, int pas) - { - List tmp = new List(); - int sep = list.Count / pas; - double count = 0; ; - SurfaceGesturePoint past = new SurfaceGesturePoint() { X = 0, Y = 0 }; - double y = 0; - - for (int i = 0; i < list.Count - 1; i++) - { - if (i % pas != 0) - { - count += Math.Atan(list[i + 1].Y / list[i + 1].X) - Math.Atan(list[i].Y / list[i].X); - } - else - { - count /= pas; - if (count == 0 || this.GetDistancePoints(past, list[i + 1]) < 5) - { - y = list[i + 1].Y; - past.X = count; - continue; - } - if (y > list[i + 1].Y) - { - if (past.X > count) - this.AddDirection(SurfaceGestureVectorDirection.UPRIGHT); - else - this.AddDirection(SurfaceGestureVectorDirection.UPLEFT); - } - else - { - if (past.X > count) - this.AddDirection(SurfaceGestureVectorDirection.DOWNRIGHT); - else - this.AddDirection(SurfaceGestureVectorDirection.DOWNLEFT); - } - y = list[i + 1].Y; - past.X = count; - } - } - Console.Write(this); - if (this.GetPattern() != "None") - return true; - else - return false; - } - /// - /// Get distance between two points - /// - /// - /// - /// - private int GetDistancePoints(SurfaceGesturePoint p1, SurfaceGesturePoint p2) - { - return (int)Math.Sqrt(Math.Pow((p2.X - p1.X), 2) + Math.Pow((p1.Y - p2.Y), 2)); - } - /// - /// add a direction in the vector list if past who not the same - /// - /// - private void AddDirection(SurfaceGestureVectorDirection type) - { - if (this.Count == 0) - { - this.Add(new SurfaceGestureVector{Direction = type, Lenght=42}); - return ; - } - if (this[this.Count - 1].Direction != type) - this.Add(new SurfaceGestureVector { Direction = type, Lenght = 42 }); - } - /// - /// generate list of vector - /// - /// - private void Generate(List list) - { - if (list.Count < 2) - return ; - SurfaceGestureVectorDirection lastDirection = SurfaceGestureVectorDirection.NONE; - int lastPoint = 0; - SurfaceGesturePoint LastChange = list[0]; - - /////// TEST/////////// - if (this.GenerateCourb(list, 5) == true) - return; - this.Clear(); - /////////////////////// - - for (int i = 0; i < list.Count - 1; i++) - { - if (GetHorizontal(list[lastPoint], list[i + 1]) == SurfaceGestureVectorDirection.UP && lastDirection != SurfaceGestureVectorDirection.UP) - { - this.Add(new SurfaceGestureVector { Direction = SurfaceGestureVectorDirection.UP, Lenght = (Math.Abs(LastChange.Y - list[i + 1].Y)) }); - LastChange = list[i + 1]; - lastDirection = SurfaceGestureVectorDirection.UP; - } - else if (GetHorizontal(list[lastPoint], list[i + 1]) == SurfaceGestureVectorDirection.DOWN && lastDirection != SurfaceGestureVectorDirection.DOWN) - { - this.Add(new SurfaceGestureVector { Direction = SurfaceGestureVectorDirection.DOWN, Lenght = (Math.Abs(LastChange.Y - list[i + 1].Y)) }); - LastChange = list[i + 1]; - lastDirection = SurfaceGestureVectorDirection.DOWN; - } - else if (GetVertical(list[lastPoint], list[i + 1]) == SurfaceGestureVectorDirection.LEFT && lastDirection != SurfaceGestureVectorDirection.LEFT) - { - this.Add(new SurfaceGestureVector { Direction = SurfaceGestureVectorDirection.LEFT, Lenght = (Math.Abs(LastChange.X - list[i + 1].X)) }); - LastChange = list[i + 1]; - lastDirection = SurfaceGestureVectorDirection.LEFT; - } - else if (GetVertical(list[lastPoint], list[i + 1]) == SurfaceGestureVectorDirection.RIGHT && lastDirection != SurfaceGestureVectorDirection.RIGHT) - { - this.Add(new SurfaceGestureVector { Direction = SurfaceGestureVectorDirection.RIGHT, Lenght = (Math.Abs(LastChange.X - list[i + 1].X)) }); - LastChange = list[i + 1]; - lastDirection = SurfaceGestureVectorDirection.RIGHT; - } - ++lastPoint; - } - } - private SurfaceGestureVectorDirection GetHorizontal(SurfaceGesturePoint p1, SurfaceGesturePoint p2) - { - if (p1.Y < p2.Y) - { - // go up - if (Math.Abs(p2.Y - p1.Y) > this.Precision && Math.Abs(p2.X - p1.X) < Math.Abs(p2.Y - p1.Y)) - return SurfaceGestureVectorDirection.DOWN; - } - else - { - // go down - if (Math.Abs(p1.Y - p2.Y) > this.Precision && Math.Abs(p1.X - p2.X) < Math.Abs(p1.Y - p2.Y)) - return SurfaceGestureVectorDirection.UP; - } - return SurfaceGestureVectorDirection.NONE; - } - private SurfaceGestureVectorDirection GetVertical(SurfaceGesturePoint p1, SurfaceGesturePoint p2) - { - if (p1.X < p2.X) - { - // go left - if (Math.Abs(p2.X - p1.X) > this.Precision && Math.Abs(p2.Y - p1.Y) < Math.Abs(p2.X - p1.X)) - return SurfaceGestureVectorDirection.RIGHT; - } - else - { - // go right - if (Math.Abs(p1.X - p2.X) > this.Precision && Math.Abs(p1.Y - p2.Y) < Math.Abs(p1.X - p2.X)) - return SurfaceGestureVectorDirection.LEFT; - } - return SurfaceGestureVectorDirection.NONE; - } - #endregion - #region Override - public override String ToString() - { - String ret = ""; - - foreach (SurfaceGestureVector v in this) - { - ret += (v.Direction + ", lenght:" + v.Lenght + ", precision:" + this.Precision + "\n"); - //Console.WriteLine(v.Direction + ", lenght:" + v.Lenght + ", precision:" + this.Precision); - } - return ret; - } - #endregion - #region Pattern - /// - /// return a String with the recognized pattern, "None" if no pattern - /// - /// - public String GetPattern() - { - foreach (SurfaceGesturePattern p in this.Pattern) - { - if (p.Count == this.Count) - { - int i; - for (i = 0; i < p.Count; i++) - { - if (this[i].Direction != p[i].Direction) - break ; - } - if (i == p.Count) - return p.Name; - } - } - return "None"; - } - /// - /// Load know patterns from the Resources/Patterns.xml file - /// - private void CommonPattern() - { - try - { - #region Load Patterns - System.IO.Stream file = Assembly.GetExecutingAssembly().GetManifestResourceStream("GestureControl.Resources.Patterns.xml"); - XmlDocument xml = new XmlDocument(); - xml.Load(file); - XmlElement root = xml.DocumentElement; - XmlNodeList nodes = root.SelectNodes("//Pattern"); - SurfaceGesturePattern p; - int i = 0; - foreach (XmlNode node in nodes) - { - string name = node["Name"].InnerText; - XmlNodeList subNodes = node.SelectNodes("//Directions"); - if (subNodes == null) - continue; - p = new SurfaceGesturePattern() { Name = name }; - foreach (XmlNode subNode in subNodes[i++]) - { - XmlNodeList dl = subNode.ChildNodes; - foreach (XmlNode d in dl) - { - switch (d.InnerText) - { - case "Up": - p.Add(new SurfaceGestureVector() { Direction = SurfaceGestureVectorDirection.UP }); - break; - case "Down": - p.Add(new SurfaceGestureVector() { Direction = SurfaceGestureVectorDirection.DOWN }); - break; - case "Left": - p.Add(new SurfaceGestureVector() { Direction = SurfaceGestureVectorDirection.LEFT }); - break; - case "Right": - p.Add(new SurfaceGestureVector() { Direction = SurfaceGestureVectorDirection.RIGHT }); - break; - case "DownRight": - p.Add(new SurfaceGestureVector() { Direction = SurfaceGestureVectorDirection.DOWNRIGHT }); - break; - case "DownLeft": - p.Add(new SurfaceGestureVector() { Direction = SurfaceGestureVectorDirection.DOWNLEFT }); - break; - case "UpRight": - p.Add(new SurfaceGestureVector() { Direction = SurfaceGestureVectorDirection.UPRIGHT }); - break; - case "UpLeft": - p.Add(new SurfaceGestureVector() { Direction = SurfaceGestureVectorDirection.UPLEFT }); - break; - default: - break; - } - } - } - this.Pattern.Add(p); - } - #endregion - } - catch - { - throw new Exception("Error loading Patterns.xml"); - } - } - #endregion - } - #region Tools - /// - /// Gesture event who return a object with a Gesture String value - /// - public class GestureRoutedEventArgs : RoutedEventArgs - { - public String Gesture { get; private set; } - - public GestureRoutedEventArgs() : base() { } - public GestureRoutedEventArgs(String gesture) : base() { this.Gesture = gesture; } - public GestureRoutedEventArgs(RoutedEvent routedEvent) : base(routedEvent) { } - public GestureRoutedEventArgs(RoutedEvent routedEvent, String gesture) : base(routedEvent) { this.Gesture = gesture; } - public GestureRoutedEventArgs(RoutedEvent routedEvent, Object source) : base(routedEvent, source) { } - public GestureRoutedEventArgs(RoutedEvent routedEvent, Object source, String gesture) : base(routedEvent, source) { this.Gesture = gesture; } - } - - public class SurfaceGesturePattern : List - { - public String Name { get; set; } - - } - /// - /// Possible Gesture Vector - /// - public enum SurfaceGestureVectorDirection - { - UP, - DOWN, - LEFT, - RIGHT, - UPLEFT, - UPRIGHT, - DOWNLEFT, - DOWNRIGHT, - NONE, - } - /// - /// Describe a point in the grid - /// - public class SurfaceGesturePoint - { - public double X { get; set; } - public double Y { get; set; } - } - - /// - /// Describe a vector to help the recognize pass - /// - public class SurfaceGestureVector - { - public SurfaceGestureVectorDirection Direction { get; set; } - public Double Lenght { get; set; } - } - #endregion -} diff -r e99fe78cd168 -r 45c9e55fcf23 src/GestureControl/Properties/AssemblyInfo.cs --- a/src/GestureControl/Properties/AssemblyInfo.cs Mon Oct 26 08:36:15 2009 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -using System.Reflection; -using System.Resources; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using System.Windows; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("GestureControl")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Microsoft IT")] -[assembly: AssemblyProduct("GestureControl")] -[assembly: AssemblyCopyright("Copyright © Microsoft IT 2009")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -//In order to begin building localizable applications, set -//CultureYouAreCodingWith in your .csproj file -//inside a . For example, if you are using US english -//in your source files, set the to en-US. Then uncomment -//the NeutralResourceLanguage attribute below. Update the "en-US" in -//the line below to match the UICulture setting in the project file. - -//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] - - -[assembly: ThemeInfo( - ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located - //(used if a resource is not found in the page, - // or application resource dictionaries) - ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located - //(used if a resource is not found in the page, - // app, or any theme specific resource dictionaries) -)] - - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff -r e99fe78cd168 -r 45c9e55fcf23 src/GestureControl/Properties/Resources.Designer.cs --- a/src/GestureControl/Properties/Resources.Designer.cs Mon Oct 26 08:36:15 2009 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -//------------------------------------------------------------------------------ -// -// Ce code a été généré par un outil. -// Version du runtime :2.0.50727.4927 -// -// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si -// le code est régénéré. -// -//------------------------------------------------------------------------------ - -namespace GestureControl.Properties { - using System; - - - /// - /// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. - /// - // Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder - // à l'aide d'un outil, tel que ResGen ou Visual Studio. - // Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen - // avec l'option /str ou régénérez votre projet VS. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Retourne l'instance ResourceManager mise en cache utilisée par cette classe. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("GestureControl.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Remplace la propriété CurrentUICulture du thread actuel pour toutes - /// les recherches de ressources à l'aide de cette classe de ressource fortement typée. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - } -} diff -r e99fe78cd168 -r 45c9e55fcf23 src/GestureControl/Properties/Resources.resx --- a/src/GestureControl/Properties/Resources.resx Mon Oct 26 08:36:15 2009 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff -r e99fe78cd168 -r 45c9e55fcf23 src/GestureControl/Properties/Settings.Designer.cs --- a/src/GestureControl/Properties/Settings.Designer.cs Mon Oct 26 08:36:15 2009 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -//------------------------------------------------------------------------------ -// -// Ce code a été généré par un outil. -// Version du runtime :2.0.50727.4927 -// -// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si -// le code est régénéré. -// -//------------------------------------------------------------------------------ - -namespace GestureControl.Properties { - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default { - get { - return defaultInstance; - } - } - } -} diff -r e99fe78cd168 -r 45c9e55fcf23 src/GestureControl/Properties/Settings.settings --- a/src/GestureControl/Properties/Settings.settings Mon Oct 26 08:36:15 2009 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff -r e99fe78cd168 -r 45c9e55fcf23 src/GestureControl/Resources/Patterns.xml --- a/src/GestureControl/Resources/Patterns.xml Mon Oct 26 08:36:15 2009 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ - - - - UP - - Up - - - - RIGHT - - Right - - - - LEFT - - Left - - - - DOWN - - Down - - - diff -r e99fe78cd168 -r 45c9e55fcf23 src/GestureControl/Themes/Generic.xaml --- a/src/GestureControl/Themes/Generic.xaml Mon Oct 26 08:36:15 2009 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ - - - - - -