blob: 4aa9420b99fc0a15defa9a88c89eda24d8d48b69 [file] [log] [blame]
/*
* Copyright 2018 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef SkTrimImpl_DEFINED
#define SkTrimImpl_DEFINED
#include "include/effects/SkTrimPathEffect.h"
#include "src/core/SkPathEffectBase.h"
class SkTrimPE : public SkPathEffectBase {
public:
SkTrimPE(SkScalar startT, SkScalar stopT, SkTrimPathEffect::Mode);
protected:
void flatten(SkWriteBuffer&) const override;
bool onFilterPath(SkPath* dst, const SkPath& src, SkStrokeRec*, const SkRect*,
const SkMatrix&) const override;
private:
SK_FLATTENABLE_HOOKS(SkTrimPE)
bool computeFastBounds(SkRect* bounds) const override {
// Trimming a path returns a subset of the input path so just return true and leave bounds
// unmodified
return true;
}
const SkScalar fStartT,
fStopT;
const SkTrimPathEffect::Mode fMode;
using INHERITED = SkPathEffectBase;
};
#endif