Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Unified Diff: include/core/SkShader.h

Issue 1287263005: change asABitmap to isABitmap on shader (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: include/core/SkShader.h
diff --git a/include/core/SkShader.h b/include/core/SkShader.h
index fae3ba35b5bce7773812c4792a768ccfbf6cb222..47fdc9492f9c645642d29569e10c2ff9c7abe1e2 100644
--- a/include/core/SkShader.h
+++ b/include/core/SkShader.h
@@ -223,6 +223,11 @@ public:
return (flags & kHasSpan16_Flag) != 0;
}
+#ifdef SK_SUPPORT_LEGACY_SHADERBITMAPTYPE
+public:
+#else
+protected:
+#endif
/**
Gives method bitmap should be read to implement a shader.
Also determines number and interpretation of "extra" parameters returned
@@ -231,30 +236,6 @@ public:
enum BitmapType {
kNone_BitmapType, //<! Shader is not represented as a bitmap
kDefault_BitmapType,//<! Access bitmap using local coords transformed
- // by matrix. No extras
- kRadial_BitmapType, //<! Access bitmap by transforming local coordinates
- // by the matrix and taking the distance of result
- // from (0,0) as bitmap column. Bitmap is 1 pixel
- // tall. No extras
- kSweep_BitmapType, //<! Access bitmap by transforming local coordinates
- // by the matrix and taking the angle of result
- // to (0,0) as bitmap x coord, where angle = 0 is
- // bitmap left edge of bitmap = 2pi is the
- // right edge. Bitmap is 1 pixel tall. No extras
- kTwoPointConical_BitmapType,
- //<! Matrix transforms to space where (0,0) is
- // the center of the starting circle. The second
- // circle will be centered (x, 0) where x may be
- // 0.
- // Three extra parameters are returned:
- // 0: x-offset of second circle center
- // to first.
- // 1: radius of first circle
- // 2: the second radius minus the first radius
- kLinear_BitmapType, //<! Access bitmap using local coords transformed
- // by matrix. No extras
-
- kLast_BitmapType = kLinear_BitmapType
};
/** Optional methods for shaders that can pretend to be a bitmap/texture
to play along with opengl. Default just returns kNone_BitmapType and
@@ -274,6 +255,14 @@ public:
virtual BitmapType asABitmap(SkBitmap* outTexture, SkMatrix* outMatrix,
TileMode xy[2]) const;
+public:
+ bool isABitmap(SkBitmap* bitmap, SkMatrix* matrix, TileMode xy[2]) const {
+ return this->asABitmap(bitmap, matrix, xy) == kDefault_BitmapType;
+ }
+ bool isABitmap() const {
+ return this->isABitmap(nullptr, nullptr, nullptr);
+ }
+
/**
* If the shader subclass can be represented as a gradient, asAGradient
* returns the matching GradientType enum (or kNone_GradientType if it

Powered by Google App Engine
This is Rietveld 408576698