OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2014 Google Inc. | 3 * Copyright 2014 Google Inc. |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 | 8 |
9 #include "SkTwoPointConicalGradient_gpu.h" | 9 #include "SkTwoPointConicalGradient_gpu.h" |
10 | 10 |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 const char* name() const override { | 72 const char* name() const override { |
73 return "Two-Point Conical Gradient Edge Touching"; | 73 return "Two-Point Conical Gradient Edge Touching"; |
74 } | 74 } |
75 | 75 |
76 // The radial gradient parameters can collapse to a linear (instead of quadr
atic) equation. | 76 // The radial gradient parameters can collapse to a linear (instead of quadr
atic) equation. |
77 SkScalar center() const { return fCenterX1; } | 77 SkScalar center() const { return fCenterX1; } |
78 SkScalar diffRadius() const { return fDiffRadius; } | 78 SkScalar diffRadius() const { return fDiffRadius; } |
79 SkScalar radius() const { return fRadius0; } | 79 SkScalar radius() const { return fRadius0; } |
80 | 80 |
81 private: | 81 private: |
82 GrGLSLFragmentProcessor* onCreateGLInstance() const override; | 82 GrGLSLFragmentProcessor* onCreateGLSLInstance() const override; |
83 | 83 |
84 void onGetGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const ov
erride; | 84 void onGetGLSLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const
override; |
85 | 85 |
86 bool onIsEqual(const GrFragmentProcessor& sBase) const override { | 86 bool onIsEqual(const GrFragmentProcessor& sBase) const override { |
87 const Edge2PtConicalEffect& s = sBase.cast<Edge2PtConicalEffect>(); | 87 const Edge2PtConicalEffect& s = sBase.cast<Edge2PtConicalEffect>(); |
88 return (INHERITED::onIsEqual(sBase) && | 88 return (INHERITED::onIsEqual(sBase) && |
89 this->fCenterX1 == s.fCenterX1 && | 89 this->fCenterX1 == s.fCenterX1 && |
90 this->fRadius0 == s.fRadius0 && | 90 this->fRadius0 == s.fRadius0 && |
91 this->fDiffRadius == s.fDiffRadius); | 91 this->fDiffRadius == s.fDiffRadius); |
92 } | 92 } |
93 | 93 |
94 Edge2PtConicalEffect(GrContext* ctx, | 94 Edge2PtConicalEffect(GrContext* ctx, |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
162 SkScalar fCachedRadius; | 162 SkScalar fCachedRadius; |
163 SkScalar fCachedDiffRadius; | 163 SkScalar fCachedDiffRadius; |
164 | 164 |
165 // @} | 165 // @} |
166 | 166 |
167 private: | 167 private: |
168 typedef GrGLGradientEffect INHERITED; | 168 typedef GrGLGradientEffect INHERITED; |
169 | 169 |
170 }; | 170 }; |
171 | 171 |
172 void Edge2PtConicalEffect::onGetGLProcessorKey(const GrGLSLCaps& caps, | 172 void Edge2PtConicalEffect::onGetGLSLProcessorKey(const GrGLSLCaps& caps, |
173 GrProcessorKeyBuilder* b) const { | 173 GrProcessorKeyBuilder* b) const
{ |
174 GLEdge2PtConicalEffect::GenKey(*this, caps, b); | 174 GLEdge2PtConicalEffect::GenKey(*this, caps, b); |
175 } | 175 } |
176 | 176 |
177 GrGLSLFragmentProcessor* Edge2PtConicalEffect::onCreateGLInstance() const { | 177 GrGLSLFragmentProcessor* Edge2PtConicalEffect::onCreateGLSLInstance() const { |
178 return new GLEdge2PtConicalEffect(*this); | 178 return new GLEdge2PtConicalEffect(*this); |
179 } | 179 } |
180 | 180 |
181 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(Edge2PtConicalEffect); | 181 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(Edge2PtConicalEffect); |
182 | 182 |
183 /* | 183 /* |
184 * All Two point conical gradient test create functions may occasionally create
edge case shaders | 184 * All Two point conical gradient test create functions may occasionally create
edge case shaders |
185 */ | 185 */ |
186 const GrFragmentProcessor* Edge2PtConicalEffect::TestCreate(GrProcessorTestData*
d) { | 186 const GrFragmentProcessor* Edge2PtConicalEffect::TestCreate(GrProcessorTestData*
d) { |
187 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; | 187 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
378 virtual ~FocalOutside2PtConicalEffect() { } | 378 virtual ~FocalOutside2PtConicalEffect() { } |
379 | 379 |
380 const char* name() const override { | 380 const char* name() const override { |
381 return "Two-Point Conical Gradient Focal Outside"; | 381 return "Two-Point Conical Gradient Focal Outside"; |
382 } | 382 } |
383 | 383 |
384 bool isFlipped() const { return fIsFlipped; } | 384 bool isFlipped() const { return fIsFlipped; } |
385 SkScalar focal() const { return fFocalX; } | 385 SkScalar focal() const { return fFocalX; } |
386 | 386 |
387 private: | 387 private: |
388 GrGLSLFragmentProcessor* onCreateGLInstance() const override; | 388 GrGLSLFragmentProcessor* onCreateGLSLInstance() const override; |
389 | 389 |
390 void onGetGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const ov
erride; | 390 void onGetGLSLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const
override; |
391 | 391 |
392 bool onIsEqual(const GrFragmentProcessor& sBase) const override { | 392 bool onIsEqual(const GrFragmentProcessor& sBase) const override { |
393 const FocalOutside2PtConicalEffect& s = sBase.cast<FocalOutside2PtConica
lEffect>(); | 393 const FocalOutside2PtConicalEffect& s = sBase.cast<FocalOutside2PtConica
lEffect>(); |
394 return (INHERITED::onIsEqual(sBase) && | 394 return (INHERITED::onIsEqual(sBase) && |
395 this->fFocalX == s.fFocalX && | 395 this->fFocalX == s.fFocalX && |
396 this->fIsFlipped == s.fIsFlipped); | 396 this->fIsFlipped == s.fIsFlipped); |
397 } | 397 } |
398 | 398 |
399 FocalOutside2PtConicalEffect(GrContext* ctx, | 399 FocalOutside2PtConicalEffect(GrContext* ctx, |
400 const SkTwoPointConicalGradient& shader, | 400 const SkTwoPointConicalGradient& shader, |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
439 | 439 |
440 SkScalar fCachedFocal; | 440 SkScalar fCachedFocal; |
441 | 441 |
442 // @} | 442 // @} |
443 | 443 |
444 private: | 444 private: |
445 typedef GrGLGradientEffect INHERITED; | 445 typedef GrGLGradientEffect INHERITED; |
446 | 446 |
447 }; | 447 }; |
448 | 448 |
449 void FocalOutside2PtConicalEffect::onGetGLProcessorKey(const GrGLSLCaps& caps, | 449 void FocalOutside2PtConicalEffect::onGetGLSLProcessorKey(const GrGLSLCaps& caps, |
450 GrProcessorKeyBuilder* b)
const { | 450 GrProcessorKeyBuilder*
b) const { |
451 GLFocalOutside2PtConicalEffect::GenKey(*this, caps, b); | 451 GLFocalOutside2PtConicalEffect::GenKey(*this, caps, b); |
452 } | 452 } |
453 | 453 |
454 GrGLSLFragmentProcessor* FocalOutside2PtConicalEffect::onCreateGLInstance() cons
t { | 454 GrGLSLFragmentProcessor* FocalOutside2PtConicalEffect::onCreateGLSLInstance() co
nst { |
455 return new GLFocalOutside2PtConicalEffect(*this); | 455 return new GLFocalOutside2PtConicalEffect(*this); |
456 } | 456 } |
457 | 457 |
458 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(FocalOutside2PtConicalEffect); | 458 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(FocalOutside2PtConicalEffect); |
459 | 459 |
460 /* | 460 /* |
461 * All Two point conical gradient test create functions may occasionally create
edge case shaders | 461 * All Two point conical gradient test create functions may occasionally create
edge case shaders |
462 */ | 462 */ |
463 const GrFragmentProcessor* FocalOutside2PtConicalEffect::TestCreate(GrProcessorT
estData* d) { | 463 const GrFragmentProcessor* FocalOutside2PtConicalEffect::TestCreate(GrProcessorT
estData* d) { |
464 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; | 464 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
585 } | 585 } |
586 | 586 |
587 virtual ~FocalInside2PtConicalEffect() {} | 587 virtual ~FocalInside2PtConicalEffect() {} |
588 | 588 |
589 const char* name() const override { | 589 const char* name() const override { |
590 return "Two-Point Conical Gradient Focal Inside"; | 590 return "Two-Point Conical Gradient Focal Inside"; |
591 } | 591 } |
592 | 592 |
593 SkScalar focal() const { return fFocalX; } | 593 SkScalar focal() const { return fFocalX; } |
594 | 594 |
595 typedef GLFocalInside2PtConicalEffect GLProcessor; | 595 typedef GLFocalInside2PtConicalEffect GLSLProcessor; |
596 | 596 |
597 private: | 597 private: |
598 GrGLSLFragmentProcessor* onCreateGLInstance() const override; | 598 GrGLSLFragmentProcessor* onCreateGLSLInstance() const override; |
599 | 599 |
600 void onGetGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const ov
erride; | 600 void onGetGLSLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const
override; |
601 | 601 |
602 bool onIsEqual(const GrFragmentProcessor& sBase) const override { | 602 bool onIsEqual(const GrFragmentProcessor& sBase) const override { |
603 const FocalInside2PtConicalEffect& s = sBase.cast<FocalInside2PtConicalE
ffect>(); | 603 const FocalInside2PtConicalEffect& s = sBase.cast<FocalInside2PtConicalE
ffect>(); |
604 return (INHERITED::onIsEqual(sBase) && | 604 return (INHERITED::onIsEqual(sBase) && |
605 this->fFocalX == s.fFocalX); | 605 this->fFocalX == s.fFocalX); |
606 } | 606 } |
607 | 607 |
608 FocalInside2PtConicalEffect(GrContext* ctx, | 608 FocalInside2PtConicalEffect(GrContext* ctx, |
609 const SkTwoPointConicalGradient& shader, | 609 const SkTwoPointConicalGradient& shader, |
610 const SkMatrix& matrix, | 610 const SkMatrix& matrix, |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
643 | 643 |
644 SkScalar fCachedFocal; | 644 SkScalar fCachedFocal; |
645 | 645 |
646 // @} | 646 // @} |
647 | 647 |
648 private: | 648 private: |
649 typedef GrGLGradientEffect INHERITED; | 649 typedef GrGLGradientEffect INHERITED; |
650 | 650 |
651 }; | 651 }; |
652 | 652 |
653 void FocalInside2PtConicalEffect::onGetGLProcessorKey(const GrGLSLCaps& caps, | 653 void FocalInside2PtConicalEffect::onGetGLSLProcessorKey(const GrGLSLCaps& caps, |
654 GrProcessorKeyBuilder* b)
const { | 654 GrProcessorKeyBuilder* b
) const { |
655 GLFocalInside2PtConicalEffect::GenKey(*this, caps, b); | 655 GLFocalInside2PtConicalEffect::GenKey(*this, caps, b); |
656 } | 656 } |
657 | 657 |
658 GrGLSLFragmentProcessor* FocalInside2PtConicalEffect::onCreateGLInstance() const
{ | 658 GrGLSLFragmentProcessor* FocalInside2PtConicalEffect::onCreateGLSLInstance() con
st { |
659 return new GLFocalInside2PtConicalEffect(*this); | 659 return new GLFocalInside2PtConicalEffect(*this); |
660 } | 660 } |
661 | 661 |
662 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(FocalInside2PtConicalEffect); | 662 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(FocalInside2PtConicalEffect); |
663 | 663 |
664 /* | 664 /* |
665 * All Two point conical gradient test create functions may occasionally create
edge case shaders | 665 * All Two point conical gradient test create functions may occasionally create
edge case shaders |
666 */ | 666 */ |
667 const GrFragmentProcessor* FocalInside2PtConicalEffect::TestCreate(GrProcessorTe
stData* d) { | 667 const GrFragmentProcessor* FocalInside2PtConicalEffect::TestCreate(GrProcessorTe
stData* d) { |
668 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; | 668 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
821 | 821 |
822 const char* name() const override { return "Two-Point Conical Gradient Insid
e"; } | 822 const char* name() const override { return "Two-Point Conical Gradient Insid
e"; } |
823 | 823 |
824 SkScalar centerX() const { return fInfo.fCenterEnd.fX; } | 824 SkScalar centerX() const { return fInfo.fCenterEnd.fX; } |
825 SkScalar centerY() const { return fInfo.fCenterEnd.fY; } | 825 SkScalar centerY() const { return fInfo.fCenterEnd.fY; } |
826 SkScalar A() const { return fInfo.fA; } | 826 SkScalar A() const { return fInfo.fA; } |
827 SkScalar B() const { return fInfo.fB; } | 827 SkScalar B() const { return fInfo.fB; } |
828 SkScalar C() const { return fInfo.fC; } | 828 SkScalar C() const { return fInfo.fC; } |
829 | 829 |
830 private: | 830 private: |
831 GrGLSLFragmentProcessor* onCreateGLInstance() const override; | 831 GrGLSLFragmentProcessor* onCreateGLSLInstance() const override; |
832 | 832 |
833 virtual void onGetGLProcessorKey(const GrGLSLCaps& caps, | 833 virtual void onGetGLSLProcessorKey(const GrGLSLCaps& caps, |
834 GrProcessorKeyBuilder* b) const override; | 834 GrProcessorKeyBuilder* b) const override; |
835 | 835 |
836 bool onIsEqual(const GrFragmentProcessor& sBase) const override { | 836 bool onIsEqual(const GrFragmentProcessor& sBase) const override { |
837 const CircleInside2PtConicalEffect& s = sBase.cast<CircleInside2PtConica
lEffect>(); | 837 const CircleInside2PtConicalEffect& s = sBase.cast<CircleInside2PtConica
lEffect>(); |
838 return (INHERITED::onIsEqual(sBase) && | 838 return (INHERITED::onIsEqual(sBase) && |
839 this->fInfo.fCenterEnd == s.fInfo.fCenterEnd && | 839 this->fInfo.fCenterEnd == s.fInfo.fCenterEnd && |
840 this->fInfo.fA == s.fInfo.fA && | 840 this->fInfo.fA == s.fInfo.fA && |
841 this->fInfo.fB == s.fInfo.fB && | 841 this->fInfo.fB == s.fInfo.fB && |
842 this->fInfo.fC == s.fInfo.fC); | 842 this->fInfo.fC == s.fInfo.fC); |
843 } | 843 } |
844 | 844 |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
885 SkScalar fCachedB; | 885 SkScalar fCachedB; |
886 SkScalar fCachedC; | 886 SkScalar fCachedC; |
887 | 887 |
888 // @} | 888 // @} |
889 | 889 |
890 private: | 890 private: |
891 typedef GrGLGradientEffect INHERITED; | 891 typedef GrGLGradientEffect INHERITED; |
892 | 892 |
893 }; | 893 }; |
894 | 894 |
895 void CircleInside2PtConicalEffect::onGetGLProcessorKey(const GrGLSLCaps& caps, | 895 void CircleInside2PtConicalEffect::onGetGLSLProcessorKey(const GrGLSLCaps& caps, |
896 GrProcessorKeyBuilder* b)
const { | 896 GrProcessorKeyBuilder*
b) const { |
897 GLCircleInside2PtConicalEffect::GenKey(*this, caps, b); | 897 GLCircleInside2PtConicalEffect::GenKey(*this, caps, b); |
898 } | 898 } |
899 | 899 |
900 GrGLSLFragmentProcessor* CircleInside2PtConicalEffect::onCreateGLInstance() cons
t { | 900 GrGLSLFragmentProcessor* CircleInside2PtConicalEffect::onCreateGLSLInstance() co
nst { |
901 return new GLCircleInside2PtConicalEffect(*this); | 901 return new GLCircleInside2PtConicalEffect(*this); |
902 } | 902 } |
903 | 903 |
904 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(CircleInside2PtConicalEffect); | 904 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(CircleInside2PtConicalEffect); |
905 | 905 |
906 /* | 906 /* |
907 * All Two point conical gradient test create functions may occasionally create
edge case shaders | 907 * All Two point conical gradient test create functions may occasionally create
edge case shaders |
908 */ | 908 */ |
909 const GrFragmentProcessor* CircleInside2PtConicalEffect::TestCreate(GrProcessorT
estData* d) { | 909 const GrFragmentProcessor* CircleInside2PtConicalEffect::TestCreate(GrProcessorT
estData* d) { |
910 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; | 910 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1033 | 1033 |
1034 SkScalar centerX() const { return fInfo.fCenterEnd.fX; } | 1034 SkScalar centerX() const { return fInfo.fCenterEnd.fX; } |
1035 SkScalar centerY() const { return fInfo.fCenterEnd.fY; } | 1035 SkScalar centerY() const { return fInfo.fCenterEnd.fY; } |
1036 SkScalar A() const { return fInfo.fA; } | 1036 SkScalar A() const { return fInfo.fA; } |
1037 SkScalar B() const { return fInfo.fB; } | 1037 SkScalar B() const { return fInfo.fB; } |
1038 SkScalar C() const { return fInfo.fC; } | 1038 SkScalar C() const { return fInfo.fC; } |
1039 SkScalar tLimit() const { return fTLimit; } | 1039 SkScalar tLimit() const { return fTLimit; } |
1040 bool isFlipped() const { return fIsFlipped; } | 1040 bool isFlipped() const { return fIsFlipped; } |
1041 | 1041 |
1042 private: | 1042 private: |
1043 GrGLSLFragmentProcessor* onCreateGLInstance() const override; | 1043 GrGLSLFragmentProcessor* onCreateGLSLInstance() const override; |
1044 | 1044 |
1045 void onGetGLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const ov
erride; | 1045 void onGetGLSLProcessorKey(const GrGLSLCaps&, GrProcessorKeyBuilder*) const
override; |
1046 | 1046 |
1047 bool onIsEqual(const GrFragmentProcessor& sBase) const override { | 1047 bool onIsEqual(const GrFragmentProcessor& sBase) const override { |
1048 const CircleOutside2PtConicalEffect& s = sBase.cast<CircleOutside2PtConi
calEffect>(); | 1048 const CircleOutside2PtConicalEffect& s = sBase.cast<CircleOutside2PtConi
calEffect>(); |
1049 return (INHERITED::onIsEqual(sBase) && | 1049 return (INHERITED::onIsEqual(sBase) && |
1050 this->fInfo.fCenterEnd == s.fInfo.fCenterEnd && | 1050 this->fInfo.fCenterEnd == s.fInfo.fCenterEnd && |
1051 this->fInfo.fA == s.fInfo.fA && | 1051 this->fInfo.fA == s.fInfo.fA && |
1052 this->fInfo.fB == s.fInfo.fB && | 1052 this->fInfo.fB == s.fInfo.fB && |
1053 this->fInfo.fC == s.fInfo.fC && | 1053 this->fInfo.fC == s.fInfo.fC && |
1054 this->fTLimit == s.fTLimit && | 1054 this->fTLimit == s.fTLimit && |
1055 this->fIsFlipped == s.fIsFlipped); | 1055 this->fIsFlipped == s.fIsFlipped); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1110 SkScalar fCachedC; | 1110 SkScalar fCachedC; |
1111 SkScalar fCachedTLimit; | 1111 SkScalar fCachedTLimit; |
1112 | 1112 |
1113 // @} | 1113 // @} |
1114 | 1114 |
1115 private: | 1115 private: |
1116 typedef GrGLGradientEffect INHERITED; | 1116 typedef GrGLGradientEffect INHERITED; |
1117 | 1117 |
1118 }; | 1118 }; |
1119 | 1119 |
1120 void CircleOutside2PtConicalEffect::onGetGLProcessorKey(const GrGLSLCaps& caps, | 1120 void CircleOutside2PtConicalEffect::onGetGLSLProcessorKey(const GrGLSLCaps& caps
, |
1121 GrProcessorKeyBuilder* b
) const { | 1121 GrProcessorKeyBuilder*
b) const { |
1122 GLCircleOutside2PtConicalEffect::GenKey(*this, caps, b); | 1122 GLCircleOutside2PtConicalEffect::GenKey(*this, caps, b); |
1123 } | 1123 } |
1124 | 1124 |
1125 GrGLSLFragmentProcessor* CircleOutside2PtConicalEffect::onCreateGLInstance() con
st { | 1125 GrGLSLFragmentProcessor* CircleOutside2PtConicalEffect::onCreateGLSLInstance() c
onst { |
1126 return new GLCircleOutside2PtConicalEffect(*this); | 1126 return new GLCircleOutside2PtConicalEffect(*this); |
1127 } | 1127 } |
1128 | 1128 |
1129 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(CircleOutside2PtConicalEffect); | 1129 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(CircleOutside2PtConicalEffect); |
1130 | 1130 |
1131 /* | 1131 /* |
1132 * All Two point conical gradient test create functions may occasionally create
edge case shaders | 1132 * All Two point conical gradient test create functions may occasionally create
edge case shaders |
1133 */ | 1133 */ |
1134 const GrFragmentProcessor* CircleOutside2PtConicalEffect::TestCreate(GrProcessor
TestData* d) { | 1134 const GrFragmentProcessor* CircleOutside2PtConicalEffect::TestCreate(GrProcessor
TestData* d) { |
1135 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; | 1135 SkPoint center1 = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1304 return CircleInside2PtConicalEffect::Create(ctx, shader, matrix, tm, inf
o); | 1304 return CircleInside2PtConicalEffect::Create(ctx, shader, matrix, tm, inf
o); |
1305 } else if (type == kEdge_ConicalType) { | 1305 } else if (type == kEdge_ConicalType) { |
1306 set_matrix_edge_conical(shader, &matrix); | 1306 set_matrix_edge_conical(shader, &matrix); |
1307 return Edge2PtConicalEffect::Create(ctx, shader, matrix, tm); | 1307 return Edge2PtConicalEffect::Create(ctx, shader, matrix, tm); |
1308 } else { | 1308 } else { |
1309 return CircleOutside2PtConicalEffect::Create(ctx, shader, matrix, tm, in
fo); | 1309 return CircleOutside2PtConicalEffect::Create(ctx, shader, matrix, tm, in
fo); |
1310 } | 1310 } |
1311 } | 1311 } |
1312 | 1312 |
1313 #endif | 1313 #endif |
OLD | NEW |