| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 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 "GrAAConvexPathRenderer.h" | 9 #include "GrAAConvexPathRenderer.h" |
| 10 | 10 |
| (...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 443 * window space (y-down). If either the third or fourth component of the interpo
lated | 443 * window space (y-down). If either the third or fourth component of the interpo
lated |
| 444 * vertex coord is > 0 then the pixel is considered outside the edge. This is us
ed to | 444 * vertex coord is > 0 then the pixel is considered outside the edge. This is us
ed to |
| 445 * attempt to trim to a portion of the infinite quad. | 445 * attempt to trim to a portion of the infinite quad. |
| 446 * Requires shader derivative instruction support. | 446 * Requires shader derivative instruction support. |
| 447 */ | 447 */ |
| 448 | 448 |
| 449 class QuadEdgeEffect : public GrEffect { | 449 class QuadEdgeEffect : public GrEffect { |
| 450 public: | 450 public: |
| 451 | 451 |
| 452 static GrEffectRef* Create() { | 452 static GrEffectRef* Create() { |
| 453 // we go through this so we only have one copy of each effect | 453 GR_CREATE_STATIC_EFFECT(gQuadEdgeEffect, QuadEdgeEffect, ()); |
| 454 static SkAutoTUnref<GrEffectRef> gQuadEdgeEffectRef( | 454 gQuadEdgeEffect->ref(); |
| 455 CreateEffectRef(AutoEffectUnref(SkNEW(QuadEdgeEffect)))); | 455 return gQuadEdgeEffect; |
| 456 | |
| 457 gQuadEdgeEffectRef.get()->ref(); | |
| 458 return gQuadEdgeEffectRef; | |
| 459 } | 456 } |
| 460 | 457 |
| 461 virtual ~QuadEdgeEffect() {} | 458 virtual ~QuadEdgeEffect() {} |
| 462 | 459 |
| 463 static const char* Name() { return "QuadEdge"; } | 460 static const char* Name() { return "QuadEdge"; } |
| 464 | 461 |
| 465 virtual void getConstantColorComponents(GrColor* color, | 462 virtual void getConstantColorComponents(GrColor* color, |
| 466 uint32_t* validFlags) const SK_OVERR
IDE { | 463 uint32_t* validFlags) const SK_OVERR
IDE { |
| 467 *validFlags = 0; | 464 *validFlags = 0; |
| 468 } | 465 } |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 635 create_vertices(segments, fanPt, verts, idxs); | 632 create_vertices(segments, fanPt, verts, idxs); |
| 636 | 633 |
| 637 target->drawIndexed(kTriangles_GrPrimitiveType, | 634 target->drawIndexed(kTriangles_GrPrimitiveType, |
| 638 0, // start vertex | 635 0, // start vertex |
| 639 0, // start index | 636 0, // start index |
| 640 vCount, | 637 vCount, |
| 641 iCount); | 638 iCount); |
| 642 | 639 |
| 643 return true; | 640 return true; |
| 644 } | 641 } |
| OLD | NEW |