| 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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 | 59 |
| 60 static GrFragmentProcessor* Create(GrContext* ctx, | 60 static GrFragmentProcessor* Create(GrContext* ctx, |
| 61 const SkTwoPointConicalGradient& shader, | 61 const SkTwoPointConicalGradient& shader, |
| 62 const SkMatrix& matrix, | 62 const SkMatrix& matrix, |
| 63 SkShader::TileMode tm) { | 63 SkShader::TileMode tm) { |
| 64 return SkNEW_ARGS(Edge2PtConicalEffect, (ctx, shader, matrix, tm)); | 64 return SkNEW_ARGS(Edge2PtConicalEffect, (ctx, shader, matrix, tm)); |
| 65 } | 65 } |
| 66 | 66 |
| 67 virtual ~Edge2PtConicalEffect() {} | 67 virtual ~Edge2PtConicalEffect() {} |
| 68 | 68 |
| 69 const char* name() const SK_OVERRIDE { | 69 const char* name() const override { |
| 70 return "Two-Point Conical Gradient Edge Touching"; | 70 return "Two-Point Conical Gradient Edge Touching"; |
| 71 } | 71 } |
| 72 | 72 |
| 73 void getGLProcessorKey(const GrGLCaps&, GrProcessorKeyBuilder*) const SK_OVE
RRIDE; | 73 void getGLProcessorKey(const GrGLCaps&, GrProcessorKeyBuilder*) const overri
de; |
| 74 | 74 |
| 75 GrGLFragmentProcessor* createGLInstance() const SK_OVERRIDE; | 75 GrGLFragmentProcessor* createGLInstance() const override; |
| 76 | 76 |
| 77 // The radial gradient parameters can collapse to a linear (instead of quadr
atic) equation. | 77 // The radial gradient parameters can collapse to a linear (instead of quadr
atic) equation. |
| 78 SkScalar center() const { return fCenterX1; } | 78 SkScalar center() const { return fCenterX1; } |
| 79 SkScalar diffRadius() const { return fDiffRadius; } | 79 SkScalar diffRadius() const { return fDiffRadius; } |
| 80 SkScalar radius() const { return fRadius0; } | 80 SkScalar radius() const { return fRadius0; } |
| 81 | 81 |
| 82 private: | 82 private: |
| 83 bool onIsEqual(const GrFragmentProcessor& sBase) const SK_OVERRIDE { | 83 bool onIsEqual(const GrFragmentProcessor& sBase) const 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 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 139 class GLEdge2PtConicalEffect : public GrGLGradientEffect { | 139 class GLEdge2PtConicalEffect : public GrGLGradientEffect { |
| 140 public: | 140 public: |
| 141 GLEdge2PtConicalEffect(const GrProcessor&); | 141 GLEdge2PtConicalEffect(const GrProcessor&); |
| 142 virtual ~GLEdge2PtConicalEffect() { } | 142 virtual ~GLEdge2PtConicalEffect() { } |
| 143 | 143 |
| 144 virtual void emitCode(GrGLFPBuilder*, | 144 virtual void emitCode(GrGLFPBuilder*, |
| 145 const GrFragmentProcessor&, | 145 const GrFragmentProcessor&, |
| 146 const char* outputColor, | 146 const char* outputColor, |
| 147 const char* inputColor, | 147 const char* inputColor, |
| 148 const TransformedCoordsArray&, | 148 const TransformedCoordsArray&, |
| 149 const TextureSamplerArray&) SK_OVERRIDE; | 149 const TextureSamplerArray&) override; |
| 150 void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_OVERRIDE; | 150 void setData(const GrGLProgramDataManager&, const GrProcessor&) override; |
| 151 | 151 |
| 152 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); | 152 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); |
| 153 | 153 |
| 154 protected: | 154 protected: |
| 155 UniformHandle fParamUni; | 155 UniformHandle fParamUni; |
| 156 | 156 |
| 157 const char* fVSVaryingName; | 157 const char* fVSVaryingName; |
| 158 const char* fFSVaryingName; | 158 const char* fFSVaryingName; |
| 159 | 159 |
| 160 // @{ | 160 // @{ |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 381 static GrFragmentProcessor* Create(GrContext* ctx, | 381 static GrFragmentProcessor* Create(GrContext* ctx, |
| 382 const SkTwoPointConicalGradient& shader, | 382 const SkTwoPointConicalGradient& shader, |
| 383 const SkMatrix& matrix, | 383 const SkMatrix& matrix, |
| 384 SkShader::TileMode tm, | 384 SkShader::TileMode tm, |
| 385 SkScalar focalX) { | 385 SkScalar focalX) { |
| 386 return SkNEW_ARGS(FocalOutside2PtConicalEffect, (ctx, shader, matrix, tm
, focalX)); | 386 return SkNEW_ARGS(FocalOutside2PtConicalEffect, (ctx, shader, matrix, tm
, focalX)); |
| 387 } | 387 } |
| 388 | 388 |
| 389 virtual ~FocalOutside2PtConicalEffect() { } | 389 virtual ~FocalOutside2PtConicalEffect() { } |
| 390 | 390 |
| 391 const char* name() const SK_OVERRIDE { | 391 const char* name() const override { |
| 392 return "Two-Point Conical Gradient Focal Outside"; | 392 return "Two-Point Conical Gradient Focal Outside"; |
| 393 } | 393 } |
| 394 | 394 |
| 395 void getGLProcessorKey(const GrGLCaps&, GrProcessorKeyBuilder*) const SK_OVE
RRIDE; | 395 void getGLProcessorKey(const GrGLCaps&, GrProcessorKeyBuilder*) const overri
de; |
| 396 | 396 |
| 397 GrGLFragmentProcessor* createGLInstance() const SK_OVERRIDE; | 397 GrGLFragmentProcessor* createGLInstance() const override; |
| 398 | 398 |
| 399 bool isFlipped() const { return fIsFlipped; } | 399 bool isFlipped() const { return fIsFlipped; } |
| 400 SkScalar focal() const { return fFocalX; } | 400 SkScalar focal() const { return fFocalX; } |
| 401 | 401 |
| 402 private: | 402 private: |
| 403 bool onIsEqual(const GrFragmentProcessor& sBase) const SK_OVERRIDE { | 403 bool onIsEqual(const GrFragmentProcessor& sBase) const override { |
| 404 const FocalOutside2PtConicalEffect& s = sBase.cast<FocalOutside2PtConica
lEffect>(); | 404 const FocalOutside2PtConicalEffect& s = sBase.cast<FocalOutside2PtConica
lEffect>(); |
| 405 return (INHERITED::onIsEqual(sBase) && | 405 return (INHERITED::onIsEqual(sBase) && |
| 406 this->fFocalX == s.fFocalX && | 406 this->fFocalX == s.fFocalX && |
| 407 this->fIsFlipped == s.fIsFlipped); | 407 this->fIsFlipped == s.fIsFlipped); |
| 408 } | 408 } |
| 409 | 409 |
| 410 FocalOutside2PtConicalEffect(GrContext* ctx, | 410 FocalOutside2PtConicalEffect(GrContext* ctx, |
| 411 const SkTwoPointConicalGradient& shader, | 411 const SkTwoPointConicalGradient& shader, |
| 412 const SkMatrix& matrix, | 412 const SkMatrix& matrix, |
| 413 SkShader::TileMode tm, | 413 SkShader::TileMode tm, |
| (...skipping 13 matching lines...) Expand all Loading... |
| 427 class GLFocalOutside2PtConicalEffect : public GrGLGradientEffect { | 427 class GLFocalOutside2PtConicalEffect : public GrGLGradientEffect { |
| 428 public: | 428 public: |
| 429 GLFocalOutside2PtConicalEffect(const GrProcessor&); | 429 GLFocalOutside2PtConicalEffect(const GrProcessor&); |
| 430 virtual ~GLFocalOutside2PtConicalEffect() { } | 430 virtual ~GLFocalOutside2PtConicalEffect() { } |
| 431 | 431 |
| 432 virtual void emitCode(GrGLFPBuilder*, | 432 virtual void emitCode(GrGLFPBuilder*, |
| 433 const GrFragmentProcessor&, | 433 const GrFragmentProcessor&, |
| 434 const char* outputColor, | 434 const char* outputColor, |
| 435 const char* inputColor, | 435 const char* inputColor, |
| 436 const TransformedCoordsArray&, | 436 const TransformedCoordsArray&, |
| 437 const TextureSamplerArray&) SK_OVERRIDE; | 437 const TextureSamplerArray&) override; |
| 438 void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_OVERRIDE; | 438 void setData(const GrGLProgramDataManager&, const GrProcessor&) override; |
| 439 | 439 |
| 440 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); | 440 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); |
| 441 | 441 |
| 442 protected: | 442 protected: |
| 443 UniformHandle fParamUni; | 443 UniformHandle fParamUni; |
| 444 | 444 |
| 445 const char* fVSVaryingName; | 445 const char* fVSVaryingName; |
| 446 const char* fFSVaryingName; | 446 const char* fFSVaryingName; |
| 447 | 447 |
| 448 bool fIsFlipped; | 448 bool fIsFlipped; |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 603 static GrFragmentProcessor* Create(GrContext* ctx, | 603 static GrFragmentProcessor* Create(GrContext* ctx, |
| 604 const SkTwoPointConicalGradient& shader, | 604 const SkTwoPointConicalGradient& shader, |
| 605 const SkMatrix& matrix, | 605 const SkMatrix& matrix, |
| 606 SkShader::TileMode tm, | 606 SkShader::TileMode tm, |
| 607 SkScalar focalX) { | 607 SkScalar focalX) { |
| 608 return SkNEW_ARGS(FocalInside2PtConicalEffect, (ctx, shader, matrix, tm,
focalX)); | 608 return SkNEW_ARGS(FocalInside2PtConicalEffect, (ctx, shader, matrix, tm,
focalX)); |
| 609 } | 609 } |
| 610 | 610 |
| 611 virtual ~FocalInside2PtConicalEffect() {} | 611 virtual ~FocalInside2PtConicalEffect() {} |
| 612 | 612 |
| 613 const char* name() const SK_OVERRIDE { | 613 const char* name() const override { |
| 614 return "Two-Point Conical Gradient Focal Inside"; | 614 return "Two-Point Conical Gradient Focal Inside"; |
| 615 } | 615 } |
| 616 | 616 |
| 617 void getGLProcessorKey(const GrGLCaps&, GrProcessorKeyBuilder*) const SK_OVE
RRIDE; | 617 void getGLProcessorKey(const GrGLCaps&, GrProcessorKeyBuilder*) const overri
de; |
| 618 | 618 |
| 619 GrGLFragmentProcessor* createGLInstance() const SK_OVERRIDE; | 619 GrGLFragmentProcessor* createGLInstance() const override; |
| 620 | 620 |
| 621 SkScalar focal() const { return fFocalX; } | 621 SkScalar focal() const { return fFocalX; } |
| 622 | 622 |
| 623 typedef GLFocalInside2PtConicalEffect GLProcessor; | 623 typedef GLFocalInside2PtConicalEffect GLProcessor; |
| 624 | 624 |
| 625 private: | 625 private: |
| 626 bool onIsEqual(const GrFragmentProcessor& sBase) const SK_OVERRIDE { | 626 bool onIsEqual(const GrFragmentProcessor& sBase) const override { |
| 627 const FocalInside2PtConicalEffect& s = sBase.cast<FocalInside2PtConicalE
ffect>(); | 627 const FocalInside2PtConicalEffect& s = sBase.cast<FocalInside2PtConicalE
ffect>(); |
| 628 return (INHERITED::onIsEqual(sBase) && | 628 return (INHERITED::onIsEqual(sBase) && |
| 629 this->fFocalX == s.fFocalX); | 629 this->fFocalX == s.fFocalX); |
| 630 } | 630 } |
| 631 | 631 |
| 632 FocalInside2PtConicalEffect(GrContext* ctx, | 632 FocalInside2PtConicalEffect(GrContext* ctx, |
| 633 const SkTwoPointConicalGradient& shader, | 633 const SkTwoPointConicalGradient& shader, |
| 634 const SkMatrix& matrix, | 634 const SkMatrix& matrix, |
| 635 SkShader::TileMode tm, | 635 SkShader::TileMode tm, |
| 636 SkScalar focalX) | 636 SkScalar focalX) |
| (...skipping 11 matching lines...) Expand all Loading... |
| 648 class GLFocalInside2PtConicalEffect : public GrGLGradientEffect { | 648 class GLFocalInside2PtConicalEffect : public GrGLGradientEffect { |
| 649 public: | 649 public: |
| 650 GLFocalInside2PtConicalEffect(const GrProcessor&); | 650 GLFocalInside2PtConicalEffect(const GrProcessor&); |
| 651 virtual ~GLFocalInside2PtConicalEffect() {} | 651 virtual ~GLFocalInside2PtConicalEffect() {} |
| 652 | 652 |
| 653 virtual void emitCode(GrGLFPBuilder*, | 653 virtual void emitCode(GrGLFPBuilder*, |
| 654 const GrFragmentProcessor&, | 654 const GrFragmentProcessor&, |
| 655 const char* outputColor, | 655 const char* outputColor, |
| 656 const char* inputColor, | 656 const char* inputColor, |
| 657 const TransformedCoordsArray&, | 657 const TransformedCoordsArray&, |
| 658 const TextureSamplerArray&) SK_OVERRIDE; | 658 const TextureSamplerArray&) override; |
| 659 void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_OVERRIDE; | 659 void setData(const GrGLProgramDataManager&, const GrProcessor&) override; |
| 660 | 660 |
| 661 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); | 661 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); |
| 662 | 662 |
| 663 protected: | 663 protected: |
| 664 UniformHandle fFocalUni; | 664 UniformHandle fFocalUni; |
| 665 | 665 |
| 666 const char* fVSVaryingName; | 666 const char* fVSVaryingName; |
| 667 const char* fFSVaryingName; | 667 const char* fFSVaryingName; |
| 668 | 668 |
| 669 // @{ | 669 // @{ |
| (...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 850 static GrFragmentProcessor* Create(GrContext* ctx, | 850 static GrFragmentProcessor* Create(GrContext* ctx, |
| 851 const SkTwoPointConicalGradient& shader, | 851 const SkTwoPointConicalGradient& shader, |
| 852 const SkMatrix& matrix, | 852 const SkMatrix& matrix, |
| 853 SkShader::TileMode tm, | 853 SkShader::TileMode tm, |
| 854 const CircleConicalInfo& info) { | 854 const CircleConicalInfo& info) { |
| 855 return SkNEW_ARGS(CircleInside2PtConicalEffect, (ctx, shader, matrix, tm
, info)); | 855 return SkNEW_ARGS(CircleInside2PtConicalEffect, (ctx, shader, matrix, tm
, info)); |
| 856 } | 856 } |
| 857 | 857 |
| 858 virtual ~CircleInside2PtConicalEffect() {} | 858 virtual ~CircleInside2PtConicalEffect() {} |
| 859 | 859 |
| 860 const char* name() const SK_OVERRIDE { return "Two-Point Conical Gradient In
side"; } | 860 const char* name() const override { return "Two-Point Conical Gradient Insid
e"; } |
| 861 | 861 |
| 862 virtual void getGLProcessorKey(const GrGLCaps& caps, | 862 virtual void getGLProcessorKey(const GrGLCaps& caps, |
| 863 GrProcessorKeyBuilder* b) const SK_OVERRIDE; | 863 GrProcessorKeyBuilder* b) const override; |
| 864 | 864 |
| 865 GrGLFragmentProcessor* createGLInstance() const SK_OVERRIDE; | 865 GrGLFragmentProcessor* createGLInstance() const override; |
| 866 | 866 |
| 867 SkScalar centerX() const { return fInfo.fCenterEnd.fX; } | 867 SkScalar centerX() const { return fInfo.fCenterEnd.fX; } |
| 868 SkScalar centerY() const { return fInfo.fCenterEnd.fY; } | 868 SkScalar centerY() const { return fInfo.fCenterEnd.fY; } |
| 869 SkScalar A() const { return fInfo.fA; } | 869 SkScalar A() const { return fInfo.fA; } |
| 870 SkScalar B() const { return fInfo.fB; } | 870 SkScalar B() const { return fInfo.fB; } |
| 871 SkScalar C() const { return fInfo.fC; } | 871 SkScalar C() const { return fInfo.fC; } |
| 872 | 872 |
| 873 private: | 873 private: |
| 874 bool onIsEqual(const GrFragmentProcessor& sBase) const SK_OVERRIDE { | 874 bool onIsEqual(const GrFragmentProcessor& sBase) const override { |
| 875 const CircleInside2PtConicalEffect& s = sBase.cast<CircleInside2PtConica
lEffect>(); | 875 const CircleInside2PtConicalEffect& s = sBase.cast<CircleInside2PtConica
lEffect>(); |
| 876 return (INHERITED::onIsEqual(sBase) && | 876 return (INHERITED::onIsEqual(sBase) && |
| 877 this->fInfo.fCenterEnd == s.fInfo.fCenterEnd && | 877 this->fInfo.fCenterEnd == s.fInfo.fCenterEnd && |
| 878 this->fInfo.fA == s.fInfo.fA && | 878 this->fInfo.fA == s.fInfo.fA && |
| 879 this->fInfo.fB == s.fInfo.fB && | 879 this->fInfo.fB == s.fInfo.fB && |
| 880 this->fInfo.fC == s.fInfo.fC); | 880 this->fInfo.fC == s.fInfo.fC); |
| 881 } | 881 } |
| 882 | 882 |
| 883 CircleInside2PtConicalEffect(GrContext* ctx, | 883 CircleInside2PtConicalEffect(GrContext* ctx, |
| 884 const SkTwoPointConicalGradient& shader, | 884 const SkTwoPointConicalGradient& shader, |
| (...skipping 14 matching lines...) Expand all Loading... |
| 899 class GLCircleInside2PtConicalEffect : public GrGLGradientEffect { | 899 class GLCircleInside2PtConicalEffect : public GrGLGradientEffect { |
| 900 public: | 900 public: |
| 901 GLCircleInside2PtConicalEffect(const GrProcessor&); | 901 GLCircleInside2PtConicalEffect(const GrProcessor&); |
| 902 virtual ~GLCircleInside2PtConicalEffect() {} | 902 virtual ~GLCircleInside2PtConicalEffect() {} |
| 903 | 903 |
| 904 virtual void emitCode(GrGLFPBuilder*, | 904 virtual void emitCode(GrGLFPBuilder*, |
| 905 const GrFragmentProcessor&, | 905 const GrFragmentProcessor&, |
| 906 const char* outputColor, | 906 const char* outputColor, |
| 907 const char* inputColor, | 907 const char* inputColor, |
| 908 const TransformedCoordsArray&, | 908 const TransformedCoordsArray&, |
| 909 const TextureSamplerArray&) SK_OVERRIDE; | 909 const TextureSamplerArray&) override; |
| 910 void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_OVERRIDE; | 910 void setData(const GrGLProgramDataManager&, const GrProcessor&) override; |
| 911 | 911 |
| 912 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); | 912 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); |
| 913 | 913 |
| 914 protected: | 914 protected: |
| 915 UniformHandle fCenterUni; | 915 UniformHandle fCenterUni; |
| 916 UniformHandle fParamUni; | 916 UniformHandle fParamUni; |
| 917 | 917 |
| 918 const char* fVSVaryingName; | 918 const char* fVSVaryingName; |
| 919 const char* fFSVaryingName; | 919 const char* fFSVaryingName; |
| 920 | 920 |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1074 static GrFragmentProcessor* Create(GrContext* ctx, | 1074 static GrFragmentProcessor* Create(GrContext* ctx, |
| 1075 const SkTwoPointConicalGradient& shader, | 1075 const SkTwoPointConicalGradient& shader, |
| 1076 const SkMatrix& matrix, | 1076 const SkMatrix& matrix, |
| 1077 SkShader::TileMode tm, | 1077 SkShader::TileMode tm, |
| 1078 const CircleConicalInfo& info) { | 1078 const CircleConicalInfo& info) { |
| 1079 return SkNEW_ARGS(CircleOutside2PtConicalEffect, (ctx, shader, matrix, t
m, info)); | 1079 return SkNEW_ARGS(CircleOutside2PtConicalEffect, (ctx, shader, matrix, t
m, info)); |
| 1080 } | 1080 } |
| 1081 | 1081 |
| 1082 virtual ~CircleOutside2PtConicalEffect() {} | 1082 virtual ~CircleOutside2PtConicalEffect() {} |
| 1083 | 1083 |
| 1084 const char* name() const SK_OVERRIDE { return "Two-Point Conical Gradient Ou
tside"; } | 1084 const char* name() const override { return "Two-Point Conical Gradient Outsi
de"; } |
| 1085 | 1085 |
| 1086 void getGLProcessorKey(const GrGLCaps&, GrProcessorKeyBuilder*) const SK_OVE
RRIDE; | 1086 void getGLProcessorKey(const GrGLCaps&, GrProcessorKeyBuilder*) const overri
de; |
| 1087 | 1087 |
| 1088 GrGLFragmentProcessor* createGLInstance() const SK_OVERRIDE; | 1088 GrGLFragmentProcessor* createGLInstance() const override; |
| 1089 | 1089 |
| 1090 SkScalar centerX() const { return fInfo.fCenterEnd.fX; } | 1090 SkScalar centerX() const { return fInfo.fCenterEnd.fX; } |
| 1091 SkScalar centerY() const { return fInfo.fCenterEnd.fY; } | 1091 SkScalar centerY() const { return fInfo.fCenterEnd.fY; } |
| 1092 SkScalar A() const { return fInfo.fA; } | 1092 SkScalar A() const { return fInfo.fA; } |
| 1093 SkScalar B() const { return fInfo.fB; } | 1093 SkScalar B() const { return fInfo.fB; } |
| 1094 SkScalar C() const { return fInfo.fC; } | 1094 SkScalar C() const { return fInfo.fC; } |
| 1095 SkScalar tLimit() const { return fTLimit; } | 1095 SkScalar tLimit() const { return fTLimit; } |
| 1096 bool isFlipped() const { return fIsFlipped; } | 1096 bool isFlipped() const { return fIsFlipped; } |
| 1097 | 1097 |
| 1098 private: | 1098 private: |
| 1099 bool onIsEqual(const GrFragmentProcessor& sBase) const SK_OVERRIDE { | 1099 bool onIsEqual(const GrFragmentProcessor& sBase) const override { |
| 1100 const CircleOutside2PtConicalEffect& s = sBase.cast<CircleOutside2PtConi
calEffect>(); | 1100 const CircleOutside2PtConicalEffect& s = sBase.cast<CircleOutside2PtConi
calEffect>(); |
| 1101 return (INHERITED::onIsEqual(sBase) && | 1101 return (INHERITED::onIsEqual(sBase) && |
| 1102 this->fInfo.fCenterEnd == s.fInfo.fCenterEnd && | 1102 this->fInfo.fCenterEnd == s.fInfo.fCenterEnd && |
| 1103 this->fInfo.fA == s.fInfo.fA && | 1103 this->fInfo.fA == s.fInfo.fA && |
| 1104 this->fInfo.fB == s.fInfo.fB && | 1104 this->fInfo.fB == s.fInfo.fB && |
| 1105 this->fInfo.fC == s.fInfo.fC && | 1105 this->fInfo.fC == s.fInfo.fC && |
| 1106 this->fTLimit == s.fTLimit && | 1106 this->fTLimit == s.fTLimit && |
| 1107 this->fIsFlipped == s.fIsFlipped); | 1107 this->fIsFlipped == s.fIsFlipped); |
| 1108 } | 1108 } |
| 1109 | 1109 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 1136 class GLCircleOutside2PtConicalEffect : public GrGLGradientEffect { | 1136 class GLCircleOutside2PtConicalEffect : public GrGLGradientEffect { |
| 1137 public: | 1137 public: |
| 1138 GLCircleOutside2PtConicalEffect(const GrProcessor&); | 1138 GLCircleOutside2PtConicalEffect(const GrProcessor&); |
| 1139 virtual ~GLCircleOutside2PtConicalEffect() {} | 1139 virtual ~GLCircleOutside2PtConicalEffect() {} |
| 1140 | 1140 |
| 1141 virtual void emitCode(GrGLFPBuilder*, | 1141 virtual void emitCode(GrGLFPBuilder*, |
| 1142 const GrFragmentProcessor&, | 1142 const GrFragmentProcessor&, |
| 1143 const char* outputColor, | 1143 const char* outputColor, |
| 1144 const char* inputColor, | 1144 const char* inputColor, |
| 1145 const TransformedCoordsArray&, | 1145 const TransformedCoordsArray&, |
| 1146 const TextureSamplerArray&) SK_OVERRIDE; | 1146 const TextureSamplerArray&) override; |
| 1147 void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_OVERRIDE; | 1147 void setData(const GrGLProgramDataManager&, const GrProcessor&) override; |
| 1148 | 1148 |
| 1149 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); | 1149 static void GenKey(const GrProcessor&, const GrGLCaps& caps, GrProcessorKeyB
uilder* b); |
| 1150 | 1150 |
| 1151 protected: | 1151 protected: |
| 1152 UniformHandle fCenterUni; | 1152 UniformHandle fCenterUni; |
| 1153 UniformHandle fParamUni; | 1153 UniformHandle fParamUni; |
| 1154 | 1154 |
| 1155 const char* fVSVaryingName; | 1155 const char* fVSVaryingName; |
| 1156 const char* fFSVaryingName; | 1156 const char* fFSVaryingName; |
| 1157 | 1157 |
| (...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1372 return CircleInside2PtConicalEffect::Create(ctx, shader, matrix, tm, inf
o); | 1372 return CircleInside2PtConicalEffect::Create(ctx, shader, matrix, tm, inf
o); |
| 1373 } else if (type == kEdge_ConicalType) { | 1373 } else if (type == kEdge_ConicalType) { |
| 1374 set_matrix_edge_conical(shader, &matrix); | 1374 set_matrix_edge_conical(shader, &matrix); |
| 1375 return Edge2PtConicalEffect::Create(ctx, shader, matrix, tm); | 1375 return Edge2PtConicalEffect::Create(ctx, shader, matrix, tm); |
| 1376 } else { | 1376 } else { |
| 1377 return CircleOutside2PtConicalEffect::Create(ctx, shader, matrix, tm, in
fo); | 1377 return CircleOutside2PtConicalEffect::Create(ctx, shader, matrix, tm, in
fo); |
| 1378 } | 1378 } |
| 1379 } | 1379 } |
| 1380 | 1380 |
| 1381 #endif | 1381 #endif |
| OLD | NEW |