mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Adding support for image filtering in CanvasKit backend. (flutter/engine#19035)
This commit is contained in:
parent
d3317c36f8
commit
6b6e8d35bb
@ -190,12 +190,31 @@ class SkPaint extends SkiaObject implements ui.Paint {
|
||||
|
||||
ui.MaskFilter _maskFilter;
|
||||
|
||||
// TODO(yjbanov): implement
|
||||
@override
|
||||
ui.FilterQuality get filterQuality => _filterQuality;
|
||||
@override
|
||||
set filterQuality(ui.FilterQuality value) {
|
||||
_filterQuality = value;
|
||||
_syncFilterQuality(skiaObject);
|
||||
}
|
||||
|
||||
void _syncFilterQuality(js.JsObject object) {
|
||||
js.JsObject skFilterQuality;
|
||||
switch (_filterQuality) {
|
||||
case ui.FilterQuality.none:
|
||||
skFilterQuality = canvasKit['FilterQuality']['None'];
|
||||
break;
|
||||
case ui.FilterQuality.low:
|
||||
skFilterQuality = canvasKit['FilterQuality']['Low'];
|
||||
break;
|
||||
case ui.FilterQuality.medium:
|
||||
skFilterQuality = canvasKit['FilterQuality']['Medium'];
|
||||
break;
|
||||
case ui.FilterQuality.high:
|
||||
skFilterQuality = canvasKit['FilterQuality']['High'];
|
||||
break;
|
||||
}
|
||||
object.callMethod('setFilterQuality', <js.JsObject>[skFilterQuality]);
|
||||
}
|
||||
|
||||
ui.FilterQuality _filterQuality = ui.FilterQuality.none;
|
||||
@ -268,6 +287,7 @@ class SkPaint extends SkiaObject implements ui.Paint {
|
||||
_syncMaskFilter(obj);
|
||||
_syncColorFilter(obj);
|
||||
_syncImageFilter(obj);
|
||||
_syncFilterQuality(obj);
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user