OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 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 "GrOvalRenderer.h" | 8 #include "GrOvalRenderer.h" |
9 | 9 |
10 #include "GrEffect.h" | 10 #include "GrEffect.h" |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 class GLEffect : public GrGLEffect { | 91 class GLEffect : public GrGLEffect { |
92 public: | 92 public: |
93 GLEffect(const GrBackendEffectFactory& factory, const GrDrawEffect&) | 93 GLEffect(const GrBackendEffectFactory& factory, const GrDrawEffect&) |
94 : INHERITED (factory) {} | 94 : INHERITED (factory) {} |
95 | 95 |
96 virtual void emitCode(GrGLShaderBuilder* builder, | 96 virtual void emitCode(GrGLShaderBuilder* builder, |
97 const GrDrawEffect& drawEffect, | 97 const GrDrawEffect& drawEffect, |
98 EffectKey key, | 98 EffectKey key, |
99 const char* outputColor, | 99 const char* outputColor, |
100 const char* inputColor, | 100 const char* inputColor, |
| 101 const TransformedCoordsArray&, |
101 const TextureSamplerArray& samplers) SK_OVERRIDE { | 102 const TextureSamplerArray& samplers) SK_OVERRIDE { |
102 GrGLShaderBuilder::VertexBuilder* vertexBuilder = builder->getVertex
Builder(); | 103 GrGLShaderBuilder::VertexBuilder* vertexBuilder = builder->getVertex
Builder(); |
103 SkASSERT(NULL != vertexBuilder); | 104 SkASSERT(NULL != vertexBuilder); |
104 | 105 |
105 const CircleEdgeEffect& circleEffect = drawEffect.castEffect<CircleE
dgeEffect>(); | 106 const CircleEdgeEffect& circleEffect = drawEffect.castEffect<CircleE
dgeEffect>(); |
106 const char *vsName, *fsName; | 107 const char *vsName, *fsName; |
107 vertexBuilder->addVarying(kVec4f_GrSLType, "CircleEdge", &vsName, &f
sName); | 108 vertexBuilder->addVarying(kVec4f_GrSLType, "CircleEdge", &vsName, &f
sName); |
108 | 109 |
109 const SkString* attrName = | 110 const SkString* attrName = |
110 vertexBuilder->getEffectAttributeName(drawEffect.getVertexAttrib
Indices()[0]); | 111 vertexBuilder->getEffectAttributeName(drawEffect.getVertexAttrib
Indices()[0]); |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 class GLEffect : public GrGLEffect { | 206 class GLEffect : public GrGLEffect { |
206 public: | 207 public: |
207 GLEffect(const GrBackendEffectFactory& factory, const GrDrawEffect&) | 208 GLEffect(const GrBackendEffectFactory& factory, const GrDrawEffect&) |
208 : INHERITED (factory) {} | 209 : INHERITED (factory) {} |
209 | 210 |
210 virtual void emitCode(GrGLShaderBuilder* builder, | 211 virtual void emitCode(GrGLShaderBuilder* builder, |
211 const GrDrawEffect& drawEffect, | 212 const GrDrawEffect& drawEffect, |
212 EffectKey key, | 213 EffectKey key, |
213 const char* outputColor, | 214 const char* outputColor, |
214 const char* inputColor, | 215 const char* inputColor, |
| 216 const TransformedCoordsArray&, |
215 const TextureSamplerArray& samplers) SK_OVERRIDE { | 217 const TextureSamplerArray& samplers) SK_OVERRIDE { |
216 GrGLShaderBuilder::VertexBuilder* vertexBuilder = builder->getVertex
Builder(); | 218 GrGLShaderBuilder::VertexBuilder* vertexBuilder = builder->getVertex
Builder(); |
217 SkASSERT(NULL != vertexBuilder); | 219 SkASSERT(NULL != vertexBuilder); |
218 | 220 |
219 const EllipseEdgeEffect& ellipseEffect = drawEffect.castEffect<Ellip
seEdgeEffect>(); | 221 const EllipseEdgeEffect& ellipseEffect = drawEffect.castEffect<Ellip
seEdgeEffect>(); |
220 | 222 |
221 const char *vsOffsetName, *fsOffsetName; | 223 const char *vsOffsetName, *fsOffsetName; |
222 const char *vsRadiiName, *fsRadiiName; | 224 const char *vsRadiiName, *fsRadiiName; |
223 | 225 |
224 vertexBuilder->addVarying(kVec2f_GrSLType, "EllipseOffsets", &vsOffs
etName, &fsOffsetName); | 226 vertexBuilder->addVarying(kVec2f_GrSLType, "EllipseOffsets", &vsOffs
etName, &fsOffsetName); |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
348 class GLEffect : public GrGLEffect { | 350 class GLEffect : public GrGLEffect { |
349 public: | 351 public: |
350 GLEffect(const GrBackendEffectFactory& factory, const GrDrawEffect&) | 352 GLEffect(const GrBackendEffectFactory& factory, const GrDrawEffect&) |
351 : INHERITED (factory) {} | 353 : INHERITED (factory) {} |
352 | 354 |
353 virtual void emitCode(GrGLShaderBuilder* builder, | 355 virtual void emitCode(GrGLShaderBuilder* builder, |
354 const GrDrawEffect& drawEffect, | 356 const GrDrawEffect& drawEffect, |
355 EffectKey key, | 357 EffectKey key, |
356 const char* outputColor, | 358 const char* outputColor, |
357 const char* inputColor, | 359 const char* inputColor, |
| 360 const TransformedCoordsArray&, |
358 const TextureSamplerArray& samplers) SK_OVERRIDE { | 361 const TextureSamplerArray& samplers) SK_OVERRIDE { |
359 GrGLShaderBuilder::VertexBuilder* vertexBuilder = builder->getVertex
Builder(); | 362 GrGLShaderBuilder::VertexBuilder* vertexBuilder = builder->getVertex
Builder(); |
360 SkASSERT(NULL != vertexBuilder); | 363 SkASSERT(NULL != vertexBuilder); |
361 | 364 |
362 const DIEllipseEdgeEffect& ellipseEffect = drawEffect.castEffect<DIE
llipseEdgeEffect>(); | 365 const DIEllipseEdgeEffect& ellipseEffect = drawEffect.castEffect<DIE
llipseEdgeEffect>(); |
363 | 366 |
364 SkAssertResult(builder->enableFeature( | 367 SkAssertResult(builder->enableFeature( |
365 GrGLShaderBuilder::kStandardDeriva
tives_GLSLFeature)); | 368 GrGLShaderBuilder::kStandardDeriva
tives_GLSLFeature)); |
366 | 369 |
367 const char *vsOffsetName0, *fsOffsetName0; | 370 const char *vsOffsetName0, *fsOffsetName0; |
(...skipping 772 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1140 } | 1143 } |
1141 | 1144 |
1142 // drop out the middle quad if we're stroked | 1145 // drop out the middle quad if we're stroked |
1143 int indexCnt = isStroked ? GR_ARRAY_COUNT(gRRectIndices)-6 : GR_ARRAY_CO
UNT(gRRectIndices); | 1146 int indexCnt = isStroked ? GR_ARRAY_COUNT(gRRectIndices)-6 : GR_ARRAY_CO
UNT(gRRectIndices); |
1144 target->setIndexSourceToBuffer(indexBuffer); | 1147 target->setIndexSourceToBuffer(indexBuffer); |
1145 target->drawIndexed(kTriangles_GrPrimitiveType, 0, 0, 16, indexCnt, &bou
nds); | 1148 target->drawIndexed(kTriangles_GrPrimitiveType, 0, 0, 16, indexCnt, &bou
nds); |
1146 } | 1149 } |
1147 | 1150 |
1148 return true; | 1151 return true; |
1149 } | 1152 } |
OLD | NEW |