Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 1db3c03

Browse files
Revert "Revert "Use a single OffscreenCanvas for rendering in CanvasKit" (#45744)"
This reverts commit 153edff.
1 parent 154d6fd commit 1db3c03

21 files changed

+820
-856
lines changed

ci/licenses_golden/licenses_flutter

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1970,10 +1970,11 @@ ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/picture_recorder.da
19701970
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/platform_message.dart + ../../../flutter/LICENSE
19711971
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/raster_cache.dart + ../../../flutter/LICENSE
19721972
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/rasterizer.dart + ../../../flutter/LICENSE
1973+
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/render_canvas.dart + ../../../flutter/LICENSE
1974+
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/render_canvas_factory.dart + ../../../flutter/LICENSE
19731975
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/renderer.dart + ../../../flutter/LICENSE
19741976
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/shader.dart + ../../../flutter/LICENSE
19751977
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/surface.dart + ../../../flutter/LICENSE
1976-
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/surface_factory.dart + ../../../flutter/LICENSE
19771978
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/text.dart + ../../../flutter/LICENSE
19781979
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/text_fragmenter.dart + ../../../flutter/LICENSE
19791980
ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/util.dart + ../../../flutter/LICENSE
@@ -4719,10 +4720,11 @@ FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/picture_recorder.dart
47194720
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/platform_message.dart
47204721
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/raster_cache.dart
47214722
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/rasterizer.dart
4723+
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/render_canvas.dart
4724+
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/render_canvas_factory.dart
47224725
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/renderer.dart
47234726
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/shader.dart
47244727
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/surface.dart
4725-
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/surface_factory.dart
47264728
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/text.dart
47274729
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/text_fragmenter.dart
47284730
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/util.dart

lib/web_ui/lib/src/engine.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,11 @@ export 'engine/canvaskit/picture.dart';
4343
export 'engine/canvaskit/picture_recorder.dart';
4444
export 'engine/canvaskit/raster_cache.dart';
4545
export 'engine/canvaskit/rasterizer.dart';
46+
export 'engine/canvaskit/render_canvas.dart';
47+
export 'engine/canvaskit/render_canvas_factory.dart';
4648
export 'engine/canvaskit/renderer.dart';
4749
export 'engine/canvaskit/shader.dart';
4850
export 'engine/canvaskit/surface.dart';
49-
export 'engine/canvaskit/surface_factory.dart';
5051
export 'engine/canvaskit/text.dart';
5152
export 'engine/canvaskit/text_fragmenter.dart';
5253
export 'engine/canvaskit/util.dart';

lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,13 @@ extension CanvasKitExtension on CanvasKit {
161161
DomCanvasElement canvas, SkWebGLContextOptions options) =>
162162
_GetWebGLContext(canvas, options).toDartDouble;
163163

164+
@JS('GetWebGLContext')
165+
external JSNumber _GetOffscreenWebGLContext(
166+
DomOffscreenCanvas canvas, SkWebGLContextOptions options);
167+
double GetOffscreenWebGLContext(
168+
DomOffscreenCanvas canvas, SkWebGLContextOptions options) =>
169+
_GetOffscreenWebGLContext(canvas, options).toDartDouble;
170+
164171
@JS('MakeGrContext')
165172
external SkGrContext _MakeGrContext(JSNumber glContext);
166173
SkGrContext MakeGrContext(double glContext) =>
@@ -199,6 +206,9 @@ extension CanvasKitExtension on CanvasKit {
199206

200207
external SkSurface MakeSWCanvasSurface(DomCanvasElement canvas);
201208

209+
@JS('MakeSWCanvasSurface')
210+
external SkSurface MakeOffscreenSWCanvasSurface(DomOffscreenCanvas canvas);
211+
202212
/// Creates an image from decoded pixels represented as a list of bytes.
203213
///
204214
/// The pixel data must be encoded according to the image info in [info].

0 commit comments

Comments
 (0)