Esempio n. 1
0
        private static void CheckPointer()
        {
            try
            {
                if (pointerId == 0)
                {
                    return;
                }

                var pointerPoint = PointerPoint.GetCurrentPoint(pointerId);

                Queue.Enqueue(pointerPoint);

                if (Queue.Count() == QueueLimit && Queue.All(pp => pp.IsInContact))
                {
                    var maxY = Queue.Max(pp => pp.Position.Y);
                    var minY = Queue.Min(pp => pp.Position.Y);
                    var firstPosition = Queue.First().Position.X;
                    var lastPosition = Queue.Last().Position.X;
                    if (Math.Abs(maxY - minY) < YTollerance && Math.Abs(firstPosition - lastPosition) > XSwipethreshold)
                    {
                        SwipeMessage message = firstPosition - lastPosition > XSwipethreshold
                                                ? SwipeMessage.Left as SwipeMessage
                                                : SwipeMessage.Right as SwipeMessage;

                        Messenger.Default.Send(message);
                        Queue.Clear();
                    }
                }
            }
            catch
            {
                // TODO add logger
            }
        }