Chromium Code Reviews| Index: src/core/SkXfermode.cpp |
| diff --git a/src/core/SkXfermode.cpp b/src/core/SkXfermode.cpp |
| index 2cfdcfa4b30e4f15293068885b79e8dc3ae03e75..3107e1929475b659e63ca044b46bb5021f5db82a 100644 |
| --- a/src/core/SkXfermode.cpp |
| +++ b/src/core/SkXfermode.cpp |
| @@ -402,7 +402,10 @@ static SkPMColor difference_modeproc(SkPMColor src, SkPMColor dst) { |
| // kExclusion_Mode |
| static inline int exclusion_byte(int sc, int dc, int sa, int da) { |
|
djsollen
2013/07/10 15:36:47
we should update the signature to remove 'sa' and
|
| // this equations is wacky, wait for SVG to confirm it |
| - int r = sc * da + dc * sa - 2 * sc * dc + sc * (255 - da) + dc * (255 - sa); |
| + //int r = sc * da + dc * sa - 2 * sc * dc + sc * (255 - da) + dc * (255 - sa); |
| + |
| + // The above equation can be simplified as follows |
| + int r = 255*(sc + dc) - 2 * sc * dc; |
| return clamp_div255round(r); |
| } |
| static SkPMColor exclusion_modeproc(SkPMColor src, SkPMColor dst) { |