OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2006 The Android Open Source Project | 2 * Copyright 2006 The Android Open Source Project |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef SkDiscretePathEffect_DEFINED | 8 #ifndef SkDiscretePathEffect_DEFINED |
9 #define SkDiscretePathEffect_DEFINED | 9 #define SkDiscretePathEffect_DEFINED |
10 | 10 |
(...skipping 11 matching lines...) Expand all Loading... |
22 | 22 |
23 @param seedAssist This is a caller-supplied seedAssist that modifies | 23 @param seedAssist This is a caller-supplied seedAssist that modifies |
24 the seed value that is used to randomize the path | 24 the seed value that is used to randomize the path |
25 segments' endpoints. If not supplied it defaults to 0, | 25 segments' endpoints. If not supplied it defaults to 0, |
26 in which case filtering a path multiple times will | 26 in which case filtering a path multiple times will |
27 result in the same set of segments (this is useful for | 27 result in the same set of segments (this is useful for |
28 testing). If a caller does not want this behaviour | 28 testing). If a caller does not want this behaviour |
29 they can pass in a different seedAssist to get a | 29 they can pass in a different seedAssist to get a |
30 different set of path segments. | 30 different set of path segments. |
31 */ | 31 */ |
| 32 static sk_sp<SkPathEffect> Make(SkScalar segLength, SkScalar dev, uint32_t s
eedAssist = 0); |
| 33 |
| 34 #ifdef SK_SUPPORT_LEGACY_PATHEFFECT_PTR |
32 static SkPathEffect* Create(SkScalar segLength, SkScalar deviation, uint32_t
seedAssist = 0) { | 35 static SkPathEffect* Create(SkScalar segLength, SkScalar deviation, uint32_t
seedAssist = 0) { |
33 return new SkDiscretePathEffect(segLength, deviation, seedAssist); | 36 return Make(segLength, deviation, seedAssist).release(); |
34 } | 37 } |
| 38 #endif |
35 | 39 |
36 virtual bool filterPath(SkPath* dst, const SkPath& src, | 40 virtual bool filterPath(SkPath* dst, const SkPath& src, |
37 SkStrokeRec*, const SkRect*) const override; | 41 SkStrokeRec*, const SkRect*) const override; |
38 | 42 |
39 SK_TO_STRING_OVERRIDE() | 43 SK_TO_STRING_OVERRIDE() |
40 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDiscretePathEffect) | 44 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDiscretePathEffect) |
41 | 45 |
42 #ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK | 46 #ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK |
43 bool exposedInAndroidJavaAPI() const override { return true; } | 47 bool exposedInAndroidJavaAPI() const override { return true; } |
44 #endif | 48 #endif |
45 | 49 |
46 protected: | 50 protected: |
47 SkDiscretePathEffect(SkScalar segLength, | 51 SkDiscretePathEffect(SkScalar segLength, |
48 SkScalar deviation, | 52 SkScalar deviation, |
49 uint32_t seedAssist); | 53 uint32_t seedAssist); |
50 void flatten(SkWriteBuffer&) const override; | 54 void flatten(SkWriteBuffer&) const override; |
51 | 55 |
52 private: | 56 private: |
53 SkScalar fSegLength, fPerterb; | 57 SkScalar fSegLength, fPerterb; |
54 | 58 |
55 /* Caller-supplied 32 bit seed assist */ | 59 /* Caller-supplied 32 bit seed assist */ |
56 uint32_t fSeedAssist; | 60 uint32_t fSeedAssist; |
57 | 61 |
58 typedef SkPathEffect INHERITED; | 62 typedef SkPathEffect INHERITED; |
59 }; | 63 }; |
60 | 64 |
61 #endif | 65 #endif |
OLD | NEW |