private void detectGesture() { if (newGesturePoints.Count > 0) { // the code that you want to measure comes here Gesture_Event_Linking.Detect(newGesturePoints, this); //Gesture_Event_Copying.Detect(newGesturePoints, this); Gesture_Event_Sorting.Detect(newGesturePoints, this); //Gesture_Event_Emphasizing.Detect(newGesturePoints, this); //Gesture_Event_Grouping.Detect(newGesturePoints,this); //Gesture_Event_Sorting_Group.Detect(newGesturePoints, this); Gesture_Event_Showing.Detect(newGesturePoints, this); Gesture_Event_Showing_Sorting.Detect(newGesturePoints, this); Gesture_Event_Cutting_Sorting.Detect(newGesturePoints, this); Gesture_Event_Cutting_Link.Detect(newGesturePoints, this); Gesture_Event_Deleting_Bin.Detect(newGesturePoints, this); Gesture_Event_Collaborative_Zoon.Detect(newGesturePoints, this); } }
public static Gesture_Event_Sorting Detect(List <My_Point> points, Gesture_Controler controler) { List <My_Point> result = new List <My_Point>(); Gesture_Event_Sorting sortEvent = null; foreach (My_Point p in points) { if (!result.Contains(p) && p.Sender is Card && Calculator.CalDistance(p.StartPoint, p.CurrentPoint) >= STATICS.MIN_DISTANCE_FOR_MOVE) { Card c = p.Sender as Card; foreach (Menu_Sort_Box box in Group_List.GroupBox) { if (c.Contain(box.CurrentPosition)) { foreach (My_Point p2 in points) { if (p.Sender == p2.Sender && !result.Contains(p2)) { result.Add(p2); } } My_Point[] argPoints = result.ToArray(); object[] objects = new object[2]; objects[0] = c; objects[1] = box; sortEvent = new Gesture_Event_Sorting(); sortEvent.Points = argPoints; Gesture_List.addGesture(sortEvent); Gesture_Sorting_Listener gestureListener = new Gesture_Sorting_Listener(controler, sortEvent); sortEvent.Register(objects, argPoints); } } } } foreach (My_Point p in result) { points.Remove(p); } return(sortEvent); }
public static Gesture_Event_Sorting Detect(List<My_Point> points, Gesture_Controler controler) { List<My_Point> result = new List<My_Point>(); Gesture_Event_Sorting sortEvent = null; foreach (My_Point p in points) { if (!result.Contains(p) && p.Sender is Card && Calculator.CalDistance(p.StartPoint, p.CurrentPoint) >= STATICS.MIN_DISTANCE_FOR_MOVE) { Card c = p.Sender as Card; foreach (Menu_Sort_Box box in Group_List.GroupBox) { if (c.Contain(box.CurrentPosition)) { foreach (My_Point p2 in points) { if (p.Sender == p2.Sender && !result.Contains(p2)) result.Add(p2); } My_Point[] argPoints = result.ToArray(); object[] objects = new object[2]; objects[0] = c; objects[1] = box; sortEvent = new Gesture_Event_Sorting(); sortEvent.Points = argPoints; Gesture_List.addGesture(sortEvent); Gesture_Sorting_Listener gestureListener = new Gesture_Sorting_Listener(controler, sortEvent); sortEvent.Register(objects, argPoints); } } } } foreach (My_Point p in result) { points.Remove(p); } return sortEvent; }
/// <param name="gestureControler">Should be the one created in the MainWindow</param> /// <param name="gestureEvent">The gesture variable which fire the event</param> public Gesture_Sorting_Listener(Gesture_Controler gestureControler, Gesture_Event_Sorting gestureEvent) : base(gestureControler, gestureEvent) { }
private Gesture_Event_Sorting detectSortingRegister(List<My_Point> points) { List<My_Point> result = new List<My_Point>(); Gesture_Event_Sorting groupEvent=null; foreach (My_Point p in points) { if (!result.Contains(p) && p.Sender is Card && Calculator.CalDistance(p.StartPoint, p.CurrentPoint) >= STATICS.MIN_DISTANCE_FOR_MOVE) { Card c=p.Sender as Card; foreach (Menu_Sort_Button button in Group_List.GroupButtons.Values) { if (c.Contain(button.CurrentPosition)) { foreach (My_Point p2 in points) { if (p.Sender == p2.Sender && !result.Contains(p2)) result.Add(p2); } My_Point[] argPoints = result.ToArray(); object[] objects = new object[2]; objects[0] = c; objects[1] = button; groupEvent = new Gesture_Event_Sorting(); groupEvent.Points = argPoints; Gesture_List.addGesture(groupEvent); Gesture_Sorting_Listener gestureListener = new Gesture_Sorting_Listener(this, groupEvent); groupEvent.Register(objects, argPoints); } } } } foreach (My_Point p in result) { points.Remove(p); } return groupEvent; }