blob: e7da018db7971a2a0712d6be29bb1cc0f27492c8 [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
part of engine;
/// The CanvasKit implementation of [ui.ImageFilter].
///
/// Currently only supports `blur`.
class CkImageFilter extends ResurrectableSkiaObject implements ui.ImageFilter {
CkImageFilter.blur({double sigmaX = 0.0, double sigmaY = 0.0})
: _sigmaX = sigmaX,
_sigmaY = sigmaY;
final double _sigmaX;
final double _sigmaY;
@override
js.JsObject createDefault() => _initSkiaObject();
@override
js.JsObject resurrect() => _initSkiaObject();
js.JsObject _initSkiaObject() => canvasKit['SkImageFilter'].callMethod(
'MakeBlur',
<dynamic>[
_sigmaX,
_sigmaY,
canvasKit['TileMode']['Clamp'],
null,
],
);
@override
bool operator ==(Object other) {
return other is CkImageFilter
&& other._sigmaX == _sigmaX
&& other._sigmaY == _sigmaY;
}
@override
int get hashCode => ui.hashValues(_sigmaX, _sigmaY);
@override
String toString() {
return 'ImageFilter.blur($_sigmaX, $_sigmaY)';
}
}