Index: src/core/SkBigPicture.cpp |
diff --git a/src/core/SkBigPicture.cpp b/src/core/SkBigPicture.cpp |
deleted file mode 100644 |
index 6609586ca2a4907849e63988436cd1366f159f18..0000000000000000000000000000000000000000 |
--- a/src/core/SkBigPicture.cpp |
+++ /dev/null |
@@ -1,98 +0,0 @@ |
-/* |
- * Copyright 2015 Google Inc. |
- * |
- * Use of this source code is governed by a BSD-style license that can be |
- * found in the LICENSE file. |
- */ |
- |
-#include "SkBBoxHierarchy.h" |
-#include "SkBigPicture.h" |
-#include "SkPictureCommon.h" |
-#include "SkRecord.h" |
-#include "SkRecordDraw.h" |
- |
-SkBigPicture::SkBigPicture(const SkRect& cull, |
- SkRecord* record, |
- SnapshotArray* drawablePicts, |
- SkBBoxHierarchy* bbh, |
- AccelData* accelData, |
- size_t approxBytesUsedBySubPictures) |
- : fCullRect(cull) |
- , fApproxBytesUsedBySubPictures(approxBytesUsedBySubPictures) |
- , 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. |
-{} |
- |
-void SkBigPicture::playback(SkCanvas* canvas, AbortCallback* callback) const { |
- SkASSERT(canvas); |
- |
- // If the query contains the whole picture, don't bother with the BBH. |
- SkRect clipBounds = { 0, 0, 0, 0 }; |
- (void)canvas->getClipBounds(&clipBounds); |
- const bool useBBH = !clipBounds.contains(this->cullRect()); |
- |
- SkRecordDraw(*fRecord, |
- canvas, |
- this->drawablePicts(), |
- nullptr, |
- this->drawableCount(), |
- useBBH ? fBBH.get() : nullptr, |
- callback); |
-} |
- |
-void SkBigPicture::partialPlayback(SkCanvas* canvas, |
- unsigned start, |
- unsigned stop, |
- const SkMatrix& initialCTM) const { |
- SkASSERT(canvas); |
- SkRecordPartialDraw(*fRecord, |
- canvas, |
- this->drawablePicts(), |
- this->drawableCount(), |
- start, |
- stop, |
- initialCTM); |
-} |
- |
-const SkBigPicture::Analysis& SkBigPicture::analysis() const { |
- auto create = [&]() { return SkNEW_ARGS(Analysis, (*fRecord)); }; |
- return *fAnalysis.get(create); |
-} |
- |
-SkRect SkBigPicture::cullRect() const { return fCullRect; } |
-bool SkBigPicture::hasText() const { return this->analysis().fHasText; } |
-bool SkBigPicture::willPlayBackBitmaps() const { return this->analysis().fWillPlaybackBitmaps; } |
-int SkBigPicture::numSlowPaths() const { return this->analysis().fNumSlowPathsAndDashEffects; } |
-int SkBigPicture::approximateOpCount() const { return fRecord->count(); } |
-size_t SkBigPicture::approximateBytesUsed() const { |
- size_t bytes = sizeof(*this) + fRecord->bytesUsed() + fApproxBytesUsedBySubPictures; |
- if (fBBH) { bytes += fBBH->bytesUsed(); } |
- return bytes; |
-} |
- |
-int SkBigPicture::drawableCount() const { |
- return fDrawablePicts ? fDrawablePicts->count() : 0; |
-} |
- |
-SkPicture const* const* SkBigPicture::drawablePicts() const { |
- return fDrawablePicts ? fDrawablePicts->begin() : nullptr; |
-} |
- |
-SkBigPicture::Analysis::Analysis(const SkRecord& record) { |
- SkTextHunter text; |
- SkBitmapHunter bitmap; |
- SkPathCounter path; |
- |
- bool hasText = false, hasBitmap = false; |
- for (unsigned i = 0; i < record.count(); i++) { |
- hasText = hasText || record.visit<bool>(i, text); |
- hasBitmap = hasBitmap || record.visit<bool>(i, bitmap); |
- record.visit<void>(i, path); |
- } |
- |
- fHasText = hasText; |
- fWillPlaybackBitmaps = hasBitmap; |
- fNumSlowPathsAndDashEffects = SkTMin<int>(path.fNumSlowPathsAndDashEffects, 255); |
-} |