Index: src/gpu/GrContext.cpp |
=================================================================== |
--- src/gpu/GrContext.cpp (revision 7952) |
+++ src/gpu/GrContext.cpp (working copy) |
@@ -12,6 +12,7 @@ |
#include "effects/GrConvolutionEffect.h" |
#include "effects/GrSingleTextureEffect.h" |
#include "effects/GrConfigConversionEffect.h" |
+#include "effects/GrEllipseEdgeEffect.h" |
#include "GrBufferAllocPool.h" |
#include "GrGpu.h" |
@@ -1084,12 +1085,8 @@ |
{kVec2f_GrVertexAttribType, 0}, |
{kVec4f_GrVertexAttribType, sizeof(GrPoint)} |
}; |
- static const GrAttribBindings kAttributeBindings = GrDrawState::kEdge_AttribBindingsBit; |
- |
drawState->setVertexAttribs(kVertexAttribs, SK_ARRAY_COUNT(kVertexAttribs)); |
drawState->setAttribIndex(GrDrawState::kPosition_AttribIndex, 0); |
- drawState->setAttribIndex(GrDrawState::kEdge_AttribIndex, 1); |
- drawState->setAttribBindings(kAttributeBindings); |
GrAssert(sizeof(CircleVertex) == drawState->getVertexSize()); |
GrDrawTarget::AutoReleaseGeometry geo(target, 4, 0); |
@@ -1109,7 +1106,10 @@ |
SkScalar B; |
if (isCircle) { |
robertphillips
2013/03/05 20:30:13
kCircleAttrBindings? As is I think just passing kE
jvanverth1
2013/03/07 15:21:54
Done.
|
+ static const GrAttribBindings kAttributeBindings = GrDrawState::kEdge_AttribBindingsBit; |
+ drawState->setAttribBindings(kAttributeBindings); |
drawState->setVertexEdgeType(GrDrawState::kCircle_EdgeType); |
+ drawState->setAttribIndex(GrDrawState::kEdge_AttribIndex, 1); |
xRadius = vm.mapRadius(xRadius); |
@@ -1141,8 +1141,16 @@ |
T = -outerRadius; |
B = +outerRadius; |
} else { // is axis-aligned ellipse |
- drawState->setVertexEdgeType(GrDrawState::kEllipse_EdgeType); |
+ drawState->setAttribBindings(GrDrawState::kDefault_AttribBindings); |
robertphillips
2013/03/05 20:30:13
Why not "static const" style? Also, some words her
jvanverth1
2013/03/07 15:21:54
All the other stage constants use enums. Should I
|
+ enum { |
+ kEdgeEffectStage = GrPaint::kTotalStages, |
+ }; |
+ GrEffectRef* effect = GrEllipseEdgeEffect::Create(); |
+ drawState->setEffect(kEdgeEffectStage, effect)->unref(); |
+ int index = 1; |
+ drawState->setEffectAttribIndices(kEdgeEffectStage, &index, 1); |
+ |
SkRect xformedRect; |
vm.mapRect(&xformedRect, oval); |