blob: b457a38fe8c35b264fbe0211baaec93c1121ca8f [file] [log] [blame]
Mike Reed41232232018-03-07 17:02:47 -05001/*
2 * Copyright 2018 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#ifndef SkTrimImpl_DEFINED
9#define SkTrimImpl_DEFINED
10
Mike Kleinc0bd9f92019-04-23 12:05:21 -050011#include "include/core/SkPathEffect.h"
Mike Reed41232232018-03-07 17:02:47 -050012
Mike Kleinc0bd9f92019-04-23 12:05:21 -050013#include "include/effects/SkTrimPathEffect.h"
Florin Malita827af662018-03-09 16:08:58 -050014
Mike Reed41232232018-03-07 17:02:47 -050015class SkTrimPE : public SkPathEffect {
16public:
Florin Malita827af662018-03-09 16:08:58 -050017 SkTrimPE(SkScalar startT, SkScalar stopT, SkTrimPathEffect::Mode);
Mike Reed41232232018-03-07 17:02:47 -050018
Mike Reed41232232018-03-07 17:02:47 -050019protected:
20 void flatten(SkWriteBuffer&) const override;
Mike Reed6d10f8b2018-08-16 13:22:16 -040021 bool onFilterPath(SkPath* dst, const SkPath& src, SkStrokeRec*, const SkRect*) const override;
Mike Reed41232232018-03-07 17:02:47 -050022
23private:
Mike Klein4fee3232018-10-18 17:27:16 -040024 SK_FLATTENABLE_HOOKS(SkTrimPE)
25
Florin Malita827af662018-03-09 16:08:58 -050026 const SkScalar fStartT,
27 fStopT;
28 const SkTrimPathEffect::Mode fMode;
Mike Reed41232232018-03-07 17:02:47 -050029
30 typedef SkPathEffect INHERITED;
31};
32
33#endif