gfx/skia/patches/archive/radial-gradients.patch

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:8359f19255a9
1 diff --git a/gfx/skia/src/effects/SkGradientShader.cpp b/gfx/skia/src/effects/SkGradientShader.cpp
2 --- a/gfx/skia/src/effects/SkGradientShader.cpp
3 +++ b/gfx/skia/src/effects/SkGradientShader.cpp
4 @@ -1665,17 +1665,20 @@ public:
5 }
6 return kRadial2_GradientType;
7 }
8
9 virtual void shadeSpan(int x, int y, SkPMColor* SK_RESTRICT dstC, int count) SK_OVERRIDE {
10 SkASSERT(count > 0);
11
12 // Zero difference between radii: fill with transparent black.
13 - if (fDiffRadius == 0) {
14 + // TODO: Is removing this actually correct? Two circles with the
15 + // same radius, but different centers doesn't sound like it
16 + // should be cleared
17 + if (fDiffRadius == 0 && fCenter1 == fCenter2) {
18 sk_bzero(dstC, count * sizeof(*dstC));
19 return;
20 }
21 SkMatrix::MapXYProc dstProc = fDstToIndexProc;
22 TileProc proc = fTileProc;
23 const SkPMColor* SK_RESTRICT cache = this->getCache32();
24
25 SkScalar foura = fA * 4;

mercurial