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

Unified Diff: src/pdf/SkPDFShader.cpp

Issue 1829303002: move setshader to sk_sp (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 9 months 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
Index: src/pdf/SkPDFShader.cpp
diff --git a/src/pdf/SkPDFShader.cpp b/src/pdf/SkPDFShader.cpp
index a9f275422637f6476e967dc128e4ccafe9dd8740..289e05c44859f785b4e52c2e1e20bd41309f2354 100644
--- a/src/pdf/SkPDFShader.cpp
+++ b/src/pdf/SkPDFShader.cpp
@@ -434,7 +434,7 @@ public:
uint32_t fPixelGeneration;
SkShader::TileMode fImageTileModes[2];
- State(const SkShader& shader, const SkMatrix& canvasTransform,
+ State(SkShader* shader, const SkMatrix& canvasTransform,
tomhudson 2016/03/25 14:28:07 Changing PDF to raw pointers instead of sk_sp<>?
reed1 2016/03/25 15:04:31 There are lots of changes we could do internally t
tomhudson 2016/03/25 15:39:50 Acknowledged.
const SkIRect& bbox, SkScalar rasterScale);
bool operator==(const State& b) const;
@@ -515,7 +515,7 @@ static SkPDFObject* get_pdf_shader_by_state(
// static
SkPDFObject* SkPDFShader::GetPDFShader(SkPDFDocument* doc,
SkScalar dpi,
- const SkShader& shader,
+ SkShader* shader,
const SkMatrix& matrix,
const SkIRect& surfaceBBox,
SkScalar rasterScale) {
@@ -1089,7 +1089,7 @@ bool SkPDFShader::State::operator==(const SkPDFShader::State& b) const {
return true;
}
-SkPDFShader::State::State(const SkShader& shader, const SkMatrix& canvasTransform,
+SkPDFShader::State::State(SkShader* shader, const SkMatrix& canvasTransform,
const SkIRect& bbox, SkScalar rasterScale)
: fCanvasTransform(canvasTransform),
fBBox(bbox),
@@ -1097,14 +1097,14 @@ SkPDFShader::State::State(const SkShader& shader, const SkMatrix& canvasTransfor
fInfo.fColorCount = 0;
fInfo.fColors = nullptr;
fInfo.fColorOffsets = nullptr;
- fShaderTransform = shader.getLocalMatrix();
+ fShaderTransform = shader->getLocalMatrix();
fImageTileModes[0] = fImageTileModes[1] = SkShader::kClamp_TileMode;
- fType = shader.asAGradient(&fInfo);
+ fType = shader->asAGradient(&fInfo);
if (fType == SkShader::kNone_GradientType) {
SkMatrix matrix;
- if (shader.isABitmap(&fImage, &matrix, fImageTileModes)) {
+ if (shader->isABitmap(&fImage, &matrix, fImageTileModes)) {
SkASSERT(matrix.isIdentity());
} else {
// Generic fallback for unsupported shaders:
@@ -1137,7 +1137,7 @@ SkPDFShader::State::State(const SkShader& shader, const SkMatrix& canvasTransfor
fImage.eraseColor(SK_ColorTRANSPARENT);
SkPaint p;
- p.setShader(const_cast<SkShader*>(&shader));
+ p.setShader(sk_ref_sp(shader));
SkCanvas canvas(fImage);
canvas.scale(scale.width(), scale.height());
@@ -1150,7 +1150,7 @@ SkPDFShader::State::State(const SkShader& shader, const SkMatrix& canvasTransfor
fPixelGeneration = fImage.getGenerationID();
} else {
AllocateGradientInfoStorage();
- shader.asAGradient(&fInfo);
+ shader->asAGradient(&fInfo);
}
}

Powered by Google App Engine
This is Rietveld 408576698