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 "GrBatch.h" | 10 #include "GrBatch.h" |
(...skipping 765 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
776 const char* name() const override { return "DashingCircleEffect"; } | 776 const char* name() const override { return "DashingCircleEffect"; } |
777 | 777 |
778 const Attribute* inPosition() const { return fInPosition; } | 778 const Attribute* inPosition() const { return fInPosition; } |
779 | 779 |
780 const Attribute* inDashParams() const { return fInDashParams; } | 780 const Attribute* inDashParams() const { return fInDashParams; } |
781 | 781 |
782 const Attribute* inCircleParams() const { return fInCircleParams; } | 782 const Attribute* inCircleParams() const { return fInCircleParams; } |
783 | 783 |
784 DashAAMode aaMode() const { return fAAMode; } | 784 DashAAMode aaMode() const { return fAAMode; } |
785 | 785 |
| 786 GrColor color() const { return fColor; } |
| 787 |
786 virtual void getGLProcessorKey(const GrBatchTracker&, | 788 virtual void getGLProcessorKey(const GrBatchTracker&, |
787 const GrGLSLCaps&, | 789 const GrGLSLCaps&, |
788 GrProcessorKeyBuilder* b) const override; | 790 GrProcessorKeyBuilder* b) const override; |
789 | 791 |
790 virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker&, | 792 virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker&, |
791 const GrGLSLCaps&) const ov
erride; | 793 const GrGLSLCaps&) const ov
erride; |
792 | 794 |
793 void initBatchTracker(GrBatchTracker* bt, const GrPipelineInfo& init) const
override; | 795 void initBatchTracker(GrBatchTracker* bt, const GrPipelineInfo& init) const
override; |
794 | 796 |
795 private: | 797 private: |
796 DashingCircleEffect(GrColor, DashAAMode aaMode, const SkMatrix& localMatrix)
; | 798 DashingCircleEffect(GrColor, DashAAMode aaMode, const SkMatrix& localMatrix)
; |
797 | 799 |
| 800 GrColor fColor; |
798 DashAAMode fAAMode; | 801 DashAAMode fAAMode; |
799 const Attribute* fInPosition; | 802 const Attribute* fInPosition; |
800 const Attribute* fInDashParams; | 803 const Attribute* fInDashParams; |
801 const Attribute* fInCircleParams; | 804 const Attribute* fInCircleParams; |
802 | 805 |
803 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; | 806 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; |
804 | 807 |
805 typedef GrGeometryProcessor INHERITED; | 808 typedef GrGeometryProcessor INHERITED; |
806 }; | 809 }; |
807 | 810 |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
930 } | 933 } |
931 | 934 |
932 GrGLPrimitiveProcessor* DashingCircleEffect::createGLInstance(const GrBatchTrack
er& bt, | 935 GrGLPrimitiveProcessor* DashingCircleEffect::createGLInstance(const GrBatchTrack
er& bt, |
933 const GrGLSLCaps&)
const { | 936 const GrGLSLCaps&)
const { |
934 return SkNEW_ARGS(GLDashingCircleEffect, (*this, bt)); | 937 return SkNEW_ARGS(GLDashingCircleEffect, (*this, bt)); |
935 } | 938 } |
936 | 939 |
937 DashingCircleEffect::DashingCircleEffect(GrColor color, | 940 DashingCircleEffect::DashingCircleEffect(GrColor color, |
938 DashAAMode aaMode, | 941 DashAAMode aaMode, |
939 const SkMatrix& localMatrix) | 942 const SkMatrix& localMatrix) |
940 : INHERITED(color, SkMatrix::I(), localMatrix), fAAMode(aaMode) { | 943 : INHERITED(SkMatrix::I(), localMatrix) |
| 944 , fColor(color) |
| 945 , fAAMode(aaMode) { |
941 this->initClassID<DashingCircleEffect>(); | 946 this->initClassID<DashingCircleEffect>(); |
942 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertex
AttribType)); | 947 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertex
AttribType)); |
943 fInDashParams = &this->addVertexAttrib(Attribute("inDashParams", kVec3f_GrVe
rtexAttribType)); | 948 fInDashParams = &this->addVertexAttrib(Attribute("inDashParams", kVec3f_GrVe
rtexAttribType)); |
944 fInCircleParams = &this->addVertexAttrib(Attribute("inCircleParams", | 949 fInCircleParams = &this->addVertexAttrib(Attribute("inCircleParams", |
945 kVec2f_GrVertexAttribType
)); | 950 kVec2f_GrVertexAttribType
)); |
946 } | 951 } |
947 | 952 |
948 void DashingCircleEffect::initBatchTracker(GrBatchTracker* bt, const GrPipelineI
nfo& init) const { | 953 void DashingCircleEffect::initBatchTracker(GrBatchTracker* bt, const GrPipelineI
nfo& init) const { |
949 DashingCircleBatchTracker* local = bt->cast<DashingCircleBatchTracker>(); | 954 DashingCircleBatchTracker* local = bt->cast<DashingCircleBatchTracker>(); |
950 local->fInputColorType = GetColorInputType(&local->fColor, this->color(), in
it, false); | 955 local->fInputColorType = GetColorInputType(&local->fColor, this->color(), in
it, false); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
992 const char* name() const override { return "DashingEffect"; } | 997 const char* name() const override { return "DashingEffect"; } |
993 | 998 |
994 const Attribute* inPosition() const { return fInPosition; } | 999 const Attribute* inPosition() const { return fInPosition; } |
995 | 1000 |
996 const Attribute* inDashParams() const { return fInDashParams; } | 1001 const Attribute* inDashParams() const { return fInDashParams; } |
997 | 1002 |
998 const Attribute* inRectParams() const { return fInRectParams; } | 1003 const Attribute* inRectParams() const { return fInRectParams; } |
999 | 1004 |
1000 DashAAMode aaMode() const { return fAAMode; } | 1005 DashAAMode aaMode() const { return fAAMode; } |
1001 | 1006 |
| 1007 GrColor color() const { return fColor; } |
| 1008 |
1002 virtual void getGLProcessorKey(const GrBatchTracker& bt, | 1009 virtual void getGLProcessorKey(const GrBatchTracker& bt, |
1003 const GrGLSLCaps& caps, | 1010 const GrGLSLCaps& caps, |
1004 GrProcessorKeyBuilder* b) const override; | 1011 GrProcessorKeyBuilder* b) const override; |
1005 | 1012 |
1006 virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt, | 1013 virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt, |
1007 const GrGLSLCaps&) const ov
erride; | 1014 const GrGLSLCaps&) const ov
erride; |
1008 | 1015 |
1009 void initBatchTracker(GrBatchTracker* bt, const GrPipelineInfo& init) const
override; | 1016 void initBatchTracker(GrBatchTracker* bt, const GrPipelineInfo& init) const
override; |
1010 | 1017 |
1011 private: | 1018 private: |
1012 DashingLineEffect(GrColor, DashAAMode aaMode, const SkMatrix& localMatrix); | 1019 DashingLineEffect(GrColor, DashAAMode aaMode, const SkMatrix& localMatrix); |
1013 | 1020 |
| 1021 GrColor fColor; |
1014 DashAAMode fAAMode; | 1022 DashAAMode fAAMode; |
1015 const Attribute* fInPosition; | 1023 const Attribute* fInPosition; |
1016 const Attribute* fInDashParams; | 1024 const Attribute* fInDashParams; |
1017 const Attribute* fInRectParams; | 1025 const Attribute* fInRectParams; |
1018 | 1026 |
1019 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; | 1027 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; |
1020 | 1028 |
1021 typedef GrGeometryProcessor INHERITED; | 1029 typedef GrGeometryProcessor INHERITED; |
1022 }; | 1030 }; |
1023 | 1031 |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1158 } | 1166 } |
1159 | 1167 |
1160 GrGLPrimitiveProcessor* DashingLineEffect::createGLInstance(const GrBatchTracker
& bt, | 1168 GrGLPrimitiveProcessor* DashingLineEffect::createGLInstance(const GrBatchTracker
& bt, |
1161 const GrGLSLCaps&) c
onst { | 1169 const GrGLSLCaps&) c
onst { |
1162 return SkNEW_ARGS(GLDashingLineEffect, (*this, bt)); | 1170 return SkNEW_ARGS(GLDashingLineEffect, (*this, bt)); |
1163 } | 1171 } |
1164 | 1172 |
1165 DashingLineEffect::DashingLineEffect(GrColor color, | 1173 DashingLineEffect::DashingLineEffect(GrColor color, |
1166 DashAAMode aaMode, | 1174 DashAAMode aaMode, |
1167 const SkMatrix& localMatrix) | 1175 const SkMatrix& localMatrix) |
1168 : INHERITED(color, SkMatrix::I(), localMatrix), fAAMode(aaMode) { | 1176 : INHERITED(SkMatrix::I(), localMatrix) |
| 1177 , fColor(color) |
| 1178 , fAAMode(aaMode) { |
1169 this->initClassID<DashingLineEffect>(); | 1179 this->initClassID<DashingLineEffect>(); |
1170 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertex
AttribType)); | 1180 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertex
AttribType)); |
1171 fInDashParams = &this->addVertexAttrib(Attribute("inDashParams", kVec3f_GrVe
rtexAttribType)); | 1181 fInDashParams = &this->addVertexAttrib(Attribute("inDashParams", kVec3f_GrVe
rtexAttribType)); |
1172 fInRectParams = &this->addVertexAttrib(Attribute("inRect", kVec4f_GrVertexAt
tribType)); | 1182 fInRectParams = &this->addVertexAttrib(Attribute("inRect", kVec4f_GrVertexAt
tribType)); |
1173 } | 1183 } |
1174 | 1184 |
1175 void DashingLineEffect::initBatchTracker(GrBatchTracker* bt, const GrPipelineInf
o& init) const { | 1185 void DashingLineEffect::initBatchTracker(GrBatchTracker* bt, const GrPipelineInf
o& init) const { |
1176 DashingLineBatchTracker* local = bt->cast<DashingLineBatchTracker>(); | 1186 DashingLineBatchTracker* local = bt->cast<DashingLineBatchTracker>(); |
1177 local->fInputColorType = GetColorInputType(&local->fColor, this->color(), in
it, false); | 1187 local->fInputColorType = GetColorInputType(&local->fColor, this->color(), in
it, false); |
1178 local->fUsesLocalCoords = init.fUsesLocalCoords; | 1188 local->fUsesLocalCoords = init.fUsesLocalCoords; |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1279 info.fIntervals = intervals; | 1289 info.fIntervals = intervals; |
1280 info.fCount = 2; | 1290 info.fCount = 2; |
1281 info.fPhase = phase; | 1291 info.fPhase = phase; |
1282 SkDEBUGCODE(bool success = ) strokeInfo.setDashInfo(info); | 1292 SkDEBUGCODE(bool success = ) strokeInfo.setDashInfo(info); |
1283 SkASSERT(success); | 1293 SkASSERT(success); |
1284 | 1294 |
1285 return create_batch(color, viewMatrix, pts, useAA, strokeInfo, msaaRT); | 1295 return create_batch(color, viewMatrix, pts, useAA, strokeInfo, msaaRT); |
1286 } | 1296 } |
1287 | 1297 |
1288 #endif | 1298 #endif |
OLD | NEW |