From 2a2879594a7bbc281304de44349bc8d60c62fe86 Mon Sep 17 00:00:00 2001 From: Vijay Menon Date: Mon, 4 Jan 2021 12:06:32 -0800 Subject: [PATCH] Fix JS interop for SkParagraphBuilder.addPlaceholder --- lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart | 9 ++++++++- lib/web_ui/lib/src/engine/canvaskit/text.dart | 8 +++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart b/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart index f4bf266ee1252..a983ad72a43f6 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart @@ -1485,7 +1485,8 @@ class SkParagraphBuilder { external void pushPaintStyle( SkTextStyle textStyle, SkPaint foreground, SkPaint background); external void pop(); - external void addPlaceholder(SkPlaceholderStyleProperties placeholderStyle); + external void addPlaceholder(double? width, double? height, + SkPlaceholderAlignment? alignment, SkTextBaseline? baseline, double? offset); external SkParagraph build(); external void delete(); } @@ -1624,6 +1625,12 @@ class SkStrutStyleProperties { @JS() @anonymous class SkPlaceholderStyleProperties { + external double? get width; + external double? get height; + external SkPlaceholderAlignment? get alignment; + external double? get offset; + external SkTextBaseline? get baseline; + external set width(double? value); external set height(double? value); external set alignment(SkPlaceholderAlignment? value); diff --git a/lib/web_ui/lib/src/engine/canvaskit/text.dart b/lib/web_ui/lib/src/engine/canvaskit/text.dart index cb4773abdaec2..5eaddd446d71c 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/text.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/text.dart @@ -641,7 +641,13 @@ class CkParagraphBuilder implements ui.ParagraphBuilder { void _addPlaceholder(SkPlaceholderStyleProperties placeholderStyle) { _commands.add(_ParagraphCommand.addPlaceholder(placeholderStyle)); - _paragraphBuilder.addPlaceholder(placeholderStyle); + _paragraphBuilder.addPlaceholder( + placeholderStyle.width, + placeholderStyle.height, + placeholderStyle.alignment, + placeholderStyle.baseline, + placeholderStyle.offset, + ); } static SkPlaceholderStyleProperties toSkPlaceholderStyle(