Index: src/core/SkBlitter.h |
diff --git a/src/core/SkBlitter.h b/src/core/SkBlitter.h |
index a3a2196122ee1eebe4df43d7357764c47506a9ee..0f1006fcfb70909e640f47b735771dea1b796e5a 100644 |
--- a/src/core/SkBlitter.h |
+++ b/src/core/SkBlitter.h |
@@ -33,6 +33,7 @@ public: |
/// zero-terminated run-length encoding of spans of constant alpha values. |
virtual void blitAntiH(int x, int y, const SkAlpha antialias[], |
const int16_t runs[]); |
+ |
/// Blit a vertical run of pixels with a constant alpha value. |
virtual void blitV(int x, int y, int height, SkAlpha alpha); |
/// Blit a solid rectangle one or more pixels wide. |
@@ -67,6 +68,14 @@ public: |
virtual bool resetShaderContext(const SkShader::ContextRec&); |
virtual SkShader::Context* getShaderContext() const; |
+ /** |
+ * Special methods for blitters that can blit more than one row at a time. |
+ * This function returns the number of rows that this blitter could optimally |
+ * process at a time. It is still required to support blitting one scanline |
+ * at a time. |
+ */ |
+ virtual int requestRowsPreserved() const { return 1; } |
+ |
///@name non-virtual helpers |
void blitMaskRegion(const SkMask& mask, const SkRegion& clip); |
void blitRectRegion(const SkIRect& rect, const SkRegion& clip); |