Index: include/core/SkDevice.h |
diff --git a/include/core/SkDevice.h b/include/core/SkDevice.h |
index 899c5d37540c5f6cf059229f8bbffcb8ec7aa384..b78dfbff90df347fa7afc790bd8dd6928ef08872 100644 |
--- a/include/core/SkDevice.h |
+++ b/include/core/SkDevice.h |
@@ -116,6 +116,7 @@ public: |
*/ |
const SkBitmap& accessBitmap(bool changePixels); |
+#ifdef SK_SUPPORT_LEGACY_WRITEPIXELSCONFIG |
/** |
* DEPRECATED: This will be made protected once WebKit stops using it. |
* Instead use Canvas' writePixels method. |
@@ -132,7 +133,10 @@ public: |
* not kARGB_8888_Config then this parameter is ignored. |
*/ |
virtual void writePixels(const SkBitmap& bitmap, int x, int y, |
- SkCanvas::Config8888 config8888 = SkCanvas::kNative_Premul_Config8888) = 0; |
+ SkCanvas::Config8888 config8888 = SkCanvas::kNative_Premul_Config8888); |
+#endif |
+ |
+ bool writePixelsDirect(const SkImageInfo&, const void*, size_t rowBytes, int x, int y); |
/** |
* Return the device's associated gpu render target, or NULL. |
@@ -388,6 +392,14 @@ protected: |
virtual const void* peekPixels(SkImageInfo*, size_t* rowBytes); |
/** |
+ * The caller is responsible for "pre-clipping" the src. The impl can assume that the src |
+ * image at the specified x,y offset will fit within the device's bounds. |
+ * |
+ * This is explicitly asserted in writePixelsDirect(), the public way to call this. |
+ */ |
+ virtual bool onWritePixels(const SkImageInfo&, const void*, size_t, int x, int y); |
+ |
+ /** |
* Leaky properties are those which the device should be applying but it isn't. |
* These properties will be applied by the draw, when and as it can. |
* If the device does handle a property, that property should be set to the identity value |