blob: 4d53abcd0b32c8410f26a98843355ceebf87a405 [file] [log] [blame]
// Copyright 2013 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.
// @dart = 2.6
import 'dart:typed_data';
import 'dart:ui';
/// A scenario to run for testing.
abstract class Scenario {
/// Creates a new scenario using a specific Window instance.
const Scenario(this.window);
/// The window used by this scenario. May be mocked.
final Window window;
/// Called by the program when a frame is ready to be drawn.
///
/// See [Window.onBeginFrame] for more details.
void onBeginFrame(Duration duration) {}
/// Called by the program when the microtasks from [onBeginFrame] have been
/// flushed.
///
/// See [Window.onDrawFrame] for more details.
void onDrawFrame() {}
/// Called by the program when the window metrics have changed.
///
/// See [Window.onMetricsChanged].
void onMetricsChanged() {}
/// Called by the program when a pointer event is received.
///
/// See [Window.onPointerDataPacket].
void onPointerDataPacket(PointerDataPacket packet) {}
/// Called by the program when an engine side platform channel message is
/// received.
///
/// See [Window.onPlatformMessage].
void onPlatformMessage(
String name,
ByteData data,
PlatformMessageResponseCallback callback,
) {}
}