Index: src/pdf/SkPDFShader.cpp |
diff --git a/src/pdf/SkPDFShader.cpp b/src/pdf/SkPDFShader.cpp |
index cf4188123a8fd28d9a243fb1b2ee9998160ae212..c2f0bc4677120e600f6982c1ed83749d6d7a35a1 100644 |
--- a/src/pdf/SkPDFShader.cpp |
+++ b/src/pdf/SkPDFShader.cpp |
@@ -290,58 +290,6 @@ static SkString radialCode(const SkShader::GradientInfo& info, |
return function; |
} |
-/* The math here is all based on the description in Two_Point_Radial_Gradient, |
- with one simplification, the coordinate space has been scaled so that |
- Dr = 1. This means we don't need to scale the entire equation by 1/Dr^2. |
- */ |
-static SkString twoPointRadialCode(const SkShader::GradientInfo& info, |
- const SkMatrix& perspectiveRemover) { |
- SkScalar dx = info.fPoint[0].fX - info.fPoint[1].fX; |
- SkScalar dy = info.fPoint[0].fY - info.fPoint[1].fY; |
- SkScalar sr = info.fRadius[0]; |
- SkScalar a = SkScalarMul(dx, dx) + SkScalarMul(dy, dy) - SK_Scalar1; |
- bool posRoot = info.fRadius[1] > info.fRadius[0]; |
- |
- // We start with a stack of (x y), copy it and then consume one copy in |
- // order to calculate b and the other to calculate c. |
- SkString function("{"); |
- |
- function.append(apply_perspective_to_coordinates(perspectiveRemover)); |
- |
- function.append("2 copy "); |
- |
- // Calculate -b and b^2. |
- function.appendScalar(dy); |
- function.append(" mul exch "); |
- function.appendScalar(dx); |
- function.append(" mul add "); |
- function.appendScalar(sr); |
- function.append(" sub 2 mul neg dup dup mul\n"); |
- |
- // Calculate c |
- function.append("4 2 roll dup mul exch dup mul add "); |
- function.appendScalar(SkScalarMul(sr, sr)); |
- function.append(" sub\n"); |
- |
- // Calculate the determinate |
- function.appendScalar(SkScalarMul(SkIntToScalar(4), a)); |
- function.append(" mul sub abs sqrt\n"); |
- |
- // And then the final value of t. |
- if (posRoot) { |
- function.append("sub "); |
- } else { |
- function.append("add "); |
- } |
- function.appendScalar(SkScalarMul(SkIntToScalar(2), a)); |
- function.append(" div\n"); |
- |
- tileModeCode(info.fTileMode, &function); |
- gradientFunctionCode(info, &function); |
- function.append("}"); |
- return function; |
-} |
- |
/* Conical gradient shader, based on the Canvas spec for radial gradients |
See: http://www.w3.org/TR/2dcontext/#dom-context-2d-createradialgradient |
*/ |
@@ -782,17 +730,6 @@ SkPDFFunctionShader* SkPDFFunctionShader::Create( |
transformPoints[1].fX += info->fRadius[0]; |
codeFunction = &radialCode; |
break; |
- case SkShader::kRadial2_GradientType: { |
- // Bail out if the radii are the same. |
- if (info->fRadius[0] == info->fRadius[1]) { |
- return NULL; |
- } |
- transformPoints[1] = transformPoints[0]; |
- SkScalar dr = info->fRadius[1] - info->fRadius[0]; |
- transformPoints[1].fX += dr; |
- codeFunction = &twoPointRadialCode; |
- break; |
- } |
case SkShader::kConical_GradientType: { |
transformPoints[1] = transformPoints[0]; |
transformPoints[1].fX += SK_Scalar1; |
@@ -852,7 +789,7 @@ SkPDFFunctionShader* SkPDFFunctionShader::Create( |
// state.fInfo |
// in translating from x, y coordinates to the t parameter. So, we have |
// to transform the points and radii according to the calculated matrix. |
- if (state.fType == SkShader::kRadial2_GradientType) { |
+ if (state.fType == SkShader::kConical_GradientType) { |
SkShader::GradientInfo twoPointRadialInfo = *info; |
SkMatrix inverseMapperMatrix; |
if (!mapperMatrix.invert(&inverseMapperMatrix)) { |
@@ -1143,7 +1080,6 @@ bool SkPDFShader::State::operator==(const SkPDFShader::State& b) const { |
return false; |
} |
break; |
- case SkShader::kRadial2_GradientType: |
case SkShader::kConical_GradientType: |
if (fInfo.fPoint[1] != b.fInfo.fPoint[1] || |
fInfo.fRadius[0] != b.fInfo.fRadius[0] || |