From d3e474e20c6f0f24ddb6b2643e92975d60190daa Mon Sep 17 00:00:00 2001 From: mtklein Date: Fri, 27 Jun 2014 12:34:44 -0700 Subject: Deprecate SkPicture::clone(). Chrome will need -DSK_SUPPORT_LEGACY_PICTURE_CLONE. This removes the modes from our tools that use clone(). No bots run these. DM used clone() in a way that we can just share the picture now. I plan to bring back the ability to test multithreaded picture rendering soon. BUG=skia:2378 R=robertphillips@google.com, mtklein@google.com, bsalomon@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/338633011 --- src/core/SkPicturePlayback.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/core/SkPicturePlayback.cpp') diff --git a/src/core/SkPicturePlayback.cpp b/src/core/SkPicturePlayback.cpp index c3f24b95e1..148237a5a8 100644 --- a/src/core/SkPicturePlayback.cpp +++ b/src/core/SkPicturePlayback.cpp @@ -168,6 +168,7 @@ SkPicturePlayback::SkPicturePlayback(const SkPictureRecord& record, #endif } +#ifdef SK_SUPPORT_LEGACY_PICTURE_CLONE SkPicturePlayback::SkPicturePlayback(const SkPicturePlayback& src, SkPictCopyInfo* deepCopyInfo) : fInfo(src.fInfo) { this->init(); @@ -223,6 +224,32 @@ SkPicturePlayback::SkPicturePlayback(const SkPicturePlayback& src, SkPictCopyInf } } } +#else +SkPicturePlayback::SkPicturePlayback(const SkPicturePlayback& src) : fInfo(src.fInfo) { + this->init(); + + fBitmapHeap.reset(SkSafeRef(src.fBitmapHeap.get())); + fPathHeap.reset(SkSafeRef(src.fPathHeap.get())); + + fOpData = SkSafeRef(src.fOpData); + + fBoundingHierarchy = src.fBoundingHierarchy; + fStateTree = src.fStateTree; + fContentInfo.set(src.fContentInfo); + + SkSafeRef(fBoundingHierarchy); + SkSafeRef(fStateTree); + + fBitmaps = SkSafeRef(src.fBitmaps); + fPaints = SkSafeRef(src.fPaints); + + fPictureCount = src.fPictureCount; + fPictureRefs = SkNEW_ARRAY(const SkPicture*, fPictureCount); + for (int i = 0; i < fPictureCount; i++) { + fPictureRefs[i] = SkRef(src.fPictureRefs[i]); + } +} +#endif//SK_SUPPORT_LEGACY_PICTURE_CLONE void SkPicturePlayback::init() { fBitmaps = NULL; -- cgit v1.2.3