Chromium Code Reviews| Index: src/core/SkBlitter.cpp |
| diff --git a/src/core/SkBlitter.cpp b/src/core/SkBlitter.cpp |
| index db9fcda93b19fc3b364859b0727de89e3b55888e..b57bd43ad0a4ebe7bd123a03f4afadda235e7f3e 100644 |
| --- a/src/core/SkBlitter.cpp |
| +++ b/src/core/SkBlitter.cpp |
| @@ -71,17 +71,22 @@ void SkBlitter::blitRect(int x, int y, int width, int height) { |
| } |
| } |
| -/// Default implementation doesn't check for any easy optimizations |
| -/// such as alpha == 0 or 255; also uses blitV(), which some subclasses |
| +/// Default implementation doesn't check for easy optimizations |
| +/// such as alpha == 255; also uses blitV(), which some subclasses |
| /// may not support. |
| void SkBlitter::blitAntiRect(int x, int y, int width, int height, |
| SkAlpha leftAlpha, SkAlpha rightAlpha) { |
| - this->blitV(x++, y, height, leftAlpha); |
| + if (leftAlpha > 0) { // we may send in x = -1 with leftAlpha = 0 |
|
reed1
2016/08/18 20:31:00
Can this land ahead of time, or does it only make
liyuqian
2016/08/22 15:30:48
I think it only make sens w/ my CL as previous alg
|
| + this->blitV(x, y, height, leftAlpha); |
| + } |
| + x++; |
| if (width > 0) { |
| this->blitRect(x, y, width, height); |
| x += width; |
| } |
| - this->blitV(x, y, height, rightAlpha); |
| + if (rightAlpha > 0) { |
| + this->blitV(x, y, height, rightAlpha); |
| + } |
| } |
| ////////////////////////////////////////////////////////////////////////////// |