Improve null typing of ImageFilter init native APIs (flutter/engine#33863)

This commit is contained in:
Jason Simmons 2022-06-07 07:18:07 -07:00 committed by GitHub
parent 4d541d1593
commit e58bce6ae8
2 changed files with 8 additions and 7 deletions

View File

@ -3531,9 +3531,9 @@ class _ImageFilter extends NativeFieldWrapperClass1 {
creator = filter { // ignore: prefer_initializing_formals
_constructor();
final _ColorFilter? nativeFilter = filter._toNativeColorFilter();
_initColorFilter(nativeFilter);
_initColorFilter(nativeFilter!);
}
void _initColorFilter(_ColorFilter? colorFilter) native 'ImageFilter_initColorFilter';
void _initColorFilter(_ColorFilter colorFilter) native 'ImageFilter_initColorFilter';
/// Composes `_innerFilter` with `_outerFilter`.
_ImageFilter.composed(_ComposeImageFilter filter)

View File

@ -92,14 +92,15 @@ void ImageFilter::initMatrix(const tonic::Float64List& matrix4,
}
void ImageFilter::initColorFilter(ColorFilter* colorFilter) {
filter_ = std::make_shared<DlColorFilterImageFilter>(
colorFilter ? colorFilter->dl_filter() : nullptr);
FML_DCHECK(colorFilter);
filter_ =
std::make_shared<DlColorFilterImageFilter>(colorFilter->dl_filter());
}
void ImageFilter::initComposeFilter(ImageFilter* outer, ImageFilter* inner) {
filter_ = std::make_shared<DlComposeImageFilter>(
outer ? outer->dl_filter() : nullptr,
inner ? inner->dl_filter() : nullptr);
FML_DCHECK(outer && inner);
filter_ = std::make_shared<DlComposeImageFilter>(outer->dl_filter(),
inner->dl_filter());
}
} // namespace flutter