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

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/gfx/skia/patches/archive/radial-gradients.patch	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,25 @@
     1.4 +diff --git a/gfx/skia/src/effects/SkGradientShader.cpp b/gfx/skia/src/effects/SkGradientShader.cpp
     1.5 +--- a/gfx/skia/src/effects/SkGradientShader.cpp
     1.6 ++++ b/gfx/skia/src/effects/SkGradientShader.cpp
     1.7 +@@ -1665,17 +1665,20 @@ public:
     1.8 +         }
     1.9 +         return kRadial2_GradientType;
    1.10 +     }
    1.11 + 
    1.12 +     virtual void shadeSpan(int x, int y, SkPMColor* SK_RESTRICT dstC, int count) SK_OVERRIDE {
    1.13 +         SkASSERT(count > 0);
    1.14 + 
    1.15 +         // Zero difference between radii:  fill with transparent black.
    1.16 +-        if (fDiffRadius == 0) {
    1.17 ++        // TODO: Is removing this actually correct? Two circles with the 
    1.18 ++        // same radius, but different centers doesn't sound like it
    1.19 ++        // should be cleared
    1.20 ++        if (fDiffRadius == 0 && fCenter1 == fCenter2) {
    1.21 +           sk_bzero(dstC, count * sizeof(*dstC));
    1.22 +           return;
    1.23 +         }
    1.24 +         SkMatrix::MapXYProc dstProc = fDstToIndexProc;
    1.25 +         TileProc            proc = fTileProc;
    1.26 +         const SkPMColor* SK_RESTRICT cache = this->getCache32();
    1.27 + 
    1.28 +         SkScalar foura = fA * 4;

mercurial