Make bicubic FP factories return const FPs

TBR=egdaniel@google.com

Review URL: https://codereview.chromium.org/1413403008
This commit is contained in:
bsalomon 2015-11-05 09:35:01 -08:00 committed by Commit bot
parent a4d3797c3b
commit 8515377d8f
3 changed files with 11 additions and 11 deletions

View File

@ -400,7 +400,7 @@ const GrFragmentProcessor* SkBitmapProcShader::asFragmentProcessor(GrContext* co
return nullptr;
}
SkAutoTUnref<GrFragmentProcessor> inner;
SkAutoTUnref<const GrFragmentProcessor> inner;
if (doBicubic) {
inner.reset(GrBicubicEffect::Create(texture, matrix, tm));
} else {

View File

@ -32,8 +32,8 @@ public:
/**
* Create a simple filter effect with custom bicubic coefficients and optional domain.
*/
static GrFragmentProcessor* Create(GrTexture* tex, const SkScalar coefficients[16],
const SkRect* domain = nullptr) {
static const GrFragmentProcessor* Create(GrTexture* tex, const SkScalar coefficients[16],
const SkRect* domain = nullptr) {
if (nullptr == domain) {
static const SkShader::TileMode kTileModes[] = { SkShader::kClamp_TileMode,
SkShader::kClamp_TileMode };
@ -48,8 +48,8 @@ public:
/**
* Create a Mitchell filter effect with specified texture matrix and x/y tile modes.
*/
static GrFragmentProcessor* Create(GrTexture* tex, const SkMatrix& matrix,
SkShader::TileMode tileModes[2]) {
static const GrFragmentProcessor* Create(GrTexture* tex, const SkMatrix& matrix,
SkShader::TileMode tileModes[2]) {
return Create(tex, gMitchellCoefficients, matrix, tileModes);
}
@ -57,17 +57,17 @@ public:
* Create a filter effect with custom bicubic coefficients, the texture matrix, and the x/y
* tilemodes.
*/
static GrFragmentProcessor* Create(GrTexture* tex, const SkScalar coefficients[16],
const SkMatrix& matrix,
const SkShader::TileMode tileModes[2]) {
static const GrFragmentProcessor* Create(GrTexture* tex, const SkScalar coefficients[16],
const SkMatrix& matrix,
const SkShader::TileMode tileModes[2]) {
return new GrBicubicEffect(tex, coefficients, matrix, tileModes);
}
/**
* Create a Mitchell filter effect with a texture matrix and a domain.
*/
static GrFragmentProcessor* Create(GrTexture* tex, const SkMatrix& matrix,
const SkRect& domain) {
static const GrFragmentProcessor* Create(GrTexture* tex, const SkMatrix& matrix,
const SkRect& domain) {
return new GrBicubicEffect(tex, gMitchellCoefficients, matrix, domain);
}

View File

@ -118,7 +118,7 @@ const GrFragmentProcessor* SkImageShader::asFragmentProcessor(GrContext* context
return nullptr;
}
SkAutoTUnref<GrFragmentProcessor> inner;
SkAutoTUnref<const GrFragmentProcessor> inner;
if (doBicubic) {
inner.reset(GrBicubicEffect::Create(texture, matrix, tm));
} else {