diff options
Diffstat (limited to 'src/core/SkRasterPipelineBlitter.cpp')
-rw-r--r-- | src/core/SkRasterPipelineBlitter.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/core/SkRasterPipelineBlitter.cpp b/src/core/SkRasterPipelineBlitter.cpp index 5de16b1a09..b0ee301a28 100644 --- a/src/core/SkRasterPipelineBlitter.cpp +++ b/src/core/SkRasterPipelineBlitter.cpp @@ -42,6 +42,7 @@ public: void blitH (int x, int y, int w) override; void blitAntiH (int x, int y, const SkAlpha[], const int16_t[]) override; void blitAntiH2(int x, int y, U8CPU a0, U8CPU a1) override; + void blitAntiV2(int x, int y, U8CPU a0, U8CPU a1) override; void blitMask (const SkMask&, const SkIRect& clip) override; void blitRect (int x, int y, int width, int height) override; void blitV (int x, int y, int height, SkAlpha alpha) override; @@ -381,6 +382,19 @@ void SkRasterPipelineBlitter::blitAntiH2(int x, int y, U8CPU a0, U8CPU a1) { this->blitMask(mask, clip); } +void SkRasterPipelineBlitter::blitAntiV2(int x, int y, U8CPU a0, U8CPU a1) { + SkIRect clip = {x,y, x+1,y+2}; + uint8_t coverage[] = { (uint8_t)a0, (uint8_t)a1 }; + + SkMask mask; + mask.fImage = coverage; + mask.fBounds = clip; + mask.fRowBytes = 1; + mask.fFormat = SkMask::kA8_Format; + + this->blitMask(mask, clip); +} + void SkRasterPipelineBlitter::blitV(int x, int y, int height, SkAlpha alpha) { SkIRect clip = {x,y, x+1,y+height}; |