Index: src/core/SkBlitter.h |
diff --git a/src/core/SkBlitter.h b/src/core/SkBlitter.h |
index 9447bf1b51c4b8f241668ece4b615c8731bac3b4..51d60a45761904191979411c88e8b70ecfc57971 100644 |
--- a/src/core/SkBlitter.h |
+++ b/src/core/SkBlitter.h |
@@ -1,4 +1,3 @@ |
- |
/* |
* Copyright 2006 The Android Open Source Project |
* |
@@ -6,10 +5,15 @@ |
* found in the LICENSE file. |
*/ |
- |
#ifndef SkBlitter_DEFINED |
#define SkBlitter_DEFINED |
+#ifdef SK_SUPPORT_LEGACY_BLITANTIH2V2 |
+ #define SK_BLITANTIH2V2_VIRTUAL |
+#else |
+ #define SK_BLITANTIH2V2_VIRTUAL virtual |
+#endif |
+ |
#include "SkBitmap.h" |
#include "SkBitmapProcShader.h" |
#include "SkMask.h" |
@@ -55,6 +59,35 @@ public: |
*/ |
virtual const SkBitmap* justAnOpaqueColor(uint32_t* value); |
+ // (x, y), (x + 1, y) |
+ SK_BLITANTIH2V2_VIRTUAL void blitAntiH2(int x, int y, U8CPU a0, U8CPU a1) { |
+ int16_t runs[3]; |
+ uint8_t aa[2]; |
+ |
+ runs[0] = 1; |
+ runs[1] = 1; |
+ runs[2] = 0; |
+ aa[0] = SkToU8(a0); |
+ aa[1] = SkToU8(a1); |
+ this->blitAntiH(x, y, aa, runs); |
+ } |
+ |
+ // (x, y), (x, y + 1) |
+ SK_BLITANTIH2V2_VIRTUAL void blitAntiV2(int x, int y, U8CPU a0, U8CPU a1) { |
+ int16_t runs[2]; |
+ uint8_t aa[1]; |
+ |
+ runs[0] = 1; |
+ runs[1] = 0; |
+ aa[0] = SkToU8(a0); |
+ this->blitAntiH(x, y, aa, runs); |
+ // reset in case the clipping blitter modified runs |
+ runs[0] = 1; |
+ runs[1] = 0; |
+ aa[0] = SkToU8(a1); |
+ this->blitAntiH(x, y + 1, aa, runs); |
+ } |
+ |
/** |
* Special method just to identify the null blitter, which is returned |
* from Choose() if the request cannot be fulfilled. Default impl |