diff options
author | 2013-07-01 13:10:10 +0000 | |
---|---|---|
committer | 2013-07-01 13:10:10 +0000 | |
commit | c111ce22e7eb19dde747ec38f25a1ab68f74dbd3 (patch) | |
tree | bd8719909b53d02688582c0fac537bf2f9b6097e /src/gpu/GrAARectRenderer.cpp | |
parent | 6c4c3a55541320a7f1d0319a65f60252dbc737eb (diff) |
Partial revert of r9812 & put rest of r9812 behind a compile flag
https://codereview.chromium.org/18317003/
git-svn-id: http://skia.googlecode.com/svn/trunk@9832 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/gpu/GrAARectRenderer.cpp')
-rw-r--r-- | src/gpu/GrAARectRenderer.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/gpu/GrAARectRenderer.cpp b/src/gpu/GrAARectRenderer.cpp index 5c24f6e79e..d6a0f33ef4 100644 --- a/src/gpu/GrAARectRenderer.cpp +++ b/src/gpu/GrAARectRenderer.cpp @@ -472,7 +472,11 @@ void GrAARectRenderer::geometryFillAARect(GrGpu* gpu, if (useVertexCoverage) { innerColor = GrColorPackRGBA(scale, scale, scale, scale); } else { - innerColor = SkAlphaMulQ(target->getDrawState().getColor(), scale); + if (0xff == scale) { + innerColor = target->getDrawState().getColor(); + } else { + innerColor = SkAlphaMulQ(target->getDrawState().getColor(), scale); + } } verts += 4 * vsize; @@ -724,6 +728,7 @@ void GrAARectRenderer::geometryStrokeAARect(GrGpu* gpu, GrPoint* fan2Pos = reinterpret_cast<GrPoint*>(verts + 8 * vsize); GrPoint* fan3Pos = reinterpret_cast<GrPoint*>(verts + 12 * vsize); +#ifndef SK_IGNORE_THIN_STROKED_RECT_FIX // TODO: this only really works if the X & Y margins are the same all around // the rect SkScalar inset = SkMinScalar(SK_Scalar1, devOutside.fRight - devInside.fRight); @@ -731,6 +736,9 @@ void GrAARectRenderer::geometryStrokeAARect(GrGpu* gpu, inset = SkMinScalar(inset, devInside.fTop - devOutside.fTop); inset = SK_ScalarHalf * SkMinScalar(inset, devOutside.fBottom - devInside.fBottom); SkASSERT(inset >= 0); +#else + SkScalar inset = SK_ScalarHalf; +#endif // outermost set_inset_fan(fan0Pos, vsize, devOutside, -SK_ScalarHalf, -SK_ScalarHalf); @@ -759,7 +767,11 @@ void GrAARectRenderer::geometryStrokeAARect(GrGpu* gpu, if (useVertexCoverage) { innerColor = GrColorPackRGBA(scale, scale, scale, scale); } else { - innerColor = SkAlphaMulQ(target->getDrawState().getColor(), scale); + if (0xff == scale) { + innerColor = target->getDrawState().getColor(); + } else { + innerColor = SkAlphaMulQ(target->getDrawState().getColor(), scale); + } } verts += 4 * vsize; |