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

Side by Side Diff: src/gpu/effects/GrDashingEffect.cpp

Issue 2041113004: sk_sp for gpu. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Reserve correctly. Created 4 years, 6 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
« no previous file with comments | « src/gpu/effects/GrCustomXfermode.cpp ('k') | src/gpu/effects/GrDisableColorXP.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "GrBatchFlushState.h" 10 #include "GrBatchFlushState.h"
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 matrix.mapPoints(&verts[idx], 4); 225 matrix.mapPoints(&verts[idx], 4);
226 } 226 }
227 227
228 228
229 /** 229 /**
230 * An GrGeometryProcessor that renders a dashed line. 230 * An GrGeometryProcessor that renders a dashed line.
231 * This GrGeometryProcessor is meant for dashed lines that only have a single on /off interval pair. 231 * This GrGeometryProcessor is meant for dashed lines that only have a single on /off interval pair.
232 * Bounding geometry is rendered and the effect computes coverage based on the f ragment's 232 * Bounding geometry is rendered and the effect computes coverage based on the f ragment's
233 * position relative to the dashed line. 233 * position relative to the dashed line.
234 */ 234 */
235 static GrGeometryProcessor* create_dash_gp(GrColor, 235 static sk_sp<GrGeometryProcessor> make_dash_gp(GrColor,
236 AAMode aaMode, 236 AAMode aaMode,
237 DashCap cap, 237 DashCap cap,
238 const SkMatrix& localMatrix, 238 const SkMatrix& localMatrix,
239 bool usesLocalCoords); 239 bool usesLocalCoords);
240 240
241 class DashBatch : public GrVertexBatch { 241 class DashBatch : public GrVertexBatch {
242 public: 242 public:
243 DEFINE_BATCH_CLASS_ID 243 DEFINE_BATCH_CLASS_ID
244 struct Geometry { 244 struct Geometry {
245 SkMatrix fViewMatrix; 245 SkMatrix fViewMatrix;
246 SkMatrix fSrcRotInv; 246 SkMatrix fSrcRotInv;
247 SkPoint fPtsRot[2]; 247 SkPoint fPtsRot[2];
248 SkScalar fSrcStrokeWidth; 248 SkScalar fSrcStrokeWidth;
249 SkScalar fPhase; 249 SkScalar fPhase;
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 bool fHasStartRect; 324 bool fHasStartRect;
325 bool fHasEndRect; 325 bool fHasEndRect;
326 }; 326 };
327 327
328 void onPrepareDraws(Target* target) const override { 328 void onPrepareDraws(Target* target) const override {
329 int instanceCount = fGeoData.count(); 329 int instanceCount = fGeoData.count();
330 SkPaint::Cap cap = this->cap(); 330 SkPaint::Cap cap = this->cap();
331 bool isRoundCap = SkPaint::kRound_Cap == cap; 331 bool isRoundCap = SkPaint::kRound_Cap == cap;
332 DashCap capType = isRoundCap ? kRound_DashCap : kNonRound_DashCap; 332 DashCap capType = isRoundCap ? kRound_DashCap : kNonRound_DashCap;
333 333
334 SkAutoTUnref<const GrGeometryProcessor> gp; 334 sk_sp<GrGeometryProcessor> gp;
335 if (this->fullDash()) { 335 if (this->fullDash()) {
336 gp.reset(create_dash_gp(this->color(), this->aaMode(), capType, this ->viewMatrix(), 336 gp = make_dash_gp(this->color(), this->aaMode(), capType, this->view Matrix(),
337 this->usesLocalCoords())); 337 this->usesLocalCoords());
338 } else { 338 } else {
339 // Set up the vertex data for the line and start/end dashes 339 // Set up the vertex data for the line and start/end dashes
340 using namespace GrDefaultGeoProcFactory; 340 using namespace GrDefaultGeoProcFactory;
341 Color color(this->color()); 341 Color color(this->color());
342 Coverage coverage(this->coverageIgnored() ? Coverage::kNone_Type : 342 Coverage coverage(this->coverageIgnored() ? Coverage::kNone_Type :
343 Coverage::kSolid_Type); 343 Coverage::kSolid_Type);
344 LocalCoords localCoords(this->usesLocalCoords() ? LocalCoords::kUseP osition_Type : 344 LocalCoords localCoords(this->usesLocalCoords() ? LocalCoords::kUseP osition_Type :
345 LocalCoords::kUnus ed_Type); 345 LocalCoords::kUnus ed_Type);
346 gp.reset(CreateForDeviceSpace(color, coverage, localCoords, this->vi ewMatrix())); 346 gp = MakeForDeviceSpace(color, coverage, localCoords, this->viewMatr ix());
347 } 347 }
348 348
349 if (!gp) { 349 if (!gp) {
350 SkDebugf("Could not create GrGeometryProcessor\n"); 350 SkDebugf("Could not create GrGeometryProcessor\n");
351 return; 351 return;
352 } 352 }
353 353
354 // useAA here means Edge AA or MSAA 354 // useAA here means Edge AA or MSAA
355 bool useAA = this->aaMode() != AAMode::kNone; 355 bool useAA = this->aaMode() != AAMode::kNone;
356 bool fullDash = this->fullDash(); 356 bool fullDash = this->fullDash();
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
615 } else { 615 } else {
616 SkPoint* verts = reinterpret_cast<SkPoint*>(vertices); 616 SkPoint* verts = reinterpret_cast<SkPoint*>(vertices);
617 SkASSERT(gp->getVertexStride() == sizeof(SkPoint)); 617 SkASSERT(gp->getVertexStride() == sizeof(SkPoint));
618 setup_dashed_rect_pos(rects[rectIndex], curVIdx, geom.fSrcRo tInv, verts); 618 setup_dashed_rect_pos(rects[rectIndex], curVIdx, geom.fSrcRo tInv, verts);
619 } 619 }
620 curVIdx += 4; 620 curVIdx += 4;
621 } 621 }
622 rectIndex++; 622 rectIndex++;
623 } 623 }
624 SkASSERT(0 == (curVIdx % 4) && (curVIdx / 4) == totalRectCount); 624 SkASSERT(0 == (curVIdx % 4) && (curVIdx / 4) == totalRectCount);
625 helper.recordDraw(target, gp); 625 helper.recordDraw(target, gp.get());
626 } 626 }
627 627
628 bool onCombineIfPossible(GrBatch* t, const GrCaps& caps) override { 628 bool onCombineIfPossible(GrBatch* t, const GrCaps& caps) override {
629 DashBatch* that = t->cast<DashBatch>(); 629 DashBatch* that = t->cast<DashBatch>();
630 if (!GrPipeline::CanCombine(*this->pipeline(), this->bounds(), *that->pi peline(), 630 if (!GrPipeline::CanCombine(*this->pipeline(), this->bounds(), *that->pi peline(),
631 that->bounds(), caps)) { 631 that->bounds(), caps)) {
632 return false; 632 return false;
633 } 633 }
634 634
635 if (this->aaMode() != that->aaMode()) { 635 if (this->aaMode() != that->aaMode()) {
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
750 * Both of the previous two parameters are in device space. This effect also req uires the setting of 750 * Both of the previous two parameters are in device space. This effect also req uires the setting of
751 * a vec2 vertex attribute for the the four corners of the bounding rect. This a ttribute is the 751 * a vec2 vertex attribute for the the four corners of the bounding rect. This a ttribute is the
752 * "dash position" of each vertex. In other words it is the vertex coords (in de vice space) if we 752 * "dash position" of each vertex. In other words it is the vertex coords (in de vice space) if we
753 * transform the line to be horizontal, with the start of line at the origin the n shifted to the 753 * transform the line to be horizontal, with the start of line at the origin the n shifted to the
754 * right by half the off interval. The line then goes in the positive x directio n. 754 * right by half the off interval. The line then goes in the positive x directio n.
755 */ 755 */
756 class DashingCircleEffect : public GrGeometryProcessor { 756 class DashingCircleEffect : public GrGeometryProcessor {
757 public: 757 public:
758 typedef SkPathEffect::DashInfo DashInfo; 758 typedef SkPathEffect::DashInfo DashInfo;
759 759
760 static GrGeometryProcessor* Create(GrColor, 760 static sk_sp<GrGeometryProcessor> Make(GrColor,
761 AAMode aaMode, 761 AAMode aaMode,
762 const SkMatrix& localMatrix, 762 const SkMatrix& localMatrix,
763 bool usesLocalCoords); 763 bool usesLocalCoords);
764 764
765 const char* name() const override { return "DashingCircleEffect"; } 765 const char* name() const override { return "DashingCircleEffect"; }
766 766
767 const Attribute* inPosition() const { return fInPosition; } 767 const Attribute* inPosition() const { return fInPosition; }
768 768
769 const Attribute* inDashParams() const { return fInDashParams; } 769 const Attribute* inDashParams() const { return fInDashParams; }
770 770
771 const Attribute* inCircleParams() const { return fInCircleParams; } 771 const Attribute* inCircleParams() const { return fInCircleParams; }
772 772
773 AAMode aaMode() const { return fAAMode; } 773 AAMode aaMode() const { return fAAMode; }
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
912 const DashingCircleEffect& dce = gp.cast<DashingCircleEffect>(); 912 const DashingCircleEffect& dce = gp.cast<DashingCircleEffect>();
913 uint32_t key = 0; 913 uint32_t key = 0;
914 key |= dce.usesLocalCoords() && dce.localMatrix().hasPerspective() ? 0x1 : 0 x0; 914 key |= dce.usesLocalCoords() && dce.localMatrix().hasPerspective() ? 0x1 : 0 x0;
915 key |= dce.colorIgnored() ? 0x2 : 0x0; 915 key |= dce.colorIgnored() ? 0x2 : 0x0;
916 key |= static_cast<uint32_t>(dce.aaMode()) << 8; 916 key |= static_cast<uint32_t>(dce.aaMode()) << 8;
917 b->add32(key); 917 b->add32(key);
918 } 918 }
919 919
920 ////////////////////////////////////////////////////////////////////////////// 920 //////////////////////////////////////////////////////////////////////////////
921 921
922 GrGeometryProcessor* DashingCircleEffect::Create(GrColor color, 922 sk_sp<GrGeometryProcessor> DashingCircleEffect::Make(GrColor color,
923 AAMode aaMode, 923 AAMode aaMode,
924 const SkMatrix& localMatrix, 924 const SkMatrix& localMatrix ,
925 bool usesLocalCoords) { 925 bool usesLocalCoords) {
926 return new DashingCircleEffect(color, aaMode, localMatrix, usesLocalCoords); 926 return sk_sp<GrGeometryProcessor>(
927 new DashingCircleEffect(color, aaMode, localMatrix, usesLocalCoords));
927 } 928 }
928 929
929 void DashingCircleEffect::getGLSLProcessorKey(const GrGLSLCaps& caps, 930 void DashingCircleEffect::getGLSLProcessorKey(const GrGLSLCaps& caps,
930 GrProcessorKeyBuilder* b) const { 931 GrProcessorKeyBuilder* b) const {
931 GLDashingCircleEffect::GenKey(*this, caps, b); 932 GLDashingCircleEffect::GenKey(*this, caps, b);
932 } 933 }
933 934
934 GrGLSLPrimitiveProcessor* DashingCircleEffect::createGLSLInstance(const GrGLSLCa ps&) const { 935 GrGLSLPrimitiveProcessor* DashingCircleEffect::createGLSLInstance(const GrGLSLCa ps&) const {
935 return new GLDashingCircleEffect(); 936 return new GLDashingCircleEffect();
936 } 937 }
937 938
938 DashingCircleEffect::DashingCircleEffect(GrColor color, 939 DashingCircleEffect::DashingCircleEffect(GrColor color,
939 AAMode aaMode, 940 AAMode aaMode,
940 const SkMatrix& localMatrix, 941 const SkMatrix& localMatrix,
941 bool usesLocalCoords) 942 bool usesLocalCoords)
942 : fColor(color) 943 : fColor(color)
943 , fLocalMatrix(localMatrix) 944 , fLocalMatrix(localMatrix)
944 , fUsesLocalCoords(usesLocalCoords) 945 , fUsesLocalCoords(usesLocalCoords)
945 , fAAMode(aaMode) { 946 , fAAMode(aaMode) {
946 this->initClassID<DashingCircleEffect>(); 947 this->initClassID<DashingCircleEffect>();
947 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertex AttribType)); 948 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertex AttribType));
948 fInDashParams = &this->addVertexAttrib(Attribute("inDashParams", kVec3f_GrVe rtexAttribType)); 949 fInDashParams = &this->addVertexAttrib(Attribute("inDashParams", kVec3f_GrVe rtexAttribType));
949 fInCircleParams = &this->addVertexAttrib(Attribute("inCircleParams", 950 fInCircleParams = &this->addVertexAttrib(Attribute("inCircleParams",
950 kVec2f_GrVertexAttribType )); 951 kVec2f_GrVertexAttribType ));
951 } 952 }
952 953
953 GR_DEFINE_GEOMETRY_PROCESSOR_TEST(DashingCircleEffect); 954 GR_DEFINE_GEOMETRY_PROCESSOR_TEST(DashingCircleEffect);
954 955
955 const GrGeometryProcessor* DashingCircleEffect::TestCreate(GrProcessorTestData* d) { 956 sk_sp<GrGeometryProcessor> DashingCircleEffect::TestCreate(GrProcessorTestData* d) {
956 AAMode aaMode = static_cast<AAMode>(d->fRandom->nextULessThan(GrDashingEffec t::kAAModeCnt)); 957 AAMode aaMode = static_cast<AAMode>(d->fRandom->nextULessThan(GrDashingEffec t::kAAModeCnt));
957 return DashingCircleEffect::Create(GrRandomColor(d->fRandom), 958 return DashingCircleEffect::Make(GrRandomColor(d->fRandom),
958 aaMode, GrTest::TestMatrix(d->fRandom), 959 aaMode, GrTest::TestMatrix(d->fRandom),
959 d->fRandom->nextBool()); 960 d->fRandom->nextBool());
960 } 961 }
961 962
962 ////////////////////////////////////////////////////////////////////////////// 963 //////////////////////////////////////////////////////////////////////////////
963 964
964 class GLDashingLineEffect; 965 class GLDashingLineEffect;
965 966
966 /* 967 /*
967 * This effect will draw a dashed line. The width of the dash is given by the st rokeWidth and the 968 * This effect will draw a dashed line. The width of the dash is given by the st rokeWidth and the
968 * length and spacing by the DashInfo. Both of the previous two parameters are i n device space. 969 * length and spacing by the DashInfo. Both of the previous two parameters are i n device space.
969 * This effect also requires the setting of a vec2 vertex attribute for the the four corners of the 970 * This effect also requires the setting of a vec2 vertex attribute for the the four corners of the
970 * bounding rect. This attribute is the "dash position" of each vertex. In other words it is the 971 * bounding rect. This attribute is the "dash position" of each vertex. In other words it is the
971 * vertex coords (in device space) if we transform the line to be horizontal, wi th the start of 972 * vertex coords (in device space) if we transform the line to be horizontal, wi th the start of
972 * line at the origin then shifted to the right by half the off interval. The li ne then goes in the 973 * line at the origin then shifted to the right by half the off interval. The li ne then goes in the
973 * positive x direction. 974 * positive x direction.
974 */ 975 */
975 class DashingLineEffect : public GrGeometryProcessor { 976 class DashingLineEffect : public GrGeometryProcessor {
976 public: 977 public:
977 typedef SkPathEffect::DashInfo DashInfo; 978 typedef SkPathEffect::DashInfo DashInfo;
978 979
979 static GrGeometryProcessor* Create(GrColor, 980 static sk_sp<GrGeometryProcessor> Make(GrColor,
980 AAMode aaMode, 981 AAMode aaMode,
981 const SkMatrix& localMatrix, 982 const SkMatrix& localMatrix,
982 bool usesLocalCoords); 983 bool usesLocalCoords);
983 984
984 const char* name() const override { return "DashingEffect"; } 985 const char* name() const override { return "DashingEffect"; }
985 986
986 const Attribute* inPosition() const { return fInPosition; } 987 const Attribute* inPosition() const { return fInPosition; }
987 988
988 const Attribute* inDashParams() const { return fInDashParams; } 989 const Attribute* inDashParams() const { return fInDashParams; }
989 990
990 const Attribute* inRectParams() const { return fInRectParams; } 991 const Attribute* inRectParams() const { return fInRectParams; }
991 992
992 AAMode aaMode() const { return fAAMode; } 993 AAMode aaMode() const { return fAAMode; }
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
1144 const DashingLineEffect& de = gp.cast<DashingLineEffect>(); 1145 const DashingLineEffect& de = gp.cast<DashingLineEffect>();
1145 uint32_t key = 0; 1146 uint32_t key = 0;
1146 key |= de.usesLocalCoords() && de.localMatrix().hasPerspective() ? 0x1 : 0x0 ; 1147 key |= de.usesLocalCoords() && de.localMatrix().hasPerspective() ? 0x1 : 0x0 ;
1147 key |= de.colorIgnored() ? 0x2 : 0x0; 1148 key |= de.colorIgnored() ? 0x2 : 0x0;
1148 key |= static_cast<int>(de.aaMode()) << 8; 1149 key |= static_cast<int>(de.aaMode()) << 8;
1149 b->add32(key); 1150 b->add32(key);
1150 } 1151 }
1151 1152
1152 ////////////////////////////////////////////////////////////////////////////// 1153 //////////////////////////////////////////////////////////////////////////////
1153 1154
1154 GrGeometryProcessor* DashingLineEffect::Create(GrColor color, 1155 sk_sp<GrGeometryProcessor> DashingLineEffect::Make(GrColor color,
1155 AAMode aaMode, 1156 AAMode aaMode,
1156 const SkMatrix& localMatrix, 1157 const SkMatrix& localMatrix,
1157 bool usesLocalCoords) { 1158 bool usesLocalCoords) {
1158 return new DashingLineEffect(color, aaMode, localMatrix, usesLocalCoords); 1159 return sk_sp<GrGeometryProcessor>(
1160 new DashingLineEffect(color, aaMode, localMatrix, usesLocalCoords));
1159 } 1161 }
1160 1162
1161 void DashingLineEffect::getGLSLProcessorKey(const GrGLSLCaps& caps, 1163 void DashingLineEffect::getGLSLProcessorKey(const GrGLSLCaps& caps,
1162 GrProcessorKeyBuilder* b) const { 1164 GrProcessorKeyBuilder* b) const {
1163 GLDashingLineEffect::GenKey(*this, caps, b); 1165 GLDashingLineEffect::GenKey(*this, caps, b);
1164 } 1166 }
1165 1167
1166 GrGLSLPrimitiveProcessor* DashingLineEffect::createGLSLInstance(const GrGLSLCaps &) const { 1168 GrGLSLPrimitiveProcessor* DashingLineEffect::createGLSLInstance(const GrGLSLCaps &) const {
1167 return new GLDashingLineEffect(); 1169 return new GLDashingLineEffect();
1168 } 1170 }
1169 1171
1170 DashingLineEffect::DashingLineEffect(GrColor color, 1172 DashingLineEffect::DashingLineEffect(GrColor color,
1171 AAMode aaMode, 1173 AAMode aaMode,
1172 const SkMatrix& localMatrix, 1174 const SkMatrix& localMatrix,
1173 bool usesLocalCoords) 1175 bool usesLocalCoords)
1174 : fColor(color) 1176 : fColor(color)
1175 , fLocalMatrix(localMatrix) 1177 , fLocalMatrix(localMatrix)
1176 , fUsesLocalCoords(usesLocalCoords) 1178 , fUsesLocalCoords(usesLocalCoords)
1177 , fAAMode(aaMode) { 1179 , fAAMode(aaMode) {
1178 this->initClassID<DashingLineEffect>(); 1180 this->initClassID<DashingLineEffect>();
1179 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertex AttribType)); 1181 fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertex AttribType));
1180 fInDashParams = &this->addVertexAttrib(Attribute("inDashParams", kVec3f_GrVe rtexAttribType)); 1182 fInDashParams = &this->addVertexAttrib(Attribute("inDashParams", kVec3f_GrVe rtexAttribType));
1181 fInRectParams = &this->addVertexAttrib(Attribute("inRect", kVec4f_GrVertexAt tribType)); 1183 fInRectParams = &this->addVertexAttrib(Attribute("inRect", kVec4f_GrVertexAt tribType));
1182 } 1184 }
1183 1185
1184 GR_DEFINE_GEOMETRY_PROCESSOR_TEST(DashingLineEffect); 1186 GR_DEFINE_GEOMETRY_PROCESSOR_TEST(DashingLineEffect);
1185 1187
1186 const GrGeometryProcessor* DashingLineEffect::TestCreate(GrProcessorTestData* d) { 1188 sk_sp<GrGeometryProcessor> DashingLineEffect::TestCreate(GrProcessorTestData* d) {
1187 AAMode aaMode = static_cast<AAMode>(d->fRandom->nextULessThan(GrDashingEffec t::kAAModeCnt)); 1189 AAMode aaMode = static_cast<AAMode>(d->fRandom->nextULessThan(GrDashingEffec t::kAAModeCnt));
1188 return DashingLineEffect::Create(GrRandomColor(d->fRandom), 1190 return DashingLineEffect::Make(GrRandomColor(d->fRandom),
1189 aaMode, GrTest::TestMatrix(d->fRandom), 1191 aaMode, GrTest::TestMatrix(d->fRandom),
1190 d->fRandom->nextBool()); 1192 d->fRandom->nextBool());
1191 } 1193 }
1192 1194
1193 ////////////////////////////////////////////////////////////////////////////// 1195 //////////////////////////////////////////////////////////////////////////////
1194 1196
1195 static GrGeometryProcessor* create_dash_gp(GrColor color, 1197 static sk_sp<GrGeometryProcessor> make_dash_gp(GrColor color,
1196 AAMode aaMode, 1198 AAMode aaMode,
1197 DashCap cap, 1199 DashCap cap,
1198 const SkMatrix& viewMatrix, 1200 const SkMatrix& viewMatrix,
1199 bool usesLocalCoords) { 1201 bool usesLocalCoords) {
1200 SkMatrix invert; 1202 SkMatrix invert;
1201 if (usesLocalCoords && !viewMatrix.invert(&invert)) { 1203 if (usesLocalCoords && !viewMatrix.invert(&invert)) {
1202 SkDebugf("Failed to invert\n"); 1204 SkDebugf("Failed to invert\n");
1203 return nullptr; 1205 return nullptr;
1204 } 1206 }
1205 1207
1206 switch (cap) { 1208 switch (cap) {
1207 case kRound_DashCap: 1209 case kRound_DashCap:
1208 return DashingCircleEffect::Create(color, aaMode, invert, usesLocalC oords); 1210 return DashingCircleEffect::Make(color, aaMode, invert, usesLocalCoo rds);
1209 case kNonRound_DashCap: 1211 case kNonRound_DashCap:
1210 return DashingLineEffect::Create(color, aaMode, invert, usesLocalCoo rds); 1212 return DashingLineEffect::Make(color, aaMode, invert, usesLocalCoord s);
1211 } 1213 }
1212 return nullptr; 1214 return nullptr;
1213 } 1215 }
1214 1216
1215 //////////////////////////////////////////////////////////////////////////////// ///////////////// 1217 //////////////////////////////////////////////////////////////////////////////// /////////////////
1216 1218
1217 #ifdef GR_TEST_UTILS 1219 #ifdef GR_TEST_UTILS
1218 1220
1219 DRAW_BATCH_TEST_DEFINE(DashBatch) { 1221 DRAW_BATCH_TEST_DEFINE(DashBatch) {
1220 GrColor color = GrRandomColor(random); 1222 GrColor color = GrRandomColor(random);
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
1278 p.setStrokeWidth(SkIntToScalar(1)); 1280 p.setStrokeWidth(SkIntToScalar(1));
1279 p.setStrokeCap(cap); 1281 p.setStrokeCap(cap);
1280 p.setPathEffect(GrTest::TestDashPathEffect::Make(intervals, 2, phase)); 1282 p.setPathEffect(GrTest::TestDashPathEffect::Make(intervals, 2, phase));
1281 1283
1282 GrStyle style(p); 1284 GrStyle style(p);
1283 1285
1284 return GrDashingEffect::CreateDashLineBatch(color, viewMatrix, pts, aaMode, style); 1286 return GrDashingEffect::CreateDashLineBatch(color, viewMatrix, pts, aaMode, style);
1285 } 1287 }
1286 1288
1287 #endif 1289 #endif
OLDNEW
« no previous file with comments | « src/gpu/effects/GrCustomXfermode.cpp ('k') | src/gpu/effects/GrDisableColorXP.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698