revert match for newAlpha to exactly match old math, so we don't drive
authorreed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Mon, 19 Sep 2011 21:21:45 +0000 (21:21 +0000)
committerreed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Mon, 19 Sep 2011 21:21:45 +0000 (21:21 +0000)
dumprendertree crazy

git-svn-id: http://skia.googlecode.com/svn/trunk@2287 2bbb7eff-a529-9590-31e7-b0007b416f81

src/core/SkDraw.cpp

index 45f7bb2..e5027d4 100644 (file)
@@ -862,7 +862,15 @@ bool SkDrawTreatAsHairline(const SkPaint& paint, const SkMatrix& matrix,
     SkScalar len1 = fast_len(dst[1]);
     if (len0 <= SK_Scalar1 && len1 <= SK_Scalar1) {
         SkScalar modulate = SkScalarAve(len0, len1);
+#if 0
         *newAlpha = SkToU8(SkScalarRoundToInt(modulate * paint.getAlpha()));
+#else
+        // this is the old technique, which we preserve for now so we don't
+        // change previous results (testing)
+        // the new way seems fine, its just (a tiny bit) different
+        int scale = (int)SkScalarMul(modulate, 256);
+        *newAlpha = paint.getAlpha() * scale >> 8;
+#endif
         return true;
     }
     return false;