aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
authorGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-02-17 15:28:00 +0000
committerGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-02-17 15:28:00 +0000
commit19fafef9784fe7c644540ffd0ee9f6da1914a038 (patch)
tree65e421e62fa16ba2701692484e1708867100c6cf /src/core
parent403f8d7a052269583175e945689824838e5e0ef4 (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.cpp8
-rw-r--r--src/core/SkBBoxHierarchyRecord.h3
-rw-r--r--src/core/SkBBoxRecord.h3
-rw-r--r--src/core/SkPicture.cpp10
-rw-r--r--src/core/SkPictureRecord.cpp4
-rw-r--r--src/core/SkPictureRecord.h2
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;