blob: c03628cb7df220f3d87c17b39a22d9c121e49f79 [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.
import 'dart:ui';
import 'channel_util.dart';
import 'scenario.dart';
import 'scenarios.dart';
/// Displays a platform texture with the given width and height.
class DisplayTexture extends Scenario {
/// Creates the DisplayTexture scenario.
DisplayTexture(super.view);
int get _textureId => scenarioParams['texture_id'] as int;
double get _textureWidth =>
(scenarioParams['texture_width'] as num).toDouble();
double get _textureHeight =>
(scenarioParams['texture_height'] as num).toDouble();
@override
void onBeginFrame(Duration duration) {
final SceneBuilder builder = SceneBuilder();
builder.addTexture(
_textureId,
offset: Offset(
(view.physicalSize.width / 2.0) - (_textureWidth / 2.0),
0.0,
),
width: _textureWidth,
height: _textureHeight,
);
final Scene scene = builder.build();
view.render(scene);
scene.dispose();
sendJsonMessage(
dispatcher: view.platformDispatcher,
channel: 'display_data',
json: <String, dynamic>{
'data': 'ready',
},
);
}
}