Ejemplo n.º 1
0
 private void MainWindow_TouchUp(object sender, TouchEventArgs e)
 {
     System.Windows.Input.TouchPoint oPos = e.GetTouchPoint(this);
     this.ProxyLine.X2 = oPos.Position.X;
     this.ProxyLine.Y2 = oPos.Position.Y;
     this.GdRootZm.Children.Add(this.ProxyLine);
     Console.WriteLine("TouchID " + e.TouchDevice.Id + " TouchUp " + oPos.Position.X + "    " + oPos.Position.Y);
 }
Ejemplo n.º 2
0
        private void MainWindow_TouchDown(object sender, TouchEventArgs e)
        {
            System.Windows.Input.TouchPoint oPos = e.GetTouchPoint(this);
            Line oLine = new Line();

            oLine.Stroke          = new SolidColorBrush(Colors.Red);
            oLine.StrokeThickness = 2;
            oLine.X1       = oPos.Position.X;
            oLine.Y1       = oPos.Position.Y;
            this.ProxyLine = oLine;
            Console.WriteLine("TouchID " + e.TouchDevice.Id + "  TouchDown " + oPos.Position.X + "    " + oPos.Position.Y);
        }
Ejemplo n.º 3
0
        private bool UpdateDirectlyOver(bool isSynchronize)
        {
            IInputElement newDirectlyOver = null;

            TouchPoint touchPoint = GetTouchPoint(null);

            if (touchPoint != null)
            {
                Point position = touchPoint.Position;
                newDirectlyOver = CriticalHitTest(position, isSynchronize);
            }

            if (newDirectlyOver != _directlyOver)
            {
                ChangeDirectlyOver(newDirectlyOver);
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 4
0
 private void MainWindow_TouchMove(object sender, TouchEventArgs e)
 {
     System.Windows.Input.TouchPoint oPos = e.GetTouchPoint(this);
     Console.WriteLine("TouchID " + e.TouchDevice.Id + " TouchMove " + oPos.Position.X + "    " + oPos.Position.Y);
 }
Ejemplo n.º 5
0
        //***********************************************************************************************************************

        //-----------------------------------------------------------------------------------------------------------------------
        #endregion
        //***********************************************************************************************************************

        //***********************************************************************************************************************
        #region         // Section des Procédures Statiques
        //-----------------------------------------------------------------------------------------------------------------------

        //***********************************************************************************************************************
        /// <summary>
        ///
        /// </summary>
        /// <param name="Target"></param>
        /// <returns></returns>
        //-----------------------------------------------------------------------------------------------------------------------
        public static GestureHelper Create(UIElement Target)
        {
            //-------------------------------------------------------------------------------------------------------------------
            GestureHelper Helper = new GestureHelper(Target);

            //-------------------------------------------------------------------------------------------------------------------

            //-------------------------------------------------------------------------------------------------------------------
            Input.Touch.FrameReported += (object S, Input.TouchFrameEventArgs A) =>
            {
                //---------------------------------------------------------------------------------------------------------------
                Input.TouchPoint MainTouch = null;
                //---------------------------------------------------------------------------------------------------------------

                //---------------------------------------------------------------------------------------------------------------
                try
                {
                    //-----------------------------------------------------------------------------------------------------------
                    FrameworkElement Form = Helper.Target as FrameworkElement;

                    while (Form != null && !(Form is PhoneApplicationPage))
                    {
                        Form = Form.Parent as FrameworkElement;
                    }

                    if (Form == null)
                    {
                        return;
                    }

                    if (Form != ((PhoneApplicationFrame)Application.Current.RootVisual).Content)
                    {
                        return;
                    }
                    //-----------------------------------------------------------------------------------------------------------

                    //-----------------------------------------------------------------------------------------------------------
                    MainTouch = A.GetPrimaryTouchPoint(Helper.Target);

                    if (MainTouch == null)
                    {
                        return;
                    }
                    //-----------------------------------------------------------------------------------------------------------

                    //-----------------------------------------------------------------------------------------------------------
                    FrameworkElement Parent = MainTouch.TouchDevice.DirectlyOver as FrameworkElement;

                    while (Parent != null && !(Parent is Popup))
                    {
                        var parent = Parent.Parent as FrameworkElement;

                        if (parent == null)
                        {
                            parent = VisualTreeHelper.GetParent(Parent) as FrameworkElement;
                        }

                        Parent = parent;
                    }

                    if (Parent is Popup)
                    {
                        return;
                    }
                    //-----------------------------------------------------------------------------------------------------------
                }
                //---------------------------------------------------------------------------------------------------------------
                catch {}
                //---------------------------------------------------------------------------------------------------------------

                //---------------------------------------------------------------------------------------------------------------
                Point Origin = A.GetPrimaryTouchPoint(null).Position;
                //---------------------------------------------------------------------------------------------------------------

                //---------------------------------------------------------------------------------------------------------------
                if (MainTouch.Action == Input.TouchAction.Down)
                {
                    //-----------------------------------------------------------------------------------------------------------
                    Helper.NotifyDown(new ManipulationBaseArgs(Helper.Target, Origin));
                    //-----------------------------------------------------------------------------------------------------------
                }
                //---------------------------------------------------------------------------------------------------------------
                else if (MainTouch.Action == Input.TouchAction.Move)
                {
                    //-----------------------------------------------------------------------------------------------------------
                    var Cumulative = new Point(Origin.X - Helper.GestureOrigin.X,
                                               Origin.Y - Helper.GestureOrigin.Y);
                    var Delta = new Point(Origin.X - Helper.GestureManipulation.X,
                                          Origin.Y - Helper.GestureManipulation.Y);

                    Helper.NotifyMove(new ManipulationDeltaArgs(Helper.Target, Origin, Cumulative, Delta));
                    //-----------------------------------------------------------------------------------------------------------
                }
                //---------------------------------------------------------------------------------------------------------------
                else if (MainTouch.Action == Input.TouchAction.Up)
                {
                    //-----------------------------------------------------------------------------------------------------------
                    var Total = new Point(Origin.X - Helper.GestureOrigin.X,
                                          Origin.Y - Helper.GestureOrigin.Y);

                    Helper.NotifyUp(new ManiulationCompletedArgs(Helper.Target, Origin, Total));
                    //-----------------------------------------------------------------------------------------------------------
                }
                //---------------------------------------------------------------------------------------------------------------
            };
            //-------------------------------------------------------------------------------------------------------------------

            //-------------------------------------------------------------------------------------------------------------------
            return(Helper);
            //-------------------------------------------------------------------------------------------------------------------
        }