eager.dart 1.25 KB
Newer Older
Ian Hickson's avatar
Ian Hickson committed
1
// Copyright 2014 The Flutter Authors. All rights reserved.
2 3 4
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

5

6 7 8 9 10 11 12 13 14 15
import 'arena.dart';
import 'events.dart';
import 'recognizer.dart';

/// A gesture recognizer that eagerly claims victory in all gesture arenas.
///
/// This is typically passed in [AndroidView.gestureRecognizers] in order to immediately dispatch
/// all touch events inside the view bounds to the embedded Android view.
/// See [AndroidView.gestureRecognizers] for more details.
class EagerGestureRecognizer extends OneSequenceGestureRecognizer {
16 17 18
  /// Create an eager gesture recognizer.
  ///
  /// {@macro flutter.gestures.gestureRecognizer.kind}
19
  EagerGestureRecognizer({ PointerDeviceKind? kind }) : super(kind: kind);
20

21
  @override
22
  void addAllowedPointer(PointerDownEvent event) {
23
    // We call startTrackingPointer as this is where OneSequenceGestureRecognizer joins the arena.
24
    startTrackingPointer(event.pointer, event.transform);
25 26 27 28 29 30 31 32
    resolve(GestureDisposition.accepted);
    stopTrackingPointer(event.pointer);
  }

  @override
  String get debugDescription => 'eager';

  @override
33
  void didStopTrackingLastPointer(int pointer) { }
34 35

  @override
36
  void handleEvent(PointerEvent event) { }
37
}