Beispiel #1
0
 /// Determines the behavior of pinch gesture.
 private void OnPinchGestureDetected(object source, PinchGestureDetector.DetectedEventArgs e)
 {
     if (e == null)
     {
         return;
     }
     if (e.PinchGesture.State == Gesture.StateType.Started)
     {
         preScale = e.PinchGesture.Scale;
     }
     else if (e.PinchGesture.State == Gesture.StateType.Finished || e.PinchGesture.State == Gesture.StateType.Cancelled)
     {
         if (preScale > e.PinchGesture.Scale)
         {
             if (BorderWindow.IsMaximized())
             {
                 BorderWindow.Maximize(false);
             }
             else
             {
                 BorderWindow.Minimize(true);
             }
         }
         else
         {
             BorderWindow.Maximize(true);
         }
     }
 }
Beispiel #2
0
        // Window moves through pan gestures.
        private void OnWinPanGestureDetected(object source, PanGestureDetector.DetectedEventArgs e)
        {
            if (currentGesture <= CurrentGesture.PanGesture /*&& panGesture.NumberOfTouches == 1*/)
            {
                PanGesture panGesture = e.PanGesture;

                if (panGesture.State == Gesture.StateType.Started)
                {
                    currentGesture = CurrentGesture.PanGesture;
                    if (BorderWindow.IsMaximized() == true)
                    {
                        BorderWindow.Maximize(false);
                    }
                    else
                    {
                        BorderWindow.RequestMoveToServer();
                    }
                }
                else if (panGesture.State == Gesture.StateType.Finished || panGesture.State == Gesture.StateType.Cancelled)
                {
                    currentGesture = CurrentGesture.None;
                    ClearWindowGesture();
                }
            }
        }
Beispiel #3
0
        /// Determines the behavior of borders.
        private void OnPanGestureDetected(object source, PanGestureDetector.DetectedEventArgs e)
        {
            if (e == null)
            {
                return;
            }
            PanGesture panGesture = e.PanGesture;

            if (panGesture.State == Gesture.StateType.Started && panGesture.Position != null)
            {
                direction = BorderWindow.GetDirection(panGesture.Position.X, panGesture.Position.Y);
                if (direction == Window.BorderDirection.Move)
                {
                    if (BorderWindow.IsMaximized() == true)
                    {
                        BorderWindow.Maximize(false);
                    }
                    else
                    {
                        BorderWindow.RequestMoveToServer();
                    }
                }
                else if (direction != Window.BorderDirection.None)
                {
                    OnRequestResize();
                    BorderWindow.RequestResizeToServer((Window.ResizeDirection)direction);
                }
            }
            else if (panGesture.State == Gesture.StateType.Continuing)
            {
                if (direction == Window.BorderDirection.BottomLeft || direction == Window.BorderDirection.BottomRight || direction == Window.BorderDirection.TopLeft || direction == Window.BorderDirection.TopRight)
                {
                    BorderWindow.WindowSize += new Size2D((int)panGesture.ScreenDisplacement.X, (int)panGesture.ScreenDisplacement.Y);
                }
                else if (direction == Window.BorderDirection.Left || direction == Window.BorderDirection.Right)
                {
                    BorderWindow.WindowSize += new Size2D((int)panGesture.ScreenDisplacement.X, 0);
                }
                else if (direction == Window.BorderDirection.Bottom || direction == Window.BorderDirection.Top)
                {
                    BorderWindow.WindowSize += new Size2D(0, (int)panGesture.ScreenDisplacement.Y);
                }
                else if (direction == Window.BorderDirection.Move)
                {
                    BorderWindow.WindowPosition += new Position2D((int)panGesture.ScreenDisplacement.X, (int)panGesture.ScreenDisplacement.Y);
                }
            }
            else if (panGesture.State == Gesture.StateType.Finished || panGesture.State == Gesture.StateType.Cancelled)
            {
                direction = Window.BorderDirection.None;
                ClearWindowGesture();
            }
        }
Beispiel #4
0
 public override bool OnMinimizeIconTouched(object sender, View.TouchEventArgs e)
 {
     if (e.Touch.GetState(0) == PointStateType.Up)
     {
         if (BorderWindow.IsMaximized() == true)
         {
             BorderWindow.Maximize(false);
         }
         preWinPositonSize = BorderWindow.WindowPositionSize;
         BorderWindow.WindowPositionSize = new Rectangle(preWinPositonSize.X, preWinPositonSize.Y, 500, 0);
     }
     return(true);
 }
Beispiel #5
0
 protected void MaximizeBorderWindow()
 {
     ClearWindowGesture();
     if (BorderWindow.IsMaximized())
     {
         BorderWindow.Maximize(false);
         OnMaximize(false);
     }
     else
     {
         BorderWindow.Maximize(true);
         OnMaximize(true);
     }
 }
Beispiel #6
0
 public virtual bool OnMaximizeIconTouched(object sender, View.TouchEventArgs e)
 {
     if (e == null)
     {
         return(false);
     }
     if (e.Touch.GetState(0) == PointStateType.Up)
     {
         ClearWindowGesture();
         if (BorderWindow.IsMaximized())
         {
             BorderWindow.Maximize(false);
         }
         else
         {
             BorderWindow.Maximize(true);
         }
     }
     return(true);
 }
Beispiel #7
0
 // Behavior when the window is tapped.
 private void OnWinTapGestureDetected(object source, TapGestureDetector.DetectedEventArgs e)
 {
     if (currentGesture <= CurrentGesture.TapGesture)
     {
         currentGesture = CurrentGesture.TapGesture;
         if (e.TapGesture.NumberOfTaps == 2)
         {
             if (BorderWindow.IsMaximized() == false)
             {
                 BorderWindow.Maximize(true);
             }
             else
             {
                 BorderWindow.Maximize(false);
             }
         }
         else
         {
             ClearWindowGesture();
         }
     }
 }
Beispiel #8
0
        /// Determines the behavior of borders.
        private void OnPanGestureDetected(object source, PanGestureDetector.DetectedEventArgs e)
        {
            if (e == null)
            {
                return;
            }
            PanGesture panGesture = e.PanGesture;

            if (panGesture.State == Gesture.StateType.Started && panGesture.Position != null)
            {
                direction = BorderWindow.GetDirection(panGesture.Position.X, panGesture.Position.Y);

                if (direction == Window.BorderDirection.Move)
                {
                    if (BorderWindow.IsMaximized() == true)
                    {
                        BorderWindow.Maximize(false);
                        OnMaximize(false);
                    }
                    else
                    {
                        BorderWindow.RequestMoveToServer();
                    }
                }
                else if (direction != Window.BorderDirection.None && ResizePolicy != Window.BorderResizePolicyType.Fixed)
                {
                    OnRequestResize();
                    BorderWindow.RequestResizeToServer((Window.ResizeDirection)direction);
                }
            }
            else if (panGesture.State == Gesture.StateType.Finished || panGesture.State == Gesture.StateType.Cancelled)
            {
                direction = Window.BorderDirection.None;
                ClearWindowGesture();
            }
        }