/// 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); } } }
// 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(); } } }
/// 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(); } }
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); }
protected void MaximizeBorderWindow() { ClearWindowGesture(); if (BorderWindow.IsMaximized()) { BorderWindow.Maximize(false); OnMaximize(false); } else { BorderWindow.Maximize(true); OnMaximize(true); } }
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); }
// 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(); } } }
/// 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(); } }