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); |
} |
} |