Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion ci/licenses_golden/licenses_flutter
Original file line number Diff line number Diff line change
Expand Up @@ -1209,7 +1209,6 @@ FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_canvas.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/color_filter.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/embedded_views.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/fonts.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/image.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/image_filter.dart
Expand Down
1 change: 0 additions & 1 deletion lib/web_ui/lib/src/engine.dart
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ part 'engine/canvaskit/canvaskit_api.dart';
part 'engine/canvaskit/color_filter.dart';
part 'engine/canvaskit/embedded_views.dart';
part 'engine/canvaskit/fonts.dart';
part 'engine/canvaskit/font_fallbacks.dart';
part 'engine/canvaskit/image.dart';
part 'engine/canvaskit/image_filter.dart';
part 'engine/canvaskit/initialization.dart';
Expand Down
51 changes: 21 additions & 30 deletions lib/web_ui/lib/src/engine/canvaskit/canvas.dart
Original file line number Diff line number Diff line change
Expand Up @@ -176,8 +176,7 @@ class CkCanvas {
void drawPoints(CkPaint paint, ui.PointMode pointMode, Float32List points) {
skCanvas.drawPoints(
toSkPointMode(pointMode),
// TODO(hterkelsen): Don't convert this to 2d after we move to CK 0.21.
rawPointsToSkPoints2d(points),
points,
paint.skiaObject,
);
}
Expand All @@ -193,10 +192,10 @@ class CkCanvas {
skCanvas.drawRect(toSkRect(rect), paint.skiaObject);
}

void drawShadow(
CkPath path, ui.Color color, double elevation, bool transparentOccluder) {
drawSkShadow(skCanvas, path, color, elevation, transparentOccluder,
ui.window.devicePixelRatio);
void drawShadow(CkPath path, ui.Color color, double elevation,
bool transparentOccluder) {
drawSkShadow(skCanvas, path, color, elevation,
transparentOccluder, ui.window.devicePixelRatio);
}

void drawVertices(
Expand Down Expand Up @@ -238,8 +237,7 @@ class CkCanvas {
}

void saveLayerWithFilter(ui.Rect bounds, ui.ImageFilter filter) {
final _CkManagedSkImageFilterConvertible convertible =
filter as _CkManagedSkImageFilterConvertible;
final _CkManagedSkImageFilterConvertible convertible = filter as _CkManagedSkImageFilterConvertible;
return skCanvas.saveLayer(
null,
toSkRect(bounds),
Expand Down Expand Up @@ -269,8 +267,8 @@ class CkCanvas {

class RecordingCkCanvas extends CkCanvas {
RecordingCkCanvas(SkCanvas skCanvas, ui.Rect bounds)
: pictureSnapshot = CkPictureSnapshot(bounds),
super(skCanvas);
: pictureSnapshot = CkPictureSnapshot(bounds),
super(skCanvas);

@override
final CkPictureSnapshot pictureSnapshot;
Expand Down Expand Up @@ -312,8 +310,7 @@ class RecordingCkCanvas extends CkCanvas {
CkPaint paint,
) {
super.drawArc(oval, startAngle, sweepAngle, useCenter, paint);
_addCommand(
CkDrawArcCommand(oval, startAngle, sweepAngle, useCenter, paint));
_addCommand(CkDrawArcCommand(oval, startAngle, sweepAngle, useCenter, paint));
}

@override
Expand All @@ -326,8 +323,7 @@ class RecordingCkCanvas extends CkCanvas {
ui.BlendMode blendMode,
) {
super.drawAtlasRaw(paint, atlas, rstTransforms, rects, colors, blendMode);
_addCommand(CkDrawAtlasCommand(
paint, atlas, rstTransforms, rects, colors, blendMode));
_addCommand(CkDrawAtlasCommand(paint, atlas, rstTransforms, rects, colors, blendMode));
}

@override
Expand Down Expand Up @@ -422,11 +418,10 @@ class RecordingCkCanvas extends CkCanvas {
}

@override
void drawShadow(
CkPath path, ui.Color color, double elevation, bool transparentOccluder) {
void drawShadow(CkPath path, ui.Color color, double elevation,
bool transparentOccluder) {
super.drawShadow(path, color, elevation, transparentOccluder);
_addCommand(
CkDrawShadowCommand(path, color, elevation, transparentOccluder));
_addCommand(CkDrawShadowCommand(path, color, elevation, transparentOccluder));
}

@override
Expand Down Expand Up @@ -632,7 +627,7 @@ class CkTransformCommand extends CkPaintCommand {
@override
void apply(SkCanvas canvas) {
canvas.concat(toSkMatrixFromFloat32(matrix4));
}
}
}

class CkSkewCommand extends CkPaintCommand {
Expand Down Expand Up @@ -665,8 +660,7 @@ class CkClipRectCommand extends CkPaintCommand {
}

class CkDrawArcCommand extends CkPaintCommand {
CkDrawArcCommand(
this.oval, this.startAngle, this.sweepAngle, this.useCenter, this.paint);
CkDrawArcCommand(this.oval, this.startAngle, this.sweepAngle, this.useCenter, this.paint);

final ui.Rect oval;
final double startAngle;
Expand All @@ -688,8 +682,7 @@ class CkDrawArcCommand extends CkPaintCommand {
}

class CkDrawAtlasCommand extends CkPaintCommand {
CkDrawAtlasCommand(this.paint, this.atlas, this.rstTransforms, this.rects,
this.colors, this.blendMode);
CkDrawAtlasCommand(this.paint, this.atlas, this.rstTransforms, this.rects, this.colors, this.blendMode);

final CkPaint paint;
final CkImage atlas;
Expand Down Expand Up @@ -814,8 +807,7 @@ class CkDrawPointsCommand extends CkPaintCommand {
void apply(SkCanvas canvas) {
canvas.drawPoints(
toSkPointMode(pointMode),
// TODO(hterkelsen): Don't convert this to 2d after we move to CK 0.21.
rawPointsToSkPoints2d(points),
points,
paint.skiaObject,
);
}
Expand Down Expand Up @@ -932,7 +924,7 @@ class CkDrawImageCommand extends CkPaintCommand {
final CkPaint paint;

CkDrawImageCommand(CkImage image, this.offset, this.paint)
: this.image = image.clone();
: this.image = image.clone();

@override
void apply(SkCanvas canvas) {
Expand All @@ -957,7 +949,7 @@ class CkDrawImageRectCommand extends CkPaintCommand {
final CkPaint paint;

CkDrawImageRectCommand(CkImage image, this.src, this.dst, this.paint)
: this.image = image.clone();
: this.image = image.clone();

@override
void apply(SkCanvas canvas) {
Expand All @@ -978,7 +970,7 @@ class CkDrawImageRectCommand extends CkPaintCommand {

class CkDrawImageNineCommand extends CkPaintCommand {
CkDrawImageNineCommand(CkImage image, this.center, this.dst, this.paint)
: this.image = image.clone();
: this.image = image.clone();

final CkImage image;
final ui.Rect center;
Expand Down Expand Up @@ -1069,8 +1061,7 @@ class CkSaveLayerWithFilterCommand extends CkPaintCommand {

@override
void apply(SkCanvas canvas) {
final _CkManagedSkImageFilterConvertible convertible =
filter as _CkManagedSkImageFilterConvertible;
final _CkManagedSkImageFilterConvertible convertible = filter as _CkManagedSkImageFilterConvertible;
return canvas.saveLayer(
null,
toSkRect(bounds),
Expand Down
29 changes: 11 additions & 18 deletions lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ class CanvasKit {
external SkMaskFilterNamespace get MaskFilter;
external SkColorFilterNamespace get ColorFilter;
external SkImageFilterNamespace get ImageFilter;
external SkPathNamespace get Path;
external SkPath MakePathFromOp(SkPath path1, SkPath path2, SkPathOp pathOp);
external SkTonalColors computeTonalColors(SkTonalColors inTonalColors);
external SkVertices MakeVertices(
SkVertexMode mode,
Expand Down Expand Up @@ -96,6 +96,10 @@ class CanvasKit {
external SkSurface MakeSWCanvasSurface(html.CanvasElement canvas);
external void setCurrentContext(int glContext);

/// Creates an [SkPath] using commands obtained from [SkPath.toCmds].
// TODO(yjbanov): switch to CanvasKit.Path.MakeFromCmds when it's available.
external SkPath MakePathFromCmds(List<dynamic> pathCommands);

/// Creates an image from decoded pixels represented as a list of bytes.
///
/// The pixel data must match the [width], [height], [alphaType], [colorType],
Expand Down Expand Up @@ -719,7 +723,7 @@ class SkImage {
SkTileMode tileModeY,
Float32List? matrix, // 3x3 matrix
);
external Uint8List readPixels(int srcX, int srcY, SkImageInfo imageInfo);
external Uint8List readPixels(SkImageInfo imageInfo, int srcX, int srcY);
external SkData encodeToData();
external bool isAliasOf(SkImage other);
external bool isDeleted();
Expand Down Expand Up @@ -779,7 +783,7 @@ class SkShader {
@JS()
class SkMaskFilterNamespace {
external SkMaskFilter MakeBlur(
SkBlurStyle blurStyle, double sigma, bool respectCTM);
SkBlurStyle blurStyle, double sigma, bool respectCTM);
}

// This needs to be bound to top-level because SkPaint is initialized
Expand Down Expand Up @@ -860,14 +864,6 @@ class SkImageFilter {
external void delete();
}

@JS()
class SkPathNamespace {
external SkPath MakeFromOp(SkPath path1, SkPath path2, SkPathOp pathOp);

/// Creates an [SkPath] using commands obtained from [SkPath.toCmds].
external SkPath MakeFromCmds(List<dynamic> pathCommands);
}

// Mappings from SkMatrix-index to input-index.
const List<int> _skMatrixIndexToMatrix4Index = <int>[
0, 4, 12, // Row 1
Expand Down Expand Up @@ -1187,8 +1183,7 @@ class SkPath {

/// Serializes the path into a list of commands.
///
/// The list can be used to create a new [SkPath] using
/// [CanvasKit.Path.MakeFromCmds].
/// The list can be used to create a new [SkPath] using [CanvasKit.MakePathFromCmds].
external List<dynamic> toCmds();

external void delete();
Expand Down Expand Up @@ -1409,7 +1404,7 @@ class SkCanvas {
);
external void drawPoints(
SkPointMode pointMode,
List<Float32List> points,
Float32List points,
SkPaint paint,
);
external void drawRRect(
Expand Down Expand Up @@ -1791,8 +1786,7 @@ abstract class Collector {
/// Uses timers to delete objects in batches and outside the animation frame.
class ProductionCollector implements Collector {
ProductionCollector() {
_skObjectFinalizationRegistry =
SkObjectFinalizationRegistry(js.allowInterop((SkDeletable deletable) {
_skObjectFinalizationRegistry = SkObjectFinalizationRegistry(js.allowInterop((SkDeletable deletable) {
// This is called when GC decides to collect the wrapper object and
// notify us, which may happen after the object is already deleted
// explicitly, e.g. when its ref count drops to zero. When that happens
Expand Down Expand Up @@ -1973,8 +1967,7 @@ bool browserSupportsFinalizationRegistry =

/// Sets the value of [browserSupportsFinalizationRegistry] to its true value.
void debugResetBrowserSupportsFinalizationRegistry() {
browserSupportsFinalizationRegistry =
_finalizationRegistryConstructor != null;
browserSupportsFinalizationRegistry = _finalizationRegistryConstructor != null;
}

@JS()
Expand Down
Loading