Ejemplo n.º 1
0
 private void TangramTable_OnMultiTouchReceived(MultiTouchEventArgs args)
 {
     foreach (FingerEventArgs finger in args.FingerEvents)
     {
         switch (finger.EventType)
         {
             case FingerEventType.FINGER_DOWN_EVENT:
                 AddNewPiePiece(finger);
                 break;
             case FingerEventType.FINGER_OUT_EVENT:
             case FingerEventType.FINGER_UP_EVENT:
                 if (_holdFingerList.ContainsKey(finger.FingerID))
                     RemovePiePiece(finger);
                 break;
             case FingerEventType.FINGER_MOVE_EVENT:
                 if (_holdFingerList.ContainsKey(finger.FingerID))
                 {
                     double distance = (finger.Position - _holdFingerPositionList[finger.FingerID]).Length;
                     if (distance > this._holdRaidus)
                         RemovePiePiece(finger);
                 }
                 break;
         }
     }
 }
 private void GetMultiTouchInput(ScatterRectangle rectangle, MultiTouchEventArgs args)
 {
     ScatterRectangle obj;
     foreach (FingerEventArgs e in args.FingerEvents)
     {
         switch (e.EventType)
         {
             case FingerEventType.FINGER_DOWN_EVENT:
             case FingerEventType.FINGER_IN_EVENT:
                 obj = HitTest(rectangle, e); // Since each ScatterRectangle is a rectangle but actually some are triangles, we need get the real "rectangle" according to the color of the mouse hit position
                 if (obj == null) return;
                 OnNewContact(obj, e);
                 break;
             case FingerEventType.FINGER_MOVE_EVENT:
                 OnContactMove(rectangle, e);
                 break;
             case FingerEventType.FINGER_OUT_EVENT:
             case FingerEventType.FINGER_UP_EVENT:
                 OnContactRemoved(rectangle, e);
                 break;
         }
     }
     args.Handled = true;
 }