public override void MouseEntered(NSEvent theEvent) { if (effect?.Element == null || effect.IsDisabled) { return; } effect?.HandleHover(HoverStatus.Entered); }
public override void MouseEntered(NSEvent theEvent) { if (effect?.IsDisabled ?? true) { return; } effect?.HandleHover(HoverStatus.Entered); }
void OnPointerEntered(object sender, PointerRoutedEventArgs e) { if (effect?.IsDisabled ?? true) { return; } effect?.HandleHover(HoverStatus.Entered); if (isPressed) { effect?.HandleTouch(TouchStatus.Started); AnimateTilt(pointerDownStoryboard); } }
void OnTouchMove(object sender, AView.TouchEventArgs e) { if (IsCanceled) { return; } var diffX = Math.Abs(e.Event.GetX() - startX) / View.Context.Resources.DisplayMetrics.Density; var diffY = Math.Abs(e.Event.GetY() - startY) / View.Context.Resources.DisplayMetrics.Density; var maxDiff = Math.Max(diffX, diffY); var disallowTouchThreshold = effect.DisallowTouchThreshold; if (disallowTouchThreshold > 0 && maxDiff > disallowTouchThreshold) { HandleEnd(TouchStatus.Canceled); return; } var view = sender as AView; if (view == null) { return; } var screenPointerCoords = new Point(view.Left + e.Event.GetX(), view.Top + e.Event.GetY()); var viewRect = new Rectangle(view.Left, view.Top, view.Right - view.Left, view.Bottom - view.Top); var status = viewRect.Contains(screenPointerCoords) ? TouchStatus.Started : TouchStatus.Canceled; if (isHoverSupported && ((status == TouchStatus.Canceled && effect.HoverStatus == HoverStatus.Entered) || (status == TouchStatus.Started && effect.HoverStatus == HoverStatus.Exited))) { effect?.HandleHover(status == TouchStatus.Started ? HoverStatus.Entered : HoverStatus.Exited); } if (effect.Status != status) { effect?.HandleTouch(status); if (status == TouchStatus.Started) { StartRipple(e.Event.GetX(), e.Event.GetY()); } if (status == TouchStatus.Canceled) { EndRipple(); } } }
void OnHover() { if (effect == null || effect.IsDisabled) { return; } switch (hoverGesture?.State) { case UIGestureRecognizerState.Began: case UIGestureRecognizerState.Changed: effect?.HandleHover(HoverStatus.Entered); break; case UIGestureRecognizerState.Ended: effect?.HandleHover(HoverStatus.Exited); break; } }
public override void MouseDragged(NSEvent mouseEvent) { if (effect?.Element == null || effect.IsDisabled) { return; } var status = ViewRect.Contains(mouseEvent.LocationInWindow.ToPoint()) ? TouchStatus.Started : TouchStatus.Canceled; if ((status == TouchStatus.Canceled && effect.HoverStatus == HoverStatus.Entered) || (status == TouchStatus.Started && effect.HoverStatus == HoverStatus.Exited)) { effect?.HandleHover(status == TouchStatus.Started ? HoverStatus.Entered : HoverStatus.Exited); } if (effect?.Status != status) { effect?.HandleTouch(status); } base.MouseDragged(mouseEvent); }