diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/SkPicture.cpp | 67 | ||||
-rw-r--r-- | src/core/SkQuadTreePicture.cpp | 18 | ||||
-rw-r--r-- | src/core/SkQuadTreePicture.h | 50 | ||||
-rw-r--r-- | src/core/SkRTreePicture.cpp | 28 | ||||
-rw-r--r-- | src/core/SkTileGridPicture.cpp | 33 |
5 files changed, 3 insertions, 193 deletions
diff --git a/src/core/SkPicture.cpp b/src/core/SkPicture.cpp index 8bb12543b5..00bcbef275 100644 --- a/src/core/SkPicture.cpp +++ b/src/core/SkPicture.cpp @@ -312,41 +312,6 @@ SkPicture::AccelData::Domain SkPicture::AccelData::GenerateDomain() { /////////////////////////////////////////////////////////////////////////////// -#ifdef SK_SUPPORT_LEGACY_DERIVED_PICTURE_CLASSES - -SkCanvas* SkPicture::beginRecording(int width, int height, - uint32_t recordingFlags) { - if (fPlayback) { - SkDELETE(fPlayback); - fPlayback = NULL; - } - SkSafeUnref(fAccelData); - SkSafeSetNull(fRecord); - fContentInfo.reset(); - - this->needsNewGenID(); - - // Must be set before calling createBBoxHierarchy - fWidth = width; - fHeight = height; - - const SkISize size = SkISize::Make(width, height); - - if (recordingFlags & kOptimizeForClippedPlayback_RecordingFlag) { - SkBBoxHierarchy* tree = this->createBBoxHierarchy(); - SkASSERT(NULL != tree); - fRecord = SkNEW_ARGS(SkBBoxHierarchyRecord, (this, size, recordingFlags, tree)); - tree->unref(); - } else { - fRecord = SkNEW_ARGS(SkPictureRecord, (this, size, recordingFlags)); - } - fRecord->beginRecording(); - - return fRecord; -} - -#endif - SkCanvas* SkPicture::beginRecording(int width, int height, SkBBHFactory* bbhFactory, uint32_t recordingFlags) { @@ -369,10 +334,7 @@ SkCanvas* SkPicture::beginRecording(int width, int height, if (NULL != bbhFactory) { SkAutoTUnref<SkBBoxHierarchy> tree((*bbhFactory)(width, height)); SkASSERT(NULL != tree); - fRecord = SkNEW_ARGS(SkBBoxHierarchyRecord, (this, size, - recordingFlags| - kOptimizeForClippedPlayback_RecordingFlag, - tree.get())); + fRecord = SkNEW_ARGS(SkBBoxHierarchyRecord, (this, size, recordingFlags, tree.get())); } else { fRecord = SkNEW_ARGS(SkPictureRecord, (this, size, recordingFlags)); } @@ -381,29 +343,6 @@ SkCanvas* SkPicture::beginRecording(int width, int height, return fRecord; } - -#ifdef SK_SUPPORT_LEGACY_DERIVED_PICTURE_CLASSES - -SkBBoxHierarchy* SkPicture::createBBoxHierarchy() const { - // TODO: this code is now replicated in SkRTreePicture. Once all external - // clients have been weaned off of kOptimizeForClippedPlayback_RecordingFlag, - // this code can be removed. - - // These values were empirically determined to produce reasonable - // performance in most cases. - static const int kRTreeMinChildren = 6; - static const int kRTreeMaxChildren = 11; - - SkScalar aspectRatio = SkScalarDiv(SkIntToScalar(fWidth), - SkIntToScalar(fHeight)); - bool sortDraws = false; // Do not sort draw calls when bulk loading. - - return SkRTree::Create(kRTreeMinChildren, kRTreeMaxChildren, - aspectRatio, sortDraws); -} - -#endif - SkCanvas* SkPicture::getRecordingCanvas() const { // will be null if we are not recording return fRecord; @@ -428,7 +367,7 @@ const SkPicture::OperationList& SkPicture::OperationList::InvalidList() { } const SkPicture::OperationList& SkPicture::EXPERIMENTAL_getActiveOps(const SkIRect& queryRect) { - this->endRecording(); // TODO: remove eventually + SkASSERT(NULL != fPlayback && NULL == fRecord); if (NULL != fPlayback) { return fPlayback->getActiveOps(queryRect); } @@ -443,7 +382,7 @@ size_t SkPicture::EXPERIMENTAL_curOpID() const { } void SkPicture::draw(SkCanvas* surface, SkDrawPictureCallback* callback) { - this->endRecording(); // TODO: remove eventually + SkASSERT(NULL != fPlayback && NULL == fRecord); if (NULL != fPlayback) { fPlayback->draw(*surface, callback); } diff --git a/src/core/SkQuadTreePicture.cpp b/src/core/SkQuadTreePicture.cpp deleted file mode 100644 index a76899ee29..0000000000 --- a/src/core/SkQuadTreePicture.cpp +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright 2014 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifdef SK_SUPPORT_LEGACY_DERIVED_PICTURE_CLASSES - -#include "SkQuadTreePicture.h" - -#include "SkQuadTree.h" - -SkBBoxHierarchy* SkQuadTreePicture::createBBoxHierarchy() const { - return SkNEW_ARGS(SkQuadTree, (fBounds)); -} - -#endif diff --git a/src/core/SkQuadTreePicture.h b/src/core/SkQuadTreePicture.h deleted file mode 100644 index 5ebbef93cb..0000000000 --- a/src/core/SkQuadTreePicture.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2014 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifndef SkQuadTreePicture_DEFINED -#define SkQuadTreePicture_DEFINED - -#ifdef SK_SUPPORT_LEGACY_PICTURE_HEADERS -#include "SkBBHFactory.h" -#endif - -#ifdef SK_SUPPORT_LEGACY_DERIVED_PICTURE_CLASSES - -#include "SkPicture.h" -#include "SkRect.h" - -/** - * Subclass of SkPicture that creates an SkQuadGrid - * structure. The quad tree has generally faster - * tree creation time, but slightly slower query times, as compared to - * R-Tree, so some cases may be faster and some cases slower. - */ -class SK_API SkQuadTreePicture : public SkPicture { -public: - SkQuadTreePicture(const SkIRect& bounds) : fBounds(bounds) {} - virtual SkBBoxHierarchy* createBBoxHierarchy() const SK_OVERRIDE; -private: - SkIRect fBounds; - - typedef SkPicture INHERITED; -}; - -class SkQuadTreePictureFactory : public SkPictureFactory { -public: - SkQuadTreePictureFactory() {} - - virtual SkPicture* create(int width, int height) SK_OVERRIDE { - return SkNEW_ARGS(SkQuadTreePicture, (SkIRect::MakeWH(width, height))); - } - -private: - typedef SkPictureFactory INHERITED; -}; - -#endif - -#endif diff --git a/src/core/SkRTreePicture.cpp b/src/core/SkRTreePicture.cpp deleted file mode 100644 index a9118aeb5f..0000000000 --- a/src/core/SkRTreePicture.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2014 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifdef SK_SUPPORT_LEGACY_DERIVED_PICTURE_CLASSES - -#include "SkRTreePicture.h" - -#include "SkRTree.h" - -SkBBoxHierarchy* SkRTreePicture::createBBoxHierarchy() const { - // These values were empirically determined to produce reasonable - // performance in most cases. - static const int kRTreeMinChildren = 6; - static const int kRTreeMaxChildren = 11; - - SkScalar aspectRatio = SkScalarDiv(SkIntToScalar(fWidth), - SkIntToScalar(fHeight)); - bool sortDraws = false; // Do not sort draw calls when bulk loading. - - return SkRTree::Create(kRTreeMinChildren, kRTreeMaxChildren, - aspectRatio, sortDraws); -} - -#endif diff --git a/src/core/SkTileGridPicture.cpp b/src/core/SkTileGridPicture.cpp deleted file mode 100644 index 4a43f8a063..0000000000 --- a/src/core/SkTileGridPicture.cpp +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2012 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifdef SK_SUPPORT_LEGACY_DERIVED_PICTURE_CLASSES - -#include "SkTileGridPicture.h" - -#include "SkPictureStateTree.h" -#include "SkTileGrid.h" - -SkTileGridPicture::SkTileGridPicture(int width, int height, - const SkTileGridFactory::TileGridInfo& info) { - SkASSERT(info.fMargin.width() >= 0); - SkASSERT(info.fMargin.height() >= 0); - fInfo = info; - // Note: SkIRects are non-inclusive of the right() column and bottom() row. - // For example, an SkIRect at 0,0 with a size of (1,1) will only have - // content at pixel (0,0) and will report left=0 and right=1, hence the - // "-1"s below. - fXTileCount = (width + info.fTileInterval.width() - 1) / info.fTileInterval.width(); - fYTileCount = (height + info.fTileInterval.height() - 1) / info.fTileInterval.height(); -} - -SkBBoxHierarchy* SkTileGridPicture::createBBoxHierarchy() const { - return SkNEW_ARGS(SkTileGrid, (fXTileCount, fYTileCount, fInfo, - SkTileGridNextDatum<SkPictureStateTree::Draw>)); -} - -#endif |