aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/pdf/SkPDFShader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pdf/SkPDFShader.cpp')
-rw-r--r--src/pdf/SkPDFShader.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/pdf/SkPDFShader.cpp b/src/pdf/SkPDFShader.cpp
index 7fb1f899f1..eaac84921c 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,
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) {
@@ -1091,7 +1091,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),
@@ -1099,14 +1099,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:
@@ -1139,7 +1139,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());
@@ -1152,7 +1152,7 @@ SkPDFShader::State::State(const SkShader& shader, const SkMatrix& canvasTransfor
fPixelGeneration = fImage.getGenerationID();
} else {
AllocateGradientInfoStorage();
- shader.asAGradient(&fInfo);
+ shader->asAGradient(&fInfo);
}
}