blob: 4aa9420b99fc0a15defa9a88c89eda24d8d48b69 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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
|