Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(152)

Unified Diff: src/core/SkPictureData.cpp

Issue 719113004: Followup: remove unnecessary SkTRefArray (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: count Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/core/SkPictureData.h ('k') | src/core/SkPictureFlat.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/core/SkPictureData.cpp
diff --git a/src/core/SkPictureData.cpp b/src/core/SkPictureData.cpp
index 29e4415cfa831192a069766574e22391c24fb308..2dff8eb1d763791325c082b62a2787a221f4ea9a 100644
--- a/src/core/SkPictureData.cpp
+++ b/src/core/SkPictureData.cpp
@@ -30,8 +30,8 @@ SkPictureData::SkPictureData(const SkPictInfo& info)
void SkPictureData::initForPlayback() const {
// ensure that the paths bounds are pre-computed
- for (int i = 0; i < fPaths->count(); i++) {
- (*fPaths)[i].updateBoundsCache();
+ for (int i = 0; i < fPaths.count(); i++) {
+ fPaths[i].updateBoundsCache();
}
}
@@ -46,9 +46,9 @@ SkPictureData::SkPictureData(const SkPictureRecord& record,
fContentInfo.set(record.fContentInfo);
- fBitmaps = SkTRefArray<SkBitmap>::Create(record.fBitmaps.begin(), record.fBitmaps.count());
- fPaints = SkTRefArray<SkPaint> ::Create(record.fPaints .begin(), record.fPaints .count());
- fPaths = SkTRefArray<SkPath> ::Create(record.fPaths .begin(), record.fPaths .count());
+ fBitmaps = record.fBitmaps;
+ fPaints = record.fPaints;
+ fPaths = record.fPaths;
this->initForPlayback();
@@ -74,9 +74,6 @@ SkPictureData::SkPictureData(const SkPictureRecord& record,
}
void SkPictureData::init() {
- fBitmaps = NULL;
- fPaints = NULL;
- fPaths = NULL;
fPictureRefs = NULL;
fPictureCount = 0;
fTextBlobRefs = NULL;
@@ -88,10 +85,6 @@ void SkPictureData::init() {
SkPictureData::~SkPictureData() {
SkSafeUnref(fOpData);
- SkSafeUnref(fBitmaps);
- SkSafeUnref(fPaints);
- SkSafeUnref(fPaths);
-
for (int i = 0; i < fPictureCount; i++) {
fPictureRefs[i]->unref();
}
@@ -106,7 +99,7 @@ SkPictureData::~SkPictureData() {
}
bool SkPictureData::containsBitmaps() const {
- if (fBitmaps && fBitmaps->count() > 0) {
+ if (fBitmaps.count() > 0) {
return true;
}
for (int i = 0; i < fPictureCount; ++i) {
@@ -194,25 +187,25 @@ void SkPictureData::WriteTypefaces(SkWStream* stream, const SkRefCntSet& rec) {
void SkPictureData::flattenToBuffer(SkWriteBuffer& buffer) const {
int i, n;
- if ((n = SafeCount(fBitmaps)) > 0) {
+ if ((n = fBitmaps.count()) > 0) {
write_tag_size(buffer, SK_PICT_BITMAP_BUFFER_TAG, n);
for (i = 0; i < n; i++) {
- buffer.writeBitmap((*fBitmaps)[i]);
+ buffer.writeBitmap(fBitmaps[i]);
}
}
- if ((n = SafeCount(fPaints)) > 0) {
+ if ((n = fPaints.count()) > 0) {
write_tag_size(buffer, SK_PICT_PAINT_BUFFER_TAG, n);
for (i = 0; i < n; i++) {
- buffer.writePaint((*fPaints)[i]);
+ buffer.writePaint(fPaints[i]);
}
}
- if ((n = SafeCount(fPaths)) > 0) {
+ if ((n = fPaths.count()) > 0) {
write_tag_size(buffer, SK_PICT_PATH_BUFFER_TAG, n);
buffer.writeInt(n);
for (int i = 0; i < n; i++) {
- buffer.writePath((*fPaths)[i]);
+ buffer.writePath(fPaths[i]);
}
}
@@ -423,9 +416,9 @@ bool SkPictureData::parseBufferTag(SkReadBuffer& buffer,
switch (tag) {
case SK_PICT_BITMAP_BUFFER_TAG: {
const int count = SkToInt(size);
- fBitmaps = SkTRefArray<SkBitmap>::Create(size);
+ fBitmaps.reset(count);
for (int i = 0; i < count; ++i) {
- SkBitmap* bm = &fBitmaps->writableAt(i);
+ SkBitmap* bm = &fBitmaps[i];
if (buffer.readBitmap(bm)) {
bm->setImmutable();
} else {
@@ -435,17 +428,17 @@ bool SkPictureData::parseBufferTag(SkReadBuffer& buffer,
} break;
case SK_PICT_PAINT_BUFFER_TAG: {
const int count = SkToInt(size);
- fPaints = SkTRefArray<SkPaint>::Create(size);
+ fPaints.reset(count);
for (int i = 0; i < count; ++i) {
- buffer.readPaint(&fPaints->writableAt(i));
+ buffer.readPaint(&fPaints[i]);
}
} break;
case SK_PICT_PATH_BUFFER_TAG:
if (size > 0) {
const int count = buffer.readInt();
- fPaths = SkTRefArray<SkPath>::Create(count);
+ fPaths.reset(count);
for (int i = 0; i < count; i++) {
- buffer.readPath(&fPaths->writableAt(i));
+ buffer.readPath(&fPaths[i]);
}
} break;
case SK_PICT_TEXTBLOB_BUFFER_TAG: {
« no previous file with comments | « src/core/SkPictureData.h ('k') | src/core/SkPictureFlat.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698