private bool ConsumeDrags(GestureSamples gestureSamples) { bool dragsConsumed = false; List<GestureSample> freeDrags = gestureSamples.GetSamples (GestureType.FreeDrag); foreach (GestureSample freeDrag in freeDrags) { if (IsGestureWithinView (freeDrag)) { Position += freeDrag.Delta; dragsConsumed = true; } } return dragsConsumed; }
private bool ConsumePinches(GestureSamples gestureSamples) { Vector2 initialPosition = Position; bool pinchesConsumed = false; List<GestureSample> pinches = gestureSamples.GetSamples (GestureType.Pinch); foreach (GestureSample pinch in pinches) { if (IsGestureWithinView (pinch)) { float scaleFactor = GetPinchScaleFactor (pinch); Scale *= scaleFactor; Position = GetPinchScaledPosition (this, pinch, scaleFactor); ScaleAndRepositionChildViews (pinch, scaleFactor); pinchesConsumed = true; } } return pinchesConsumed; }
public virtual bool ConsumeGestures(GestureSamples gestureSamples) { bool gestureConsumed = false; if (IsTapEnabled) { List<GestureSample> taps = gestureSamples.GetSamples (GestureType.Tap); foreach (GestureSample tap in taps) { if (IsGestureWithinView (tap)) { OnTap (this); gestureConsumed = true; break; } } } if (IsDoubleTapEnabled && ! gestureConsumed) { List<GestureSample> doubleTaps = gestureSamples.GetSamples (GestureType.DoubleTap); foreach (GestureSample doubleTap in doubleTaps) { if (IsGestureWithinView (doubleTap)) { OnDoubleTap (this); gestureConsumed = true; break; } } } if (IsHoldEnabled && ! gestureConsumed) { List<GestureSample> holds = gestureSamples.GetSamples (GestureType.Hold); foreach (GestureSample hold in holds) { if (IsGestureWithinView (hold)) { OnHold (this); gestureConsumed = true; break; } } } return gestureConsumed; }
public override bool ConsumeGestures(GestureSamples gestureSamples) { return ConsumeDrags (gestureSamples) || ConsumePinches (gestureSamples); }
public override bool ConsumeGestures(GestureSamples gestureSamples) { // Overlays consume all gestures so that they don't pass through to lower layers return true; }
public ScreenLayers() { Gestures = new GestureSamples (); Clear (); }
internal bool ConsumeGestures(GestureSamples gestureSamples) { // Iterate through the view layers, starting at the top for (int layer = Layers.Length-1; layer >= 0; layer--) { List<View> viewLayer = Layers [layer]; foreach (View view in viewLayer) { if (view.Visible && view.ConsumeGestures (gestureSamples)) { return true; } } } return false; }