aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/sksg/geometry/SkSGTrimEffect.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'experimental/sksg/geometry/SkSGTrimEffect.cpp')
-rw-r--r--experimental/sksg/geometry/SkSGTrimEffect.cpp17
1 files changed, 1 insertions, 16 deletions
diff --git a/experimental/sksg/geometry/SkSGTrimEffect.cpp b/experimental/sksg/geometry/SkSGTrimEffect.cpp
index fea8249161..b8c59bcfe8 100644
--- a/experimental/sksg/geometry/SkSGTrimEffect.cpp
+++ b/experimental/sksg/geometry/SkSGTrimEffect.cpp
@@ -42,22 +42,7 @@ SkRect TrimEffect::onRevalidate(InvalidationController* ic, const SkMatrix& ctm)
const auto childbounds = fChild->revalidate(ic, ctm);
const auto path = fChild->asPath();
- // TODO: relocate these funky semantics to a Skottie composite helper,
- // and refactor TrimEffect as a thin SkTrimpPathEffect wrapper.
- auto start = SkTMin(fStart, fEnd) + fOffset,
- stop = SkTMax(fStart, fEnd) + fOffset;
-
- sk_sp<SkPathEffect> trim;
- if (stop - start < 1) {
- start -= SkScalarFloorToScalar(start);
- stop -= SkScalarFloorToScalar(stop);
-
- trim = start <= stop
- ? SkTrimPathEffect::Make(start, stop, SkTrimPathEffect::Mode::kNormal)
- : SkTrimPathEffect::Make(stop, start, SkTrimPathEffect::Mode::kInverted);
- }
-
- if (trim) {
+ if (auto trim = SkTrimPathEffect::Make(fStart, fStop, fMode)) {
fTrimmedPath.reset();
SkStrokeRec rec(SkStrokeRec::kHairline_InitStyle);
SkAssertResult(trim->filterPath(&fTrimmedPath, path, &rec, &childbounds));