#include "include/core/SkMaskFilter.h"
#include "include/core/SkFlattenable.h"
#include "include/core/SkImageFilter.h"
#include "include/core/SkMatrix.h"
#include "include/core/SkPath.h"
#include "include/core/SkPoint.h"
#include "include/core/SkRect.h"
#include "include/core/SkRefCnt.h"
#include "include/core/SkRegion.h"
#include "include/core/SkStrokeRec.h"
#include "include/core/SkTypes.h"
#include "include/private/base/SkTemplates.h"
#include "src/base/SkAutoMalloc.h"
#include "src/base/SkTLazy.h"
#include "src/core/SkBlitter.h"
#include "src/core/SkCachedData.h"
#include "src/core/SkDraw.h"
#include "src/core/SkMask.h"
#include "src/core/SkMaskFilterBase.h"
#include "src/core/SkPathPriv.h"
#include "src/core/SkRasterClip.h"
#include <algorithm>
#include <cstdint>
class SkRRect;
struct SkDeserialProcs;
SkMaskFilterBase::NinePatch::~NinePatch() { … }
bool SkMaskFilterBase::asABlur(BlurRec*) const { … }
sk_sp<SkImageFilter> SkMaskFilterBase::asImageFilter(const SkMatrix& ctm) const { … }
static SkMask extractMaskSubset(const SkMask& src, SkIRect bounds, int32_t newX, int32_t newY) { … }
static void blitClippedMask(SkBlitter* blitter, const SkMask& mask,
const SkIRect& bounds, const SkIRect& clipR) { … }
static void blitClippedRect(SkBlitter* blitter, const SkIRect& rect, const SkIRect& clipR) { … }
static void draw_nine_clipped(const SkMask& mask, const SkIRect& outerR,
const SkIPoint& center, bool fillCenter,
const SkIRect& clipR, SkBlitter* blitter) { … }
static void draw_nine(const SkMask& mask, const SkIRect& outerR, const SkIPoint& center,
bool fillCenter, const SkRasterClip& clip, SkBlitter* blitter) { … }
static int countNestedRects(const SkPath& path, SkRect rects[2]) { … }
bool SkMaskFilterBase::filterRRect(const SkRRect& devRRect, const SkMatrix& matrix,
const SkRasterClip& clip, SkBlitter* blitter) const { … }
bool SkMaskFilterBase::filterPath(const SkPath& devPath, const SkMatrix& matrix,
const SkRasterClip& clip, SkBlitter* blitter,
SkStrokeRec::InitStyle style) const { … }
SkMaskFilterBase::FilterReturn
SkMaskFilterBase::filterRRectToNine(const SkRRect&, const SkMatrix&,
const SkIRect& clipBounds, SkTLazy<NinePatch>*) const { … }
SkMaskFilterBase::FilterReturn
SkMaskFilterBase::filterRectsToNine(const SkRect[], int count, const SkMatrix&,
const SkIRect& clipBounds, SkTLazy<NinePatch>*) const { … }
void SkMaskFilterBase::computeFastBounds(const SkRect& src, SkRect* dst) const { … }
SkRect SkMaskFilter::approximateFilteredBounds(const SkRect& src) const { … }
void SkMaskFilter::RegisterFlattenables() { … }
sk_sp<SkMaskFilter> SkMaskFilter::Deserialize(const void* data, size_t size,
const SkDeserialProcs* procs) { … }