revert arith change, until I can rebaseline all the images (and check chrome)
authormike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Sun, 12 Aug 2012 19:08:41 +0000 (19:08 +0000)
committermike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Sun, 12 Aug 2012 19:08:41 +0000 (19:08 +0000)
git-svn-id: http://skia.googlecode.com/svn/trunk@5044 2bbb7eff-a529-9590-31e7-b0007b416f81

src/effects/SkArithmeticMode.cpp

index cd3c31d..c999ce0 100644 (file)
@@ -107,7 +107,14 @@ void SkArithmeticMode_scalar::xfer32(SkPMColor dst[], const SkPMColor src[],
                 b = blend(b, SkGetPackedB32(sc), scale);
             }
 
-            dst[i] = SkPremultiplyARGBInline(a, r, g, b);
+            // turn the result back into premul
+            if (0xFF != a) {
+                int scale = a + (a >> 7);
+                r = SkAlphaMul(r, scale);
+                g = SkAlphaMul(g, scale);
+                b = SkAlphaMul(b, scale);
+            }
+            dst[i] = SkPackARGB32(a, r, g, b);
         }
     }
 }