Index: src/core/SkBitmapProcShader.h |
diff --git a/src/core/SkBitmapProcShader.h b/src/core/SkBitmapProcShader.h |
index b7e60f1ca1075e2413e791ced221e1b9de3b3110..7a4ddb45ab6587334a99e6ea1cf03ef8c99b49f8 100644 |
--- a/src/core/SkBitmapProcShader.h |
+++ b/src/core/SkBitmapProcShader.h |
@@ -12,6 +12,7 @@ |
#include "SkShader.h" |
#include "SkBitmapProcState.h" |
+#include "SkSmallAllocator.h" |
class SkBitmapProcShader : public SkShader { |
public: |
@@ -48,4 +49,14 @@ private: |
typedef SkShader INHERITED; |
}; |
+// Commonly used allocator. It currently is only used to allocate up to 2 objects. The total |
+// bytes requested is calculated using one of our large shaders plus the size of an Sk3DBlitter |
+// in SkDraw.cpp |
+typedef SkSmallAllocator<2, sizeof(SkBitmapProcShader) + sizeof(void*) * 2> SkTBlitterAllocator; |
+ |
+// If alloc is non-NULL, it will be used to allocate the returned SkShader, and MUST outlive |
+// the SkShader. |
+SkShader* CreateBitmapShader(const SkBitmap& src, SkShader::TileMode, SkShader::TileMode, |
+ SkTBlitterAllocator* alloc); |
+ |
#endif |