Index: include/core/SkShader.h |
diff --git a/include/core/SkShader.h b/include/core/SkShader.h |
index 297091d54206fe64b427f5760c70bb8a07086d81..36256f6f09e4e73cc9d7e22d31982e6b1aecfc07 100644 |
--- a/include/core/SkShader.h |
+++ b/include/core/SkShader.h |
@@ -323,7 +323,7 @@ public: |
* the colorfilter. |
*/ |
SkShader* newWithColorFilter(SkColorFilter*) const; |
- |
+ |
////////////////////////////////////////////////////////////////////////// |
// Factory methods for stock shaders |
@@ -338,6 +338,18 @@ public: |
*/ |
static SkShader* CreateColorShader(SkColor); |
+ static SkShader* CreateComposeShader(SkShader* dst, SkShader* src, SkXfermode::Mode); |
+ |
+ /** |
+ * Create a new compose shader, given shaders dst, src, and a combining xfermode mode. |
+ * The xfermode is called with the output of the two shaders, and its output is returned. |
+ * If xfer is null, SkXfermode::kSrcOver_Mode is assumed. |
+ * |
+ * Ownership of the shaders, and the xfermode if not null, is not transfered, so the caller |
+ * is still responsible for managing its reference-count for those objects. |
+ */ |
+ static SkShader* CreateComposeShader(SkShader* dst, SkShader* src, SkXfermode* xfer); |
+ |
/** Call this to create a new shader that will draw with the specified bitmap. |
* |
* If the bitmap cannot be used (e.g. has no pixels, or its dimensions |