Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d32e00a5 authored by Doris Liu's avatar Doris Liu Committed by android-build-merger
Browse files

Merge "Workaround for PathMeasure.getSegment() behavior change" into nyc-dev am: d75f694c

am: 3b572361

* commit '3b572361':
  Workaround for PathMeasure.getSegment() behavior change
parents 24d6a62e 3b572361
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -229,19 +229,25 @@ void FullPath::applyTrim() {
        // No trimming necessary.
        return;
    }
    mTrimDirty = false;
    mTrimmedSkPath.reset();
    if (mProperties.trimPathStart == mProperties.trimPathEnd) {
        // Trimmed path should be empty.
        return;
    }
    SkPathMeasure measure(mSkPath, false);
    float len = SkScalarToFloat(measure.getLength());
    float start = len * fmod((mProperties.trimPathStart + mProperties.trimPathOffset), 1.0f);
    float end = len * fmod((mProperties.trimPathEnd + mProperties.trimPathOffset), 1.0f);

    mTrimmedSkPath.reset();
    if (start > end) {
        measure.getSegment(start, len, &mTrimmedSkPath, true);
        if (end > 0) {
            measure.getSegment(0, end, &mTrimmedSkPath, true);
        }
    } else {
        measure.getSegment(start, end, &mTrimmedSkPath, true);
    }
    mTrimDirty = false;
}

REQUIRE_COMPATIBLE_LAYOUT(FullPath::Properties);