diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/SkPicture.cpp | 19 | ||||
-rw-r--r-- | src/core/SkPictureRecorder.cpp | 27 |
2 files changed, 22 insertions, 24 deletions
diff --git a/src/core/SkPicture.cpp b/src/core/SkPicture.cpp index 619be8b3ca..c014879354 100644 --- a/src/core/SkPicture.cpp +++ b/src/core/SkPicture.cpp @@ -241,10 +241,6 @@ SkPicture::~SkPicture() { } } -void SkPicture::EXPERIMENTAL_addAccelData(const SkPicture::AccelData* data) const { - fAccelData.reset(SkRef(data)); -} - const SkPicture::AccelData* SkPicture::EXPERIMENTAL_getAccelData( SkPicture::AccelData::Key key) const { if (fAccelData.get() && fAccelData->getKey() == key) { @@ -452,13 +448,18 @@ bool SkPicture::hasText() const { return fAnalysis.fHasText; } bool SkPicture::willPlayBackBitmaps() const { return fAnalysis.fWillPlaybackBitmaps; } int SkPicture::approximateOpCount() const { return fRecord->count(); } -SkPicture::SkPicture(const SkRect& cullRect, SkRecord* record, SnapshotArray* drawablePicts, - SkBBoxHierarchy* bbh, size_t approxBytesUsedBySubPictures) +SkPicture::SkPicture(const SkRect& cullRect, + SkRecord* record, + SnapshotArray* drawablePicts, + SkBBoxHierarchy* bbh, + AccelData* accelData, + size_t approxBytesUsedBySubPictures) : fUniqueID(0) , fCullRect(cullRect) - , fRecord(record) // For performance, we take ownership of the caller's ref. - , fBBH(bbh) // Ditto. - , fDrawablePicts(drawablePicts) // take ownership + , fRecord(record) // Take ownership of caller's ref. + , fDrawablePicts(drawablePicts) // Take ownership. + , fBBH(bbh) // Take ownership of caller's ref. + , fAccelData(accelData) // Take ownership of caller's ref. , fApproxBytesUsedBySubPictures(approxBytesUsedBySubPictures) , fAnalysis(*fRecord) {} diff --git a/src/core/SkPictureRecorder.cpp b/src/core/SkPictureRecorder.cpp index 6639bfcc85..282e2c22dd 100644 --- a/src/core/SkPictureRecorder.cpp +++ b/src/core/SkPictureRecorder.cpp @@ -77,14 +77,12 @@ SkPicture* SkPictureRecorder::endRecordingAsPicture() { for (int i = 0; pictList && i < pictList->count(); i++) { subPictureBytes += SkPictureUtils::ApproximateBytesUsed(pictList->begin()[i]); } - SkPicture* pict = SkNEW_ARGS(SkPicture, - (fCullRect, fRecord.detach(), pictList, fBBH.detach(), subPictureBytes)); - - if (saveLayerData) { - pict->EXPERIMENTAL_addAccelData(saveLayerData); - } - - return pict; + return SkNEW_ARGS(SkPicture, (fCullRect, + fRecord.detach(), + pictList, + fBBH.detach(), + saveLayerData.detach(), + subPictureBytes)); } void SkPictureRecorder::partialReplay(SkCanvas* canvas) const { @@ -161,13 +159,12 @@ protected: } // SkPicture will take ownership of a ref on both fRecord and fBBH. // We're not willing to give up our ownership, so we must ref them for SkPicture. - SkPicture* pict = SkNEW_ARGS(SkPicture, - (fBounds, SkRef(fRecord.get()), pictList, SkSafeRef(fBBH.get()), subPictureBytes)); - - if (saveLayerData) { - pict->EXPERIMENTAL_addAccelData(saveLayerData); - } - return pict; + return SkNEW_ARGS(SkPicture, (fBounds, + SkRef(fRecord.get()), + pictList, + SkSafeRef(fBBH.get()), + saveLayerData.detach(), + subPictureBytes)); } }; |