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

Commit 68fe742

Browse files
switch createImageFromTextureSource to JSAny
1 parent c1ad286 commit 68fe742

File tree

7 files changed

+101
-104
lines changed

7 files changed

+101
-104
lines changed

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
// found in the LICENSE file.
44

55
import 'dart:async';
6+
import 'dart:js_interop';
67
import 'dart:math' as math;
78
import 'dart:typed_data';
89

@@ -239,10 +240,10 @@ class CanvasKitRenderer implements Renderer {
239240
}
240241

241242
@override
242-
FutureOr<ui.Image> createImageFromTextureSource(Object object,
243+
FutureOr<ui.Image> createImageFromTextureSource(JSAny object,
243244
{required int width, required int height, required bool transferOwnership}) async {
244245
if (!transferOwnership) {
245-
final DomImageBitmap bitmap = await createImageBitmap(object.toJSAnyShallow, (x:0, y: 0, width: width, height: height));
246+
final DomImageBitmap bitmap = await createImageBitmap(object, (x:0, y: 0, width: width, height: height));
246247
return createImageFromImageBitmap(bitmap);
247248
}
248249
final SkImage? skImage = canvasKit.MakeLazyImageFromTextureSourceWithInfo(

lib/web_ui/lib/src/engine/html/renderer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ class HtmlRenderer implements Renderer {
373373
}
374374

375375
@override
376-
FutureOr<ui.Image> createImageFromTextureSource(Object object, { required int width, required int height, required bool transferOwnership }) {
376+
FutureOr<ui.Image> createImageFromTextureSource(JSAny object, { required int width, required int height, required bool transferOwnership }) {
377377
throw Exception('Not implemented for HTML renderer');
378378
}
379379
}

lib/web_ui/lib/src/engine/renderer.dart

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
// found in the LICENSE file.
44

55
import 'dart:async';
6+
import 'dart:js_interop';
67
import 'dart:math' as math;
78
import 'dart:typed_data';
89

@@ -103,18 +104,17 @@ abstract class Renderer {
103104
Float32List? matrix4,
104105
]);
105106

106-
ui.ImageFilter createBlurImageFilter(
107-
{double sigmaX = 0.0,
108-
double sigmaY = 0.0,
109-
ui.TileMode tileMode = ui.TileMode.clamp});
110-
ui.ImageFilter createDilateImageFilter(
111-
{double radiusX = 0.0, double radiusY = 0.0});
112-
ui.ImageFilter createErodeImageFilter(
113-
{double radiusX = 0.0, double radiusY = 0.0});
114-
ui.ImageFilter createMatrixImageFilter(Float64List matrix4,
115-
{ui.FilterQuality filterQuality = ui.FilterQuality.low});
116-
ui.ImageFilter composeImageFilters(
117-
{required ui.ImageFilter outer, required ui.ImageFilter inner});
107+
ui.ImageFilter createBlurImageFilter({
108+
double sigmaX = 0.0,
109+
double sigmaY = 0.0,
110+
ui.TileMode tileMode = ui.TileMode.clamp});
111+
ui.ImageFilter createDilateImageFilter({ double radiusX = 0.0, double radiusY = 0.0});
112+
ui.ImageFilter createErodeImageFilter({ double radiusX = 0.0, double radiusY = 0.0});
113+
ui.ImageFilter createMatrixImageFilter(
114+
Float64List matrix4, {
115+
ui.FilterQuality filterQuality = ui.FilterQuality.low
116+
});
117+
ui.ImageFilter composeImageFilters({required ui.ImageFilter outer, required ui.ImageFilter inner});
118118

119119
Future<ui.Codec> instantiateImageCodec(
120120
Uint8List list, {
@@ -130,15 +130,20 @@ abstract class Renderer {
130130

131131
FutureOr<ui.Image> createImageFromImageBitmap(DomImageBitmap imageSource);
132132

133-
FutureOr<ui.Image> createImageFromTextureSource(Object object,
134-
{required int width, required int height, required bool transferOwnership });
133+
FutureOr<ui.Image> createImageFromTextureSource(JSAny object,
134+
{required int width, required int height, required bool transferOwnership});
135135

136-
void decodeImageFromPixels(Uint8List pixels, int width, int height,
137-
ui.PixelFormat format, ui.ImageDecoderCallback callback,
138-
{int? rowBytes,
139-
int? targetWidth,
140-
int? targetHeight,
141-
bool allowUpscaling = true});
136+
void decodeImageFromPixels(
137+
Uint8List pixels,
138+
int width,
139+
int height,
140+
ui.PixelFormat format,
141+
ui.ImageDecoderCallback callback, {
142+
int? rowBytes,
143+
int? targetWidth,
144+
int? targetHeight,
145+
bool allowUpscaling = true
146+
});
142147

143148
ui.ImageShader createImageShader(
144149
ui.Image image,

lib/web_ui/lib/src/engine/skwasm/skwasm_impl/renderer.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -474,9 +474,9 @@ class SkwasmRenderer implements Renderer {
474474
}
475475

476476
@override
477-
FutureOr<ui.Image> createImageFromTextureSource(Object textureSource, { required int width, required int height, required bool transferOwnership }) async {
477+
FutureOr<ui.Image> createImageFromTextureSource(JSAny textureSource, { required int width, required int height, required bool transferOwnership }) async {
478478
if (!transferOwnership) {
479-
textureSource = await createImageBitmap(textureSource.toJSAnyShallow, (x: 0, y: 0, width: width, height: height));
479+
textureSource = (await createImageBitmap(textureSource, (x: 0, y: 0, width: width, height: height))).toJSAnyShallow;
480480
}
481481
return SkwasmImage(imageCreateFromTextureSource(
482482
textureSource as JSObject,

lib/web_ui/lib/src/engine/skwasm/skwasm_stub/renderer.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
// found in the LICENSE file.
44

55
import 'dart:async';
6+
import 'dart:js_interop';
67
import 'dart:math' as math;
78
import 'dart:typed_data';
89

@@ -191,7 +192,7 @@ class SkwasmRenderer implements Renderer {
191192
}
192193

193194
@override
194-
ui.Image createImageFromTextureSource(Object object, { required int width, required int height, required bool transferOwnership }) {
195+
ui.Image createImageFromTextureSource(JSAny object, { required int width, required int height, required bool transferOwnership }) {
195196
throw Exception('Skwasm not implemented on this platform.');
196197
}
197198
}

lib/web_ui/lib/ui_web/src/ui_web/images.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ FutureOr<ui.Image> createImageFromImageBitmap(JSAny imageSource) {
5353
/// will be made. If this is not desired, the ownership of the object can be
5454
/// transferred to the renderer and the engine will take ownership of the
5555
/// texture source and consume its contents.
56-
FutureOr<ui.Image> createImageFromTextureSource(Object object, { required int width, required int height, bool transferOwnership = false }) {
56+
FutureOr<ui.Image> createImageFromTextureSource(JSAny object, { required int width, required int height, bool transferOwnership = false }) {
5757
return renderer.createImageFromTextureSource(
5858
object, width: width, height: height, transferOwnership: transferOwnership
5959
);

0 commit comments

Comments
 (0)