Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(418)

Side by Side Diff: src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp

Issue 654273002: Push isEqual/onIsEqual down from GrProcessor to subclasses. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 virtual const GrBackendFragmentProcessorFactory& getFactory() const SK_OVERR IDE; 73 virtual const GrBackendFragmentProcessorFactory& getFactory() const SK_OVERR IDE;
74 74
75 // The radial gradient parameters can collapse to a linear (instead of quadr atic) equation. 75 // The radial gradient parameters can collapse to a linear (instead of quadr atic) equation.
76 SkScalar center() const { return fCenterX1; } 76 SkScalar center() const { return fCenterX1; }
77 SkScalar diffRadius() const { return fDiffRadius; } 77 SkScalar diffRadius() const { return fDiffRadius; }
78 SkScalar radius() const { return fRadius0; } 78 SkScalar radius() const { return fRadius0; }
79 79
80 typedef GLEdge2PtConicalEffect GLProcessor; 80 typedef GLEdge2PtConicalEffect GLProcessor;
81 81
82 private: 82 private:
83 virtual bool onIsEqual(const GrProcessor& sBase) const SK_OVERRIDE { 83 virtual bool onIsEqual(const GrFragmentProcessor& sBase) const SK_OVERRIDE {
84 const Edge2PtConicalEffect& s = sBase.cast<Edge2PtConicalEffect>(); 84 const Edge2PtConicalEffect& s = sBase.cast<Edge2PtConicalEffect>();
85 return (INHERITED::onIsEqual(sBase) && 85 return (INHERITED::onIsEqual(sBase) &&
86 this->fCenterX1 == s.fCenterX1 && 86 this->fCenterX1 == s.fCenterX1 &&
87 this->fRadius0 == s.fRadius0 && 87 this->fRadius0 == s.fRadius0 &&
88 this->fDiffRadius == s.fDiffRadius); 88 this->fDiffRadius == s.fDiffRadius);
89 } 89 }
90 90
91 Edge2PtConicalEffect(GrContext* ctx, 91 Edge2PtConicalEffect(GrContext* ctx,
92 const SkTwoPointConicalGradient& shader, 92 const SkTwoPointConicalGradient& shader,
93 const SkMatrix& matrix, 93 const SkMatrix& matrix,
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 387
388 static const char* Name() { return "Two-Point Conical Gradient Focal Outside "; } 388 static const char* Name() { return "Two-Point Conical Gradient Focal Outside "; }
389 virtual const GrBackendFragmentProcessorFactory& getFactory() const SK_OVERR IDE; 389 virtual const GrBackendFragmentProcessorFactory& getFactory() const SK_OVERR IDE;
390 390
391 bool isFlipped() const { return fIsFlipped; } 391 bool isFlipped() const { return fIsFlipped; }
392 SkScalar focal() const { return fFocalX; } 392 SkScalar focal() const { return fFocalX; }
393 393
394 typedef GLFocalOutside2PtConicalEffect GLProcessor; 394 typedef GLFocalOutside2PtConicalEffect GLProcessor;
395 395
396 private: 396 private:
397 virtual bool onIsEqual(const GrProcessor& sBase) const SK_OVERRIDE { 397 virtual bool onIsEqual(const GrFragmentProcessor& sBase) const SK_OVERRIDE {
398 const FocalOutside2PtConicalEffect& s = sBase.cast<FocalOutside2PtConica lEffect>(); 398 const FocalOutside2PtConicalEffect& s = sBase.cast<FocalOutside2PtConica lEffect>();
399 return (INHERITED::onIsEqual(sBase) && 399 return (INHERITED::onIsEqual(sBase) &&
400 this->fFocalX == s.fFocalX && 400 this->fFocalX == s.fFocalX &&
401 this->fIsFlipped == s.fIsFlipped); 401 this->fIsFlipped == s.fIsFlipped);
402 } 402 }
403 403
404 FocalOutside2PtConicalEffect(GrContext* ctx, 404 FocalOutside2PtConicalEffect(GrContext* ctx,
405 const SkTwoPointConicalGradient& shader, 405 const SkTwoPointConicalGradient& shader,
406 const SkMatrix& matrix, 406 const SkMatrix& matrix,
407 SkShader::TileMode tm, 407 SkShader::TileMode tm,
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
598 virtual ~FocalInside2PtConicalEffect() {} 598 virtual ~FocalInside2PtConicalEffect() {}
599 599
600 static const char* Name() { return "Two-Point Conical Gradient Focal Inside" ; } 600 static const char* Name() { return "Two-Point Conical Gradient Focal Inside" ; }
601 virtual const GrBackendFragmentProcessorFactory& getFactory() const SK_OVERR IDE; 601 virtual const GrBackendFragmentProcessorFactory& getFactory() const SK_OVERR IDE;
602 602
603 SkScalar focal() const { return fFocalX; } 603 SkScalar focal() const { return fFocalX; }
604 604
605 typedef GLFocalInside2PtConicalEffect GLProcessor; 605 typedef GLFocalInside2PtConicalEffect GLProcessor;
606 606
607 private: 607 private:
608 virtual bool onIsEqual(const GrProcessor& sBase) const SK_OVERRIDE { 608 virtual bool onIsEqual(const GrFragmentProcessor& sBase) const SK_OVERRIDE {
609 const FocalInside2PtConicalEffect& s = sBase.cast<FocalInside2PtConicalE ffect>(); 609 const FocalInside2PtConicalEffect& s = sBase.cast<FocalInside2PtConicalE ffect>();
610 return (INHERITED::onIsEqual(sBase) && 610 return (INHERITED::onIsEqual(sBase) &&
611 this->fFocalX == s.fFocalX); 611 this->fFocalX == s.fFocalX);
612 } 612 }
613 613
614 FocalInside2PtConicalEffect(GrContext* ctx, 614 FocalInside2PtConicalEffect(GrContext* ctx,
615 const SkTwoPointConicalGradient& shader, 615 const SkTwoPointConicalGradient& shader,
616 const SkMatrix& matrix, 616 const SkMatrix& matrix,
617 SkShader::TileMode tm, 617 SkShader::TileMode tm,
618 SkScalar focalX) 618 SkScalar focalX)
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
840 840
841 SkScalar centerX() const { return fInfo.fCenterEnd.fX; } 841 SkScalar centerX() const { return fInfo.fCenterEnd.fX; }
842 SkScalar centerY() const { return fInfo.fCenterEnd.fY; } 842 SkScalar centerY() const { return fInfo.fCenterEnd.fY; }
843 SkScalar A() const { return fInfo.fA; } 843 SkScalar A() const { return fInfo.fA; }
844 SkScalar B() const { return fInfo.fB; } 844 SkScalar B() const { return fInfo.fB; }
845 SkScalar C() const { return fInfo.fC; } 845 SkScalar C() const { return fInfo.fC; }
846 846
847 typedef GLCircleInside2PtConicalEffect GLProcessor; 847 typedef GLCircleInside2PtConicalEffect GLProcessor;
848 848
849 private: 849 private:
850 virtual bool onIsEqual(const GrProcessor& sBase) const SK_OVERRIDE { 850 virtual bool onIsEqual(const GrFragmentProcessor& sBase) const SK_OVERRIDE {
851 const CircleInside2PtConicalEffect& s = sBase.cast<CircleInside2PtConica lEffect>(); 851 const CircleInside2PtConicalEffect& s = sBase.cast<CircleInside2PtConica lEffect>();
852 return (INHERITED::onIsEqual(sBase) && 852 return (INHERITED::onIsEqual(sBase) &&
853 this->fInfo.fCenterEnd == s.fInfo.fCenterEnd && 853 this->fInfo.fCenterEnd == s.fInfo.fCenterEnd &&
854 this->fInfo.fA == s.fInfo.fA && 854 this->fInfo.fA == s.fInfo.fA &&
855 this->fInfo.fB == s.fInfo.fB && 855 this->fInfo.fB == s.fInfo.fB &&
856 this->fInfo.fC == s.fInfo.fC); 856 this->fInfo.fC == s.fInfo.fC);
857 } 857 }
858 858
859 CircleInside2PtConicalEffect(GrContext* ctx, 859 CircleInside2PtConicalEffect(GrContext* ctx,
860 const SkTwoPointConicalGradient& shader, 860 const SkTwoPointConicalGradient& shader,
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
1059 SkScalar centerY() const { return fInfo.fCenterEnd.fY; } 1059 SkScalar centerY() const { return fInfo.fCenterEnd.fY; }
1060 SkScalar A() const { return fInfo.fA; } 1060 SkScalar A() const { return fInfo.fA; }
1061 SkScalar B() const { return fInfo.fB; } 1061 SkScalar B() const { return fInfo.fB; }
1062 SkScalar C() const { return fInfo.fC; } 1062 SkScalar C() const { return fInfo.fC; }
1063 SkScalar tLimit() const { return fTLimit; } 1063 SkScalar tLimit() const { return fTLimit; }
1064 bool isFlipped() const { return fIsFlipped; } 1064 bool isFlipped() const { return fIsFlipped; }
1065 1065
1066 typedef GLCircleOutside2PtConicalEffect GLProcessor; 1066 typedef GLCircleOutside2PtConicalEffect GLProcessor;
1067 1067
1068 private: 1068 private:
1069 virtual bool onIsEqual(const GrProcessor& sBase) const SK_OVERRIDE { 1069 virtual bool onIsEqual(const GrFragmentProcessor& sBase) const SK_OVERRIDE {
1070 const CircleOutside2PtConicalEffect& s = sBase.cast<CircleOutside2PtConi calEffect>(); 1070 const CircleOutside2PtConicalEffect& s = sBase.cast<CircleOutside2PtConi calEffect>();
1071 return (INHERITED::onIsEqual(sBase) && 1071 return (INHERITED::onIsEqual(sBase) &&
1072 this->fInfo.fCenterEnd == s.fInfo.fCenterEnd && 1072 this->fInfo.fCenterEnd == s.fInfo.fCenterEnd &&
1073 this->fInfo.fA == s.fInfo.fA && 1073 this->fInfo.fA == s.fInfo.fA &&
1074 this->fInfo.fB == s.fInfo.fB && 1074 this->fInfo.fB == s.fInfo.fB &&
1075 this->fInfo.fC == s.fInfo.fC && 1075 this->fInfo.fC == s.fInfo.fC &&
1076 this->fTLimit == s.fTLimit && 1076 this->fTLimit == s.fTLimit &&
1077 this->fIsFlipped == s.fIsFlipped); 1077 this->fIsFlipped == s.fIsFlipped);
1078 } 1078 }
1079 1079
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
1335 return CircleInside2PtConicalEffect::Create(ctx, shader, matrix, tm, inf o); 1335 return CircleInside2PtConicalEffect::Create(ctx, shader, matrix, tm, inf o);
1336 } else if (type == kEdge_ConicalType) { 1336 } else if (type == kEdge_ConicalType) {
1337 set_matrix_edge_conical(shader, &matrix); 1337 set_matrix_edge_conical(shader, &matrix);
1338 return Edge2PtConicalEffect::Create(ctx, shader, matrix, tm); 1338 return Edge2PtConicalEffect::Create(ctx, shader, matrix, tm);
1339 } else { 1339 } else {
1340 return CircleOutside2PtConicalEffect::Create(ctx, shader, matrix, tm, in fo); 1340 return CircleOutside2PtConicalEffect::Create(ctx, shader, matrix, tm, in fo);
1341 } 1341 }
1342 } 1342 }
1343 1343
1344 #endif 1344 #endif
OLDNEW
« no previous file with comments | « src/effects/gradients/SkGradientShaderPriv.h ('k') | src/effects/gradients/SkTwoPointRadialGradient.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698