Remove SkRefPtr
Review URL: https://codereview.appspot.com/7030059
git-svn-id: http://skia.googlecode.com/svn/trunk@7021 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/pdf/SkPDFDevice.cpp b/src/pdf/SkPDFDevice.cpp
index 0de011c..7f189aa 100644
--- a/src/pdf/SkPDFDevice.cpp
+++ b/src/pdf/SkPDFDevice.cpp
@@ -1006,8 +1006,7 @@
fResourceDict = SkNEW(SkPDFDict);
if (fGraphicStateResources.count()) {
- SkRefPtr<SkPDFDict> extGState = new SkPDFDict();
- extGState->unref(); // SkRefPtr and new both took a reference.
+ SkAutoTUnref<SkPDFDict> extGState(new SkPDFDict());
for (int i = 0; i < fGraphicStateResources.count(); i++) {
SkString nameString("G");
nameString.appendS32(i);
@@ -1019,8 +1018,7 @@
}
if (fXObjectResources.count()) {
- SkRefPtr<SkPDFDict> xObjects = new SkPDFDict();
- xObjects->unref(); // SkRefPtr and new both took a reference.
+ SkAutoTUnref<SkPDFDict> xObjects(new SkPDFDict());
for (int i = 0; i < fXObjectResources.count(); i++) {
SkString nameString("X");
nameString.appendS32(i);
@@ -1032,8 +1030,7 @@
}
if (fFontResources.count()) {
- SkRefPtr<SkPDFDict> fonts = new SkPDFDict();
- fonts->unref(); // SkRefPtr and new both took a reference.
+ SkAutoTUnref<SkPDFDict> fonts(new SkPDFDict());
for (int i = 0; i < fFontResources.count(); i++) {
SkString nameString("F");
nameString.appendS32(i);
@@ -1044,8 +1041,7 @@
}
if (fShaderResources.count()) {
- SkRefPtr<SkPDFDict> patterns = new SkPDFDict();
- patterns->unref(); // SkRefPtr and new both took a reference.
+ SkAutoTUnref<SkPDFDict> patterns(new SkPDFDict());
for (int i = 0; i < fShaderResources.count(); i++) {
SkString nameString("P");
nameString.appendS32(i);
@@ -1058,8 +1054,7 @@
// For compatibility, add all proc sets (only used for output to PS
// devices).
const char procs[][7] = {"PDF", "Text", "ImageB", "ImageC", "ImageI"};
- SkRefPtr<SkPDFArray> procSets = new SkPDFArray();
- procSets->unref(); // SkRefPtr and new both took a reference.
+ SkAutoTUnref<SkPDFArray> procSets(new SkPDFArray());
procSets->reserve(SK_ARRAY_COUNT(procs));
for (size_t i = 0; i < SK_ARRAY_COUNT(procs); i++)
procSets->appendName(procs[i]);
@@ -1266,9 +1261,8 @@
SkPaint stockPaint;
this->drawPaint(draw, stockPaint);
SkAutoTUnref<SkPDFFormXObject> maskFormXObject(createFormXObjectFromDevice());
- SkRefPtr<SkPDFGraphicState> sMaskGS =
- SkPDFGraphicState::GetSMaskGraphicState(maskFormXObject, invertClip);
- sMaskGS->unref(); // SkRefPtr and getSMaskGraphicState both took a ref.
+ SkAutoTUnref<SkPDFGraphicState> sMaskGS(
+ SkPDFGraphicState::GetSMaskGraphicState(maskFormXObject, invertClip));
// Draw the xobject with the clip as a mask.
ScopedContentEntry content(this, &fExistingClipStack, fExistingClipRegion,
@@ -1283,8 +1277,7 @@
fXObjectResources.push(xobject);
xobject->ref();
- sMaskGS = SkPDFGraphicState::GetNoSMaskGraphicState();
- sMaskGS->unref(); // SkRefPtr and getSMaskGraphicState both took a ref.
+ sMaskGS.reset(SkPDFGraphicState::GetNoSMaskGraphicState());
SkPDFUtils::ApplyGraphicState(addGraphicStateResource(sMaskGS.get()),
&content.entry()->fContent);
}
@@ -1421,27 +1414,25 @@
return;
}
- SkRefPtr<SkPDFGraphicState> sMaskGS;
+ SkAutoTUnref<SkPDFGraphicState> sMaskGS;
if (xfermode == SkXfermode::kSrcIn_Mode ||
xfermode == SkXfermode::kSrcOut_Mode) {
- sMaskGS = SkPDFGraphicState::GetSMaskGraphicState(
- dst, xfermode == SkXfermode::kSrcOut_Mode);
+ sMaskGS.reset(SkPDFGraphicState::GetSMaskGraphicState(
+ dst, xfermode == SkXfermode::kSrcOut_Mode));
fXObjectResources.push(srcFormXObject.get());
srcFormXObject.get()->ref();
} else {
- sMaskGS = SkPDFGraphicState::GetSMaskGraphicState(
- srcFormXObject.get(), xfermode == SkXfermode::kDstOut_Mode);
+ sMaskGS.reset(SkPDFGraphicState::GetSMaskGraphicState(
+ srcFormXObject.get(), xfermode == SkXfermode::kDstOut_Mode));
// dst already added to fXObjectResources in drawFormXObjectWithClip.
}
- sMaskGS->unref(); // SkRefPtr and getSMaskGraphicState both took a ref.
SkPDFUtils::ApplyGraphicState(addGraphicStateResource(sMaskGS.get()),
&inClipContentEntry.entry()->fContent);
SkPDFUtils::DrawFormXObject(fXObjectResources.count() - 1,
&inClipContentEntry.entry()->fContent);
- sMaskGS = SkPDFGraphicState::GetNoSMaskGraphicState();
- sMaskGS->unref(); // SkRefPtr and getSMaskGraphicState both took a ref.
+ sMaskGS.reset(SkPDFGraphicState::GetNoSMaskGraphicState());
SkPDFUtils::ApplyGraphicState(addGraphicStateResource(sMaskGS.get()),
&inClipContentEntry.entry()->fContent);
}
@@ -1474,7 +1465,7 @@
entry->fShaderIndex = -1;
// PDF treats a shader as a color, so we only set one or the other.
- SkRefPtr<SkPDFObject> pdfShader;
+ SkAutoTUnref<SkPDFObject> pdfShader;
const SkShader* shader = paint.getShader();
SkColor color = paint.getColor();
if (shader) {
@@ -1494,8 +1485,7 @@
fInitialTransform.mapRect(&boundsTemp);
boundsTemp.roundOut(&bounds);
- pdfShader = SkPDFShader::GetPDFShader(*shader, transform, bounds);
- SkSafeUnref(pdfShader.get()); // getShader and SkRefPtr both took a ref
+ pdfShader.reset(SkPDFShader::GetPDFShader(*shader, transform, bounds));
if (pdfShader.get()) {
// pdfShader has been canonicalized so we can directly compare
@@ -1504,7 +1494,7 @@
if (resourceIndex < 0) {
resourceIndex = fShaderResources.count();
fShaderResources.push(pdfShader.get());
- pdfShader->ref();
+ pdfShader.get()->ref();
}
entry->fShaderIndex = resourceIndex;
} else {
@@ -1523,15 +1513,16 @@
}
}
- SkRefPtr<SkPDFGraphicState> newGraphicState;
+ SkAutoTUnref<SkPDFGraphicState> newGraphicState;
if (color == paint.getColor()) {
- newGraphicState = SkPDFGraphicState::GetGraphicStateForPaint(paint);
+ newGraphicState.reset(
+ SkPDFGraphicState::GetGraphicStateForPaint(paint));
} else {
SkPaint newPaint = paint;
newPaint.setColor(color);
- newGraphicState = SkPDFGraphicState::GetGraphicStateForPaint(newPaint);
+ newGraphicState.reset(
+ SkPDFGraphicState::GetGraphicStateForPaint(newPaint));
}
- newGraphicState->unref(); // getGraphicState and SkRefPtr both took a ref.
int resourceIndex = addGraphicStateResource(newGraphicState.get());
entry->fGraphicStateIndex = resourceIndex;
@@ -1572,13 +1563,12 @@
}
int SkPDFDevice::getFontResourceIndex(SkTypeface* typeface, uint16_t glyphID) {
- SkRefPtr<SkPDFFont> newFont = SkPDFFont::GetFontResource(typeface, glyphID);
- newFont->unref(); // getFontResource and SkRefPtr both took a ref.
+ SkAutoTUnref<SkPDFFont> newFont(SkPDFFont::GetFontResource(typeface, glyphID));
int resourceIndex = fFontResources.find(newFont.get());
if (resourceIndex < 0) {
resourceIndex = fFontResources.count();
fFontResources.push(newFont.get());
- newFont->ref();
+ newFont.get()->ref();
}
return resourceIndex;
}