| // Copyright 2014 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| import 'drag_details.dart'; |
| |
| /// Interface for objects that receive updates about drags. |
| /// |
| /// This interface is used in various ways. For example, |
| /// [MultiDragGestureRecognizer] uses it to update its clients when it |
| /// recognizes a gesture. Similarly, the scrolling infrastructure in the widgets |
| /// library uses it to notify the [DragScrollActivity] when the user drags the |
| /// scrollable. |
| abstract class Drag { |
| /// The pointer has moved. |
| void update(DragUpdateDetails details) { } |
| |
| /// The pointer is no longer in contact with the screen. |
| /// |
| /// The velocity at which the pointer was moving when it stopped contacting |
| /// the screen is available in the `details`. |
| void end(DragEndDetails details) { } |
| |
| /// The input from the pointer is no longer directed towards this receiver. |
| /// |
| /// For example, the user might have been interrupted by a system-modal dialog |
| /// in the middle of the drag. |
| void cancel() { } |
| } |