OLD | NEW |
| (Empty) |
1 /* | |
2 * Copyright 2016 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 #include "GrStyle.h" | |
9 | |
10 void GrStyle::initPathEffect(SkPathEffect* pe) { | |
11 if (!pe) { | |
12 fDashInfo.fType = SkPathEffect::kNone_DashType; | |
13 return; | |
14 } | |
15 SkPathEffect::DashInfo info; | |
16 if (SkPathEffect::kDash_DashType == pe->asADash(&info)) { | |
17 if (fStrokeRec.getStyle() == SkStrokeRec::kFill_Style) { | |
18 fPathEffect.reset(nullptr); | |
19 } else { | |
20 fPathEffect.reset(SkSafeRef(pe)); | |
21 fDashInfo.fType = SkPathEffect::kDash_DashType; | |
22 fDashInfo.fIntervals.reset(info.fCount); | |
23 fDashInfo.fPhase = info.fPhase; | |
24 info.fIntervals = fDashInfo.fIntervals.get(); | |
25 pe->asADash(&info); | |
26 return; | |
27 } | |
28 } else { | |
29 fPathEffect.reset(SkSafeRef(pe)); | |
30 } | |
31 fDashInfo.fType = SkPathEffect::kNone_DashType; | |
32 fDashInfo.fIntervals.reset(0); | |
33 } | |
OLD | NEW |