diff options
Diffstat (limited to 'gfx/skia/skia/src/effects/SkTrimPE.h')
-rw-r--r-- | gfx/skia/skia/src/effects/SkTrimPE.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/gfx/skia/skia/src/effects/SkTrimPE.h b/gfx/skia/skia/src/effects/SkTrimPE.h new file mode 100644 index 0000000000..4aa9420b99 --- /dev/null +++ b/gfx/skia/skia/src/effects/SkTrimPE.h @@ -0,0 +1,39 @@ +/* + * 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 |