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 "GrDashingEffect.h" | 8 #include "GrDashingEffect.h" |
9 | 9 |
10 #include "../GrAARectRenderer.h" | 10 #include "../GrAARectRenderer.h" |
(...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
494 | 494 |
495 SkScalar getIntervalLength() const { return fIntervalLength; } | 495 SkScalar getIntervalLength() const { return fIntervalLength; } |
496 | 496 |
497 virtual void getGLProcessorKey(const GrBatchTracker&, | 497 virtual void getGLProcessorKey(const GrBatchTracker&, |
498 const GrGLCaps&, | 498 const GrGLCaps&, |
499 GrProcessorKeyBuilder* b) const SK_OVERRIDE; | 499 GrProcessorKeyBuilder* b) const SK_OVERRIDE; |
500 | 500 |
501 virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker&, | 501 virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker&, |
502 const GrGLCaps&) const SK_O
VERRIDE; | 502 const GrGLCaps&) const SK_O
VERRIDE; |
503 | 503 |
504 void initBatchTracker(GrBatchTracker* bt, const InitBT& init) const SK_OVERR
IDE; | 504 void initBatchTracker(GrBatchTracker* bt, const GrPipelineInfo& init) const
SK_OVERRIDE; |
505 | 505 |
506 bool onCanMakeEqual(const GrBatchTracker&, | 506 bool onCanMakeEqual(const GrBatchTracker&, |
507 const GrGeometryProcessor&, | 507 const GrGeometryProcessor&, |
508 const GrBatchTracker&) const SK_OVERRIDE; | 508 const GrBatchTracker&) const SK_OVERRIDE; |
509 | 509 |
510 private: | 510 private: |
511 DashingCircleEffect(GrColor, GrPrimitiveEdgeType edgeType, const DashInfo& i
nfo, | 511 DashingCircleEffect(GrColor, GrPrimitiveEdgeType edgeType, const DashInfo& i
nfo, |
512 SkScalar radius, const SkMatrix& localMatrix); | 512 SkScalar radius, const SkMatrix& localMatrix); |
513 | 513 |
514 bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; | 514 bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
699 } | 699 } |
700 | 700 |
701 bool DashingCircleEffect::onIsEqual(const GrGeometryProcessor& other) const { | 701 bool DashingCircleEffect::onIsEqual(const GrGeometryProcessor& other) const { |
702 const DashingCircleEffect& dce = other.cast<DashingCircleEffect>(); | 702 const DashingCircleEffect& dce = other.cast<DashingCircleEffect>(); |
703 return (fEdgeType == dce.fEdgeType && | 703 return (fEdgeType == dce.fEdgeType && |
704 fIntervalLength == dce.fIntervalLength && | 704 fIntervalLength == dce.fIntervalLength && |
705 fRadius == dce.fRadius && | 705 fRadius == dce.fRadius && |
706 fCenterX == dce.fCenterX); | 706 fCenterX == dce.fCenterX); |
707 } | 707 } |
708 | 708 |
709 void DashingCircleEffect::initBatchTracker(GrBatchTracker* bt, const InitBT& ini
t) const { | 709 void DashingCircleEffect::initBatchTracker(GrBatchTracker* bt, const GrPipelineI
nfo& init) const { |
710 DashingCircleBatchTracker* local = bt->cast<DashingCircleBatchTracker>(); | 710 DashingCircleBatchTracker* local = bt->cast<DashingCircleBatchTracker>(); |
711 local->fInputColorType = GetColorInputType(&local->fColor, this->color(), in
it, false); | 711 local->fInputColorType = GetColorInputType(&local->fColor, this->color(), in
it, false); |
712 local->fUsesLocalCoords = init.fUsesLocalCoords; | 712 local->fUsesLocalCoords = init.fUsesLocalCoords; |
713 } | 713 } |
714 | 714 |
715 bool DashingCircleEffect::onCanMakeEqual(const GrBatchTracker& m, | 715 bool DashingCircleEffect::onCanMakeEqual(const GrBatchTracker& m, |
716 const GrGeometryProcessor& that, | 716 const GrGeometryProcessor& that, |
717 const GrBatchTracker& t) const { | 717 const GrBatchTracker& t) const { |
718 const DashingCircleBatchTracker& mine = m.cast<DashingCircleBatchTracker>(); | 718 const DashingCircleBatchTracker& mine = m.cast<DashingCircleBatchTracker>(); |
719 const DashingCircleBatchTracker& theirs = t.cast<DashingCircleBatchTracker>(
); | 719 const DashingCircleBatchTracker& theirs = t.cast<DashingCircleBatchTracker>(
); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
788 | 788 |
789 SkScalar getIntervalLength() const { return fIntervalLength; } | 789 SkScalar getIntervalLength() const { return fIntervalLength; } |
790 | 790 |
791 virtual void getGLProcessorKey(const GrBatchTracker& bt, | 791 virtual void getGLProcessorKey(const GrBatchTracker& bt, |
792 const GrGLCaps& caps, | 792 const GrGLCaps& caps, |
793 GrProcessorKeyBuilder* b) const SK_OVERRIDE; | 793 GrProcessorKeyBuilder* b) const SK_OVERRIDE; |
794 | 794 |
795 virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt, | 795 virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt, |
796 const GrGLCaps&) const SK_O
VERRIDE; | 796 const GrGLCaps&) const SK_O
VERRIDE; |
797 | 797 |
798 void initBatchTracker(GrBatchTracker* bt, const InitBT& init) const SK_OVERR
IDE; | 798 void initBatchTracker(GrBatchTracker* bt, const GrPipelineInfo& init) const
SK_OVERRIDE; |
799 | 799 |
800 bool onCanMakeEqual(const GrBatchTracker&, | 800 bool onCanMakeEqual(const GrBatchTracker&, |
801 const GrGeometryProcessor&, | 801 const GrGeometryProcessor&, |
802 const GrBatchTracker&) const SK_OVERRIDE; | 802 const GrBatchTracker&) const SK_OVERRIDE; |
803 | 803 |
804 private: | 804 private: |
805 DashingLineEffect(GrColor, GrPrimitiveEdgeType edgeType, const DashInfo& inf
o, | 805 DashingLineEffect(GrColor, GrPrimitiveEdgeType edgeType, const DashInfo& inf
o, |
806 SkScalar strokeWidth, const SkMatrix& localMatrix); | 806 SkScalar strokeWidth, const SkMatrix& localMatrix); |
807 | 807 |
808 bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; | 808 bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1006 fRect.set(halfOffLen, -halfStroke, halfOffLen + onLen, halfStroke); | 1006 fRect.set(halfOffLen, -halfStroke, halfOffLen + onLen, halfStroke); |
1007 } | 1007 } |
1008 | 1008 |
1009 bool DashingLineEffect::onIsEqual(const GrGeometryProcessor& other) const { | 1009 bool DashingLineEffect::onIsEqual(const GrGeometryProcessor& other) const { |
1010 const DashingLineEffect& de = other.cast<DashingLineEffect>(); | 1010 const DashingLineEffect& de = other.cast<DashingLineEffect>(); |
1011 return (fEdgeType == de.fEdgeType && | 1011 return (fEdgeType == de.fEdgeType && |
1012 fRect == de.fRect && | 1012 fRect == de.fRect && |
1013 fIntervalLength == de.fIntervalLength); | 1013 fIntervalLength == de.fIntervalLength); |
1014 } | 1014 } |
1015 | 1015 |
1016 void DashingLineEffect::initBatchTracker(GrBatchTracker* bt, const InitBT& init)
const { | 1016 void DashingLineEffect::initBatchTracker(GrBatchTracker* bt, const GrPipelineInf
o& init) const { |
1017 DashingLineBatchTracker* local = bt->cast<DashingLineBatchTracker>(); | 1017 DashingLineBatchTracker* local = bt->cast<DashingLineBatchTracker>(); |
1018 local->fInputColorType = GetColorInputType(&local->fColor, this->color(), in
it, false); | 1018 local->fInputColorType = GetColorInputType(&local->fColor, this->color(), in
it, false); |
1019 local->fUsesLocalCoords = init.fUsesLocalCoords; | 1019 local->fUsesLocalCoords = init.fUsesLocalCoords; |
1020 } | 1020 } |
1021 | 1021 |
1022 bool DashingLineEffect::onCanMakeEqual(const GrBatchTracker& m, | 1022 bool DashingLineEffect::onCanMakeEqual(const GrBatchTracker& m, |
1023 const GrGeometryProcessor& that, | 1023 const GrGeometryProcessor& that, |
1024 const GrBatchTracker& t) const { | 1024 const GrBatchTracker& t) const { |
1025 const DashingLineBatchTracker& mine = m.cast<DashingLineBatchTracker>(); | 1025 const DashingLineBatchTracker& mine = m.cast<DashingLineBatchTracker>(); |
1026 const DashingLineBatchTracker& theirs = t.cast<DashingLineBatchTracker>(); | 1026 const DashingLineBatchTracker& theirs = t.cast<DashingLineBatchTracker>(); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1065 return DashingCircleEffect::Create(color, edgeType, info, | 1065 return DashingCircleEffect::Create(color, edgeType, info, |
1066 SkScalarHalf(strokeWidth), | 1066 SkScalarHalf(strokeWidth), |
1067 localMatrix); | 1067 localMatrix); |
1068 case GrDashingEffect::kNonRound_DashCap: | 1068 case GrDashingEffect::kNonRound_DashCap: |
1069 return DashingLineEffect::Create(color, edgeType, info, strokeWidth,
localMatrix); | 1069 return DashingLineEffect::Create(color, edgeType, info, strokeWidth,
localMatrix); |
1070 default: | 1070 default: |
1071 SkFAIL("Unexpected dashed cap."); | 1071 SkFAIL("Unexpected dashed cap."); |
1072 } | 1072 } |
1073 return NULL; | 1073 return NULL; |
1074 } | 1074 } |
OLD | NEW |