diff options
author | mtklein <mtklein@google.com> | 2014-12-01 10:56:05 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-12-01 10:56:05 -0800 |
commit | 6e78293ee896020104ffc4c23b565073e9a49893 (patch) | |
tree | ddbfc5b976c891adf2e318008043a76e9c4a7f8d /src/effects/SkDashPathEffect.cpp | |
parent | 52c293547b973f7fb5de3c83f5062b07d759ab88 (diff) |
Revert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of https://codereview.chromium.org/769953002/)
Reason for revert:
Breaks canary builds. Will reland after the Chromium change lands.
Original issue's description:
> Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
>
> This was needed for pictures before v33, and we're now requiring v35+.
>
> Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/52c293547b973f7fb5de3c83f5062b07d759ab88
TBR=reed@google.com,mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/768183002
Diffstat (limited to 'src/effects/SkDashPathEffect.cpp')
-rw-r--r-- | src/effects/SkDashPathEffect.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/effects/SkDashPathEffect.cpp b/src/effects/SkDashPathEffect.cpp index f866ea074e..f31d883c8e 100644 --- a/src/effects/SkDashPathEffect.cpp +++ b/src/effects/SkDashPathEffect.cpp @@ -369,3 +369,28 @@ SkFlattenable* SkDashPathEffect::CreateProc(SkReadBuffer& buffer) { } return NULL; } + +#ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING +SkDashPathEffect::SkDashPathEffect(SkReadBuffer& buffer) + : INHERITED(buffer) + , fPhase(0) + , fInitialDashLength(0) + , fInitialDashIndex(0) + , fIntervalLength(0) { + fPhase = buffer.readScalar(); + fCount = buffer.getArrayCount(); + size_t allocSize = sizeof(SkScalar) * fCount; + if (buffer.validateAvailable(allocSize)) { + fIntervals = (SkScalar*)sk_malloc_throw(allocSize); + buffer.readScalarArray(fIntervals, fCount); + } else { + fIntervals = NULL; + } + + // set the internal data members, fPhase should have been between 0 and intervalLength + // when written to buffer so no need to adjust it + SkDashPath::CalcDashParameters(fPhase, fIntervals, fCount, + &fInitialDashLength, &fInitialDashIndex, &fIntervalLength); +} +#endif + |