| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "SkTwoPointConicalGradient_gpu.h" | 8 #include "SkTwoPointConicalGradient_gpu.h" |
| 9 | 9 |
| 10 #include "SkTwoPointConicalGradient.h" | 10 #include "SkTwoPointConicalGradient.h" |
| (...skipping 1287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1298 return nullptr; | 1298 return nullptr; |
| 1299 } | 1299 } |
| 1300 if (args.fMatrix) { | 1300 if (args.fMatrix) { |
| 1301 SkMatrix inv; | 1301 SkMatrix inv; |
| 1302 if (!args.fMatrix->invert(&inv)) { | 1302 if (!args.fMatrix->invert(&inv)) { |
| 1303 return nullptr; | 1303 return nullptr; |
| 1304 } | 1304 } |
| 1305 matrix.postConcat(inv); | 1305 matrix.postConcat(inv); |
| 1306 } | 1306 } |
| 1307 | 1307 |
| 1308 GrGradientEffect::CreateArgs newArgs(args.fContext, args.fShader, &matrix, a
rgs.fTileMode); | 1308 GrGradientEffect::CreateArgs newArgs(args.fContext, args.fShader, &matrix, a
rgs.fTileMode, |
| 1309 std::move(args.fColorSpaceXform), args.
fGammaCorrect); |
| 1309 | 1310 |
| 1310 if (shader.getStartRadius() < kErrorTol) { | 1311 if (shader.getStartRadius() < kErrorTol) { |
| 1311 SkScalar focalX; | 1312 SkScalar focalX; |
| 1312 ConicalType type = set_matrix_focal_conical(shader, &matrix, &focalX); | 1313 ConicalType type = set_matrix_focal_conical(shader, &matrix, &focalX); |
| 1313 if (type == kInside_ConicalType) { | 1314 if (type == kInside_ConicalType) { |
| 1314 return FocalInside2PtConicalEffect::Make(newArgs, focalX); | 1315 return FocalInside2PtConicalEffect::Make(newArgs, focalX); |
| 1315 } else if(type == kEdge_ConicalType) { | 1316 } else if(type == kEdge_ConicalType) { |
| 1316 set_matrix_edge_conical(shader, &matrix); | 1317 set_matrix_edge_conical(shader, &matrix); |
| 1317 return Edge2PtConicalEffect::Make(newArgs); | 1318 return Edge2PtConicalEffect::Make(newArgs); |
| 1318 } else { | 1319 } else { |
| 1319 return FocalOutside2PtConicalEffect::Make(newArgs, focalX); | 1320 return FocalOutside2PtConicalEffect::Make(newArgs, focalX); |
| 1320 } | 1321 } |
| 1321 } | 1322 } |
| 1322 | 1323 |
| 1323 CircleConicalInfo info; | 1324 CircleConicalInfo info; |
| 1324 ConicalType type = set_matrix_circle_conical(shader, &matrix, &info); | 1325 ConicalType type = set_matrix_circle_conical(shader, &matrix, &info); |
| 1325 | 1326 |
| 1326 if (type == kInside_ConicalType) { | 1327 if (type == kInside_ConicalType) { |
| 1327 return CircleInside2PtConicalEffect::Make(newArgs, info); | 1328 return CircleInside2PtConicalEffect::Make(newArgs, info); |
| 1328 } else if (type == kEdge_ConicalType) { | 1329 } else if (type == kEdge_ConicalType) { |
| 1329 set_matrix_edge_conical(shader, &matrix); | 1330 set_matrix_edge_conical(shader, &matrix); |
| 1330 return Edge2PtConicalEffect::Make(newArgs); | 1331 return Edge2PtConicalEffect::Make(newArgs); |
| 1331 } else { | 1332 } else { |
| 1332 return CircleOutside2PtConicalEffect::Make(newArgs, info); | 1333 return CircleOutside2PtConicalEffect::Make(newArgs, info); |
| 1333 } | 1334 } |
| 1334 } | 1335 } |
| 1335 | 1336 |
| 1336 #endif | 1337 #endif |
| OLD | NEW |