Chromium Code Reviews| 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); |
| } |
| } |