diff options
author | 2014-02-17 15:28:00 +0000 | |
---|---|---|
committer | 2014-02-17 15:28:00 +0000 | |
commit | 19fafef9784fe7c644540ffd0ee9f6da1914a038 (patch) | |
tree | 65e421e62fa16ba2701692484e1708867100c6cf /src/core | |
parent | 403f8d7a052269583175e945689824838e5e0ef4 (diff) |
change PictureRecord (and its private subclasses) to take size instead of device
BUG=skia:
R=mtklein@google.com, scroggo@google.com, reed@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/168983003
git-svn-id: http://skia.googlecode.com/svn/trunk@13477 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/SkBBoxHierarchyRecord.cpp | 8 | ||||
-rw-r--r-- | src/core/SkBBoxHierarchyRecord.h | 3 | ||||
-rw-r--r-- | src/core/SkBBoxRecord.h | 3 | ||||
-rw-r--r-- | src/core/SkPicture.cpp | 10 | ||||
-rw-r--r-- | src/core/SkPictureRecord.cpp | 4 | ||||
-rw-r--r-- | src/core/SkPictureRecord.h | 2 |
6 files changed, 13 insertions, 17 deletions
diff --git a/src/core/SkBBoxHierarchyRecord.cpp b/src/core/SkBBoxHierarchyRecord.cpp index 8e5861bb21..b120b1da87 100644 --- a/src/core/SkBBoxHierarchyRecord.cpp +++ b/src/core/SkBBoxHierarchyRecord.cpp @@ -9,10 +9,10 @@ #include "SkBBoxHierarchyRecord.h" #include "SkPictureStateTree.h" -SkBBoxHierarchyRecord::SkBBoxHierarchyRecord(uint32_t recordFlags, - SkBBoxHierarchy* h, - SkBaseDevice* device) - : INHERITED(recordFlags, device) { +SkBBoxHierarchyRecord::SkBBoxHierarchyRecord(const SkISize& size, + uint32_t recordFlags, + SkBBoxHierarchy* h) + : INHERITED(size, recordFlags) { fStateTree = SkNEW(SkPictureStateTree); fBoundingHierarchy = h; fBoundingHierarchy->ref(); diff --git a/src/core/SkBBoxHierarchyRecord.h b/src/core/SkBBoxHierarchyRecord.h index 7284ab04ec..f264334807 100644 --- a/src/core/SkBBoxHierarchyRecord.h +++ b/src/core/SkBBoxHierarchyRecord.h @@ -19,8 +19,7 @@ class SkBBoxHierarchyRecord : public SkBBoxRecord, public SkBBoxHierarchyClient { public: /** This will take a ref of h */ - SkBBoxHierarchyRecord(uint32_t recordFlags, SkBBoxHierarchy* h, - SkBaseDevice*); + SkBBoxHierarchyRecord(const SkISize& size, uint32_t recordFlags, SkBBoxHierarchy* h); virtual void handleBBox(const SkRect& bounds) SK_OVERRIDE; diff --git a/src/core/SkBBoxRecord.h b/src/core/SkBBoxRecord.h index fa8b282247..2a34320148 100644 --- a/src/core/SkBBoxRecord.h +++ b/src/core/SkBBoxRecord.h @@ -19,8 +19,7 @@ class SkBBoxRecord : public SkPictureRecord { public: - SkBBoxRecord(uint32_t recordFlags, SkBaseDevice* device) - : INHERITED(recordFlags, device) { } + SkBBoxRecord(const SkISize& size, uint32_t recordFlags) : INHERITED(size, recordFlags) {} virtual ~SkBBoxRecord() { } /** diff --git a/src/core/SkPicture.cpp b/src/core/SkPicture.cpp index 7762939c5d..b9b2442ecd 100644 --- a/src/core/SkPicture.cpp +++ b/src/core/SkPicture.cpp @@ -193,21 +193,19 @@ SkCanvas* SkPicture::beginRecording(int width, int height, SkSafeSetNull(fRecord); - SkBitmap bm; - bm.setConfig(SkBitmap::kNo_Config, width, height); - SkAutoTUnref<SkBaseDevice> dev(SkNEW_ARGS(SkBitmapDevice, (bm))); - // 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, (recordingFlags, tree, dev)); + fRecord = SkNEW_ARGS(SkBBoxHierarchyRecord, (size, recordingFlags, tree)); tree->unref(); } else { - fRecord = SkNEW_ARGS(SkPictureRecord, (recordingFlags, dev)); + fRecord = SkNEW_ARGS(SkPictureRecord, (size, recordingFlags)); } fRecord->beginRecording(); diff --git a/src/core/SkPictureRecord.cpp b/src/core/SkPictureRecord.cpp index babf1e47f1..5890ac4bf0 100644 --- a/src/core/SkPictureRecord.cpp +++ b/src/core/SkPictureRecord.cpp @@ -28,8 +28,8 @@ static const uint32_t kSaveSize = 2 * kUInt32Size; static const uint32_t kSaveLayerNoBoundsSize = 4 * kUInt32Size; static const uint32_t kSaveLayerWithBoundsSize = 4 * kUInt32Size + sizeof(SkRect); -SkPictureRecord::SkPictureRecord(uint32_t flags, SkBaseDevice* device) - : INHERITED(device) +SkPictureRecord::SkPictureRecord(const SkISize& dimensions, uint32_t flags) + : INHERITED(dimensions.width(), dimensions.height()) , fBoundingHierarchy(NULL) , fStateTree(NULL) , fFlattenableHeap(HEAP_BLOCK_SIZE) diff --git a/src/core/SkPictureRecord.h b/src/core/SkPictureRecord.h index 5e37f81c6b..c000f113ba 100644 --- a/src/core/SkPictureRecord.h +++ b/src/core/SkPictureRecord.h @@ -33,7 +33,7 @@ class SkBBoxHierarchy; class SkPictureRecord : public SkCanvas { public: - SkPictureRecord(uint32_t recordFlags, SkBaseDevice*); + SkPictureRecord(const SkISize& dimensions, uint32_t recordFlags); virtual ~SkPictureRecord(); virtual int save(SaveFlags) SK_OVERRIDE; |