OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2013 Google Inc. | 3 * Copyright 2013 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 // This test only works with the GPU backend. | 9 // This test only works with the GPU backend. |
10 | 10 |
(...skipping 28 matching lines...) Expand all Loading... |
39 const char* name() const override { return "BezierCubicOrConicTestBatch"; } | 39 const char* name() const override { return "BezierCubicOrConicTestBatch"; } |
40 | 40 |
41 static GrBatch* Create(const GrGeometryProcessor* gp, const Geometry& geo, | 41 static GrBatch* Create(const GrGeometryProcessor* gp, const Geometry& geo, |
42 const SkScalar klmEqs[9], SkScalar sign) { | 42 const SkScalar klmEqs[9], SkScalar sign) { |
43 return SkNEW_ARGS(BezierCubicOrConicTestBatch, (gp, geo, klmEqs, sign)); | 43 return SkNEW_ARGS(BezierCubicOrConicTestBatch, (gp, geo, klmEqs, sign)); |
44 } | 44 } |
45 | 45 |
46 private: | 46 private: |
47 BezierCubicOrConicTestBatch(const GrGeometryProcessor* gp, const Geometry& g
eo, | 47 BezierCubicOrConicTestBatch(const GrGeometryProcessor* gp, const Geometry& g
eo, |
48 const SkScalar klmEqs[9], SkScalar sign) | 48 const SkScalar klmEqs[9], SkScalar sign) |
49 : INHERITED(gp) { | 49 : INHERITED(gp, geo.fBounds) { |
50 for (int i = 0; i < 9; i++) { | 50 for (int i = 0; i < 9; i++) { |
51 fKlmEqs[i] = klmEqs[i]; | 51 fKlmEqs[i] = klmEqs[i]; |
52 } | 52 } |
53 | 53 |
54 fGeometry = geo; | 54 fGeometry = geo; |
55 fSign = sign; | 55 fSign = sign; |
56 } | 56 } |
57 | 57 |
58 struct Vertex { | 58 struct Vertex { |
59 SkPoint fPosition; | 59 SkPoint fPosition; |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 GrPipelineBuilder pipelineBuilder; | 236 GrPipelineBuilder pipelineBuilder; |
237 pipelineBuilder.setRenderTarget(rt); | 237 pipelineBuilder.setRenderTarget(rt); |
238 | 238 |
239 BezierCubicOrConicTestBatch::Geometry geometry; | 239 BezierCubicOrConicTestBatch::Geometry geometry; |
240 geometry.fColor = gp->color(); | 240 geometry.fColor = gp->color(); |
241 geometry.fBounds = bounds; | 241 geometry.fBounds = bounds; |
242 | 242 |
243 SkAutoTUnref<GrBatch> batch( | 243 SkAutoTUnref<GrBatch> batch( |
244 BezierCubicOrConicTestBatch::Create(gp, geometry, kl
mEqs, klmSigns[c])); | 244 BezierCubicOrConicTestBatch::Create(gp, geometry, kl
mEqs, klmSigns[c])); |
245 | 245 |
246 tt.target()->drawBatch(&pipelineBuilder, batch, NULL); | 246 tt.target()->drawBatch(&pipelineBuilder, batch); |
247 } | 247 } |
248 ++col; | 248 ++col; |
249 if (numCols == col) { | 249 if (numCols == col) { |
250 col = 0; | 250 col = 0; |
251 ++row; | 251 ++row; |
252 } | 252 } |
253 } | 253 } |
254 } | 254 } |
255 } | 255 } |
256 | 256 |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
380 GrPipelineBuilder pipelineBuilder; | 380 GrPipelineBuilder pipelineBuilder; |
381 pipelineBuilder.setRenderTarget(rt); | 381 pipelineBuilder.setRenderTarget(rt); |
382 | 382 |
383 BezierCubicOrConicTestBatch::Geometry geometry; | 383 BezierCubicOrConicTestBatch::Geometry geometry; |
384 geometry.fColor = gp->color(); | 384 geometry.fColor = gp->color(); |
385 geometry.fBounds = bounds; | 385 geometry.fBounds = bounds; |
386 | 386 |
387 SkAutoTUnref<GrBatch> batch( | 387 SkAutoTUnref<GrBatch> batch( |
388 BezierCubicOrConicTestBatch::Create(gp, geometry, kl
mEqs, 1.f)); | 388 BezierCubicOrConicTestBatch::Create(gp, geometry, kl
mEqs, 1.f)); |
389 | 389 |
390 tt.target()->drawBatch(&pipelineBuilder, batch, NULL); | 390 tt.target()->drawBatch(&pipelineBuilder, batch); |
391 } | 391 } |
392 ++col; | 392 ++col; |
393 if (numCols == col) { | 393 if (numCols == col) { |
394 col = 0; | 394 col = 0; |
395 ++row; | 395 ++row; |
396 } | 396 } |
397 } | 397 } |
398 } | 398 } |
399 } | 399 } |
400 | 400 |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
450 const char* name() const override { return "BezierQuadTestBatch"; } | 450 const char* name() const override { return "BezierQuadTestBatch"; } |
451 | 451 |
452 static GrBatch* Create(const GrGeometryProcessor* gp, const Geometry& geo, | 452 static GrBatch* Create(const GrGeometryProcessor* gp, const Geometry& geo, |
453 const GrPathUtils::QuadUVMatrix& devToUV) { | 453 const GrPathUtils::QuadUVMatrix& devToUV) { |
454 return SkNEW_ARGS(BezierQuadTestBatch, (gp, geo, devToUV)); | 454 return SkNEW_ARGS(BezierQuadTestBatch, (gp, geo, devToUV)); |
455 } | 455 } |
456 | 456 |
457 private: | 457 private: |
458 BezierQuadTestBatch(const GrGeometryProcessor* gp, const Geometry& geo, | 458 BezierQuadTestBatch(const GrGeometryProcessor* gp, const Geometry& geo, |
459 const GrPathUtils::QuadUVMatrix& devToUV) | 459 const GrPathUtils::QuadUVMatrix& devToUV) |
460 : INHERITED(gp) | 460 : INHERITED(gp, geo.fBounds) |
461 , fGeometry(geo) | 461 , fGeometry(geo) |
462 , fDevToUV(devToUV) { | 462 , fDevToUV(devToUV) { |
463 } | 463 } |
464 | 464 |
465 struct Vertex { | 465 struct Vertex { |
466 SkPoint fPosition; | 466 SkPoint fPosition; |
467 float fKLM[4]; // The last value is ignored. The effect expects a vec4
f. | 467 float fKLM[4]; // The last value is ignored. The effect expects a vec4
f. |
468 }; | 468 }; |
469 | 469 |
470 Geometry* geoData(int index) override { | 470 Geometry* geoData(int index) override { |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
634 pipelineBuilder.setRenderTarget(rt); | 634 pipelineBuilder.setRenderTarget(rt); |
635 | 635 |
636 GrPathUtils::QuadUVMatrix DevToUV(pts); | 636 GrPathUtils::QuadUVMatrix DevToUV(pts); |
637 | 637 |
638 BezierQuadTestBatch::Geometry geometry; | 638 BezierQuadTestBatch::Geometry geometry; |
639 geometry.fColor = gp->color(); | 639 geometry.fColor = gp->color(); |
640 geometry.fBounds = bounds; | 640 geometry.fBounds = bounds; |
641 | 641 |
642 SkAutoTUnref<GrBatch> batch(BezierQuadTestBatch::Create(gp,
geometry, DevToUV)); | 642 SkAutoTUnref<GrBatch> batch(BezierQuadTestBatch::Create(gp,
geometry, DevToUV)); |
643 | 643 |
644 tt.target()->drawBatch(&pipelineBuilder, batch, NULL); | 644 tt.target()->drawBatch(&pipelineBuilder, batch); |
645 } | 645 } |
646 ++col; | 646 ++col; |
647 if (numCols == col) { | 647 if (numCols == col) { |
648 col = 0; | 648 col = 0; |
649 ++row; | 649 ++row; |
650 } | 650 } |
651 } | 651 } |
652 } | 652 } |
653 } | 653 } |
654 | 654 |
655 private: | 655 private: |
656 typedef GM INHERITED; | 656 typedef GM INHERITED; |
657 }; | 657 }; |
658 | 658 |
659 DEF_GM( return SkNEW(BezierCubicEffects); ) | 659 DEF_GM( return SkNEW(BezierCubicEffects); ) |
660 DEF_GM( return SkNEW(BezierConicEffects); ) | 660 DEF_GM( return SkNEW(BezierConicEffects); ) |
661 DEF_GM( return SkNEW(BezierQuadEffects); ) | 661 DEF_GM( return SkNEW(BezierQuadEffects); ) |
662 | 662 |
663 } | 663 } |
664 | 664 |
665 #endif | 665 #endif |
OLD | NEW |