Skip to content

Commit 5fe6083

Browse files
authored
Move surface-based SceneBuilder implementation under surface/ (flutter#13159)
Move surface-based SceneBuilder implementation under surface/
1 parent c979817 commit 5fe6083

File tree

12 files changed

+575
-300
lines changed

12 files changed

+575
-300
lines changed

ci/licenses_golden/licenses_flutter

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,7 @@ FILE: ../../../flutter/lib/web_ui/lib/src/engine/surface/opacity.dart
415415
FILE: ../../../flutter/lib/web_ui/lib/src/engine/surface/picture.dart
416416
FILE: ../../../flutter/lib/web_ui/lib/src/engine/surface/platform_view.dart
417417
FILE: ../../../flutter/lib/web_ui/lib/src/engine/surface/scene.dart
418+
FILE: ../../../flutter/lib/web_ui/lib/src/engine/surface/scene_builder.dart
418419
FILE: ../../../flutter/lib/web_ui/lib/src/engine/surface/surface.dart
419420
FILE: ../../../flutter/lib/web_ui/lib/src/engine/surface/transform.dart
420421
FILE: ../../../flutter/lib/web_ui/lib/src/engine/test_embedding.dart

lib/web_ui/lib/src/engine.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ part 'engine/surface/opacity.dart';
8282
part 'engine/surface/picture.dart';
8383
part 'engine/surface/platform_view.dart';
8484
part 'engine/surface/scene.dart';
85+
part 'engine/surface/scene_builder.dart';
8586
part 'engine/surface/surface.dart';
8687
part 'engine/surface/transform.dart';
8788
part 'engine/test_embedding.dart';

lib/web_ui/lib/src/engine/surface/scene.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,27 @@
44

55
part of engine;
66

7+
class SurfaceScene implements ui.Scene {
8+
/// This class is created by the engine, and should not be instantiated
9+
/// or extended directly.
10+
///
11+
/// To create a Scene object, use a [SceneBuilder].
12+
SurfaceScene(this.webOnlyRootElement);
13+
14+
final html.Element webOnlyRootElement;
15+
16+
/// Creates a raster image representation of the current state of the scene.
17+
/// This is a slow operation that is performed on a background thread.
18+
Future<ui.Image> toImage(int width, int height) {
19+
throw UnsupportedError('toImage is not supported on the Web');
20+
}
21+
22+
/// Releases the resources used by this scene.
23+
///
24+
/// After calling this function, the scene is cannot be used further.
25+
void dispose() {}
26+
}
27+
728
/// A surface that creates a DOM element for whole app.
829
class PersistedScene extends PersistedContainerSurface {
930
PersistedScene(PersistedScene oldLayer) : super(oldLayer) {

0 commit comments

Comments
 (0)