aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
authorGravatar scroggo <scroggo@google.com>2015-09-08 06:24:08 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-09-08 06:24:08 -0700
commitff390c9bdd852405d9dc0fd5e384b1f935d8df08 (patch)
tree26ffd320983d84d6fbac5d5a51b73590f7fdc245 /src/core
parent151202990091b69fbe8521d9a51e7310b45e3449 (diff)
Revert of switch to isABitmap, deprecate SK_SUPPORT_LEGACY_SHADERBITMAPTYPE (patchset #3 id:40001 of https://codereview.chromium.org/1311963007/ )
Reason for revert: Broke the Android canary: https://internal.skia.org/builders/crimson-cherry-474438/builds/124 Original issue's description: > switch to isABitmap, deprecate SK_SUPPORT_LEGACY_SHADERBITMAPTYPE > > BUG=skia: > TBR= > > Committed: https://skia.googlesource.com/skia/+/2d126b5c45e65a67a9945afa9294038a8eb3f2c8 TBR=reed@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1309943004
Diffstat (limited to 'src/core')
-rw-r--r--src/core/SkBitmapProcShader.cpp6
-rw-r--r--src/core/SkBitmapProcShader.h3
-rw-r--r--src/core/SkLocalMatrixShader.h9
-rw-r--r--src/core/SkShader.cpp4
4 files changed, 15 insertions, 7 deletions
diff --git a/src/core/SkBitmapProcShader.cpp b/src/core/SkBitmapProcShader.cpp
index 97abbf9675..c3b10184f4 100644
--- a/src/core/SkBitmapProcShader.cpp
+++ b/src/core/SkBitmapProcShader.cpp
@@ -27,7 +27,9 @@ SkBitmapProcShader::SkBitmapProcShader(const SkBitmap& src, TileMode tmx, TileMo
fTileModeY = (uint8_t)tmy;
}
-bool SkBitmapProcShader::onIsABitmap(SkBitmap* texture, SkMatrix* texM, TileMode xy[]) const {
+SkShader::BitmapType SkBitmapProcShader::asABitmap(SkBitmap* texture,
+ SkMatrix* texM,
+ TileMode xy[]) const {
if (texture) {
*texture = fRawBitmap;
}
@@ -38,7 +40,7 @@ bool SkBitmapProcShader::onIsABitmap(SkBitmap* texture, SkMatrix* texM, TileMode
xy[0] = (TileMode)fTileModeX;
xy[1] = (TileMode)fTileModeY;
}
- return true;
+ return kDefault_BitmapType;
}
SkFlattenable* SkBitmapProcShader::CreateProc(SkReadBuffer& buffer) {
diff --git a/src/core/SkBitmapProcShader.h b/src/core/SkBitmapProcShader.h
index 63985c06c5..4215b90efb 100644
--- a/src/core/SkBitmapProcShader.h
+++ b/src/core/SkBitmapProcShader.h
@@ -20,7 +20,9 @@ public:
SkBitmapProcShader(const SkBitmap& src, TileMode tx, TileMode ty,
const SkMatrix* localMatrix = nullptr);
+ // overrides from SkShader
bool isOpaque() const override;
+ BitmapType asABitmap(SkBitmap*, SkMatrix*, TileMode*) const override;
size_t contextSize() const override;
@@ -56,7 +58,6 @@ public:
protected:
void flatten(SkWriteBuffer&) const override;
Context* onCreateContext(const ContextRec&, void* storage) const override;
- bool onIsABitmap(SkBitmap*, SkMatrix*, TileMode*) const override;
SkBitmap fRawBitmap; // experimental for RLE encoding
uint8_t fTileModeX, fTileModeY;
diff --git a/src/core/SkLocalMatrixShader.h b/src/core/SkLocalMatrixShader.h
index a108259461..9c6a526f7b 100644
--- a/src/core/SkLocalMatrixShader.h
+++ b/src/core/SkLocalMatrixShader.h
@@ -23,6 +23,11 @@ public:
return fProxyShader->contextSize();
}
+ virtual BitmapType asABitmap(SkBitmap* bitmap, SkMatrix* matrix,
+ TileMode* mode) const override {
+ return fProxyShader->asABitmap(bitmap, matrix, mode);
+ }
+
GradientType asAGradient(GradientInfo* info) const override {
return fProxyShader->asAGradient(info);
}
@@ -53,10 +58,6 @@ protected:
void flatten(SkWriteBuffer&) const override;
Context* onCreateContext(const ContextRec&, void*) const override;
- bool onIsABitmap(SkBitmap* bitmap, SkMatrix* matrix, TileMode* mode) const override {
- return fProxyShader->isABitmap(bitmap, matrix, mode);
- }
-
private:
SkAutoTUnref<SkShader> fProxyShader;
diff --git a/src/core/SkShader.cpp b/src/core/SkShader.cpp
index 2a1c28e0cf..b3edf47dfd 100644
--- a/src/core/SkShader.cpp
+++ b/src/core/SkShader.cpp
@@ -206,6 +206,10 @@ SkShader::Context::MatrixClass SkShader::Context::ComputeMatrixClass(const SkMat
//////////////////////////////////////////////////////////////////////////////
+SkShader::BitmapType SkShader::asABitmap(SkBitmap*, SkMatrix*, TileMode*) const {
+ return kNone_BitmapType;
+}
+
SkShader::GradientType SkShader::asAGradient(GradientInfo* info) const {
return kNone_GradientType;
}