#include "third_party/blink/renderer/platform/graphics/filters/fe_convolve_matrix.h"
#include <memory>
#include "base/numerics/checked_math.h"
#include "base/numerics/safe_conversions.h"
#include "base/types/optional_util.h"
#include "third_party/blink/renderer/platform/graphics/filters/paint_filter_builder.h"
#include "third_party/blink/renderer/platform/wtf/text/text_stream.h"
namespace blink {
FEConvolveMatrix::FEConvolveMatrix(Filter* filter,
const gfx::Size& kernel_size,
float divisor,
float bias,
const gfx::Vector2d& target_offset,
FEConvolveMatrix::EdgeModeType edge_mode,
bool preserve_alpha,
const Vector<float>& kernel_matrix)
: … { … }
gfx::RectF FEConvolveMatrix::MapEffect(const gfx::RectF& rect) const { … }
bool FEConvolveMatrix::SetDivisor(float divisor) { … }
bool FEConvolveMatrix::SetBias(float bias) { … }
bool FEConvolveMatrix::SetTargetOffset(const gfx::Vector2d& target_offset) { … }
bool FEConvolveMatrix::SetEdgeMode(FEConvolveMatrix::EdgeModeType edge_mode) { … }
bool FEConvolveMatrix::SetPreserveAlpha(bool preserve_alpha) { … }
static SkTileMode ToSkiaTileMode(FEConvolveMatrix::EdgeModeType edge_mode) { … }
bool FEConvolveMatrix::ParametersValid() const { … }
sk_sp<PaintFilter> FEConvolveMatrix::CreateImageFilter() { … }
static WTF::TextStream& operator<<(WTF::TextStream& ts,
const FEConvolveMatrix::EdgeModeType& type) { … }
WTF::TextStream& FEConvolveMatrix::ExternalRepresentation(WTF::TextStream& ts,
int indent) const { … }
}