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

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

Issue 755363002: remove proc key (Closed) Base URL: https://skia.googlesource.com/skia.git@fixkey
Patch Set: address nit Created 6 years 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/GrMatrixConvolutionEffect.cpp ('k') | src/gpu/effects/GrRRectEffect.cpp » ('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 "gl/builders/GrGLProgramBuilder.h" 8 #include "gl/builders/GrGLProgramBuilder.h"
9 #include "GrOvalEffect.h" 9 #include "GrOvalEffect.h"
10 #include "GrInvariantOutput.h" 10 #include "GrInvariantOutput.h"
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 } 96 }
97 97
98 ////////////////////////////////////////////////////////////////////////////// 98 //////////////////////////////////////////////////////////////////////////////
99 99
100 class GLCircleEffect : public GrGLFragmentProcessor { 100 class GLCircleEffect : public GrGLFragmentProcessor {
101 public: 101 public:
102 GLCircleEffect(const GrBackendProcessorFactory&, const GrProcessor&); 102 GLCircleEffect(const GrBackendProcessorFactory&, const GrProcessor&);
103 103
104 virtual void emitCode(GrGLFPBuilder* builder, 104 virtual void emitCode(GrGLFPBuilder* builder,
105 const GrFragmentProcessor& fp, 105 const GrFragmentProcessor& fp,
106 const GrProcessorKey& key,
107 const char* outputColor, 106 const char* outputColor,
108 const char* inputColor, 107 const char* inputColor,
109 const TransformedCoordsArray&, 108 const TransformedCoordsArray&,
110 const TextureSamplerArray&) SK_OVERRIDE; 109 const TextureSamplerArray&) SK_OVERRIDE;
111 110
112 static inline void GenKey(const GrProcessor&, const GrGLCaps&, GrProcessorKe yBuilder*); 111 static inline void GenKey(const GrProcessor&, const GrGLCaps&, GrProcessorKe yBuilder*);
113 112
114 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O VERRIDE; 113 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O VERRIDE;
115 114
116 private: 115 private:
117 GrGLProgramDataManager::UniformHandle fCircleUniform; 116 GrGLProgramDataManager::UniformHandle fCircleUniform;
118 SkPoint fPrevCenter; 117 SkPoint fPrevCenter;
119 SkScalar fPrevRadius; 118 SkScalar fPrevRadius;
120 119
121 typedef GrGLFragmentProcessor INHERITED; 120 typedef GrGLFragmentProcessor INHERITED;
122 }; 121 };
123 122
124 GLCircleEffect::GLCircleEffect(const GrBackendProcessorFactory& factory, 123 GLCircleEffect::GLCircleEffect(const GrBackendProcessorFactory& factory,
125 const GrProcessor&) 124 const GrProcessor&)
126 : INHERITED (factory) { 125 : INHERITED (factory) {
127 fPrevRadius = -1.f; 126 fPrevRadius = -1.f;
128 } 127 }
129 128
130 void GLCircleEffect::emitCode(GrGLFPBuilder* builder, 129 void GLCircleEffect::emitCode(GrGLFPBuilder* builder,
131 const GrFragmentProcessor& fp, 130 const GrFragmentProcessor& fp,
132 const GrProcessorKey& key,
133 const char* outputColor, 131 const char* outputColor,
134 const char* inputColor, 132 const char* inputColor,
135 const TransformedCoordsArray&, 133 const TransformedCoordsArray&,
136 const TextureSamplerArray& samplers) { 134 const TextureSamplerArray& samplers) {
137 const CircleEffect& ce = fp.cast<CircleEffect>(); 135 const CircleEffect& ce = fp.cast<CircleEffect>();
138 const char *circleName; 136 const char *circleName;
139 // The circle uniform is (center.x, center.y, radius + 0.5) for regular fill s and 137 // The circle uniform is (center.x, center.y, radius + 0.5) for regular fill s and
140 // (... ,radius - 0.5) for inverse fills. 138 // (... ,radius - 0.5) for inverse fills.
141 fCircleUniform = builder->addUniform(GrGLProgramBuilder::kFragment_Visibilit y, 139 fCircleUniform = builder->addUniform(GrGLProgramBuilder::kFragment_Visibilit y,
142 kVec3f_GrSLType, 140 kVec3f_GrSLType,
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 } 269 }
272 270
273 ////////////////////////////////////////////////////////////////////////////// 271 //////////////////////////////////////////////////////////////////////////////
274 272
275 class GLEllipseEffect : public GrGLFragmentProcessor { 273 class GLEllipseEffect : public GrGLFragmentProcessor {
276 public: 274 public:
277 GLEllipseEffect(const GrBackendProcessorFactory&, const GrProcessor&); 275 GLEllipseEffect(const GrBackendProcessorFactory&, const GrProcessor&);
278 276
279 virtual void emitCode(GrGLFPBuilder* builder, 277 virtual void emitCode(GrGLFPBuilder* builder,
280 const GrFragmentProcessor& fp, 278 const GrFragmentProcessor& fp,
281 const GrProcessorKey& key,
282 const char* outputColor, 279 const char* outputColor,
283 const char* inputColor, 280 const char* inputColor,
284 const TransformedCoordsArray&, 281 const TransformedCoordsArray&,
285 const TextureSamplerArray&) SK_OVERRIDE; 282 const TextureSamplerArray&) SK_OVERRIDE;
286 283
287 static inline void GenKey(const GrProcessor&, const GrGLCaps&, GrProcessorKe yBuilder*); 284 static inline void GenKey(const GrProcessor&, const GrGLCaps&, GrProcessorKe yBuilder*);
288 285
289 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O VERRIDE; 286 virtual void setData(const GrGLProgramDataManager&, const GrProcessor&) SK_O VERRIDE;
290 287
291 private: 288 private:
292 GrGLProgramDataManager::UniformHandle fEllipseUniform; 289 GrGLProgramDataManager::UniformHandle fEllipseUniform;
293 SkPoint fPrevCenter; 290 SkPoint fPrevCenter;
294 SkVector fPrevRadii; 291 SkVector fPrevRadii;
295 292
296 typedef GrGLFragmentProcessor INHERITED; 293 typedef GrGLFragmentProcessor INHERITED;
297 }; 294 };
298 295
299 GLEllipseEffect::GLEllipseEffect(const GrBackendProcessorFactory& factory, 296 GLEllipseEffect::GLEllipseEffect(const GrBackendProcessorFactory& factory,
300 const GrProcessor& effect) 297 const GrProcessor& effect)
301 : INHERITED (factory) { 298 : INHERITED (factory) {
302 fPrevRadii.fX = -1.f; 299 fPrevRadii.fX = -1.f;
303 } 300 }
304 301
305 void GLEllipseEffect::emitCode(GrGLFPBuilder* builder, 302 void GLEllipseEffect::emitCode(GrGLFPBuilder* builder,
306 const GrFragmentProcessor& fp, 303 const GrFragmentProcessor& fp,
307 const GrProcessorKey& key,
308 const char* outputColor, 304 const char* outputColor,
309 const char* inputColor, 305 const char* inputColor,
310 const TransformedCoordsArray&, 306 const TransformedCoordsArray&,
311 const TextureSamplerArray& samplers) { 307 const TextureSamplerArray& samplers) {
312 const EllipseEffect& ee = fp.cast<EllipseEffect>(); 308 const EllipseEffect& ee = fp.cast<EllipseEffect>();
313 const char *ellipseName; 309 const char *ellipseName;
314 // The ellipse uniform is (center.x, center.y, 1 / rx^2, 1 / ry^2) 310 // The ellipse uniform is (center.x, center.y, 1 / rx^2, 1 / ry^2)
315 fEllipseUniform = builder->addUniform(GrGLProgramBuilder::kFragment_Visibili ty, 311 fEllipseUniform = builder->addUniform(GrGLProgramBuilder::kFragment_Visibili ty,
316 kVec4f_GrSLType, 312 kVec4f_GrSLType,
317 "ellipse", 313 "ellipse",
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 w /= 2; 377 w /= 2;
382 return CircleEffect::Create(edgeType, SkPoint::Make(oval.fLeft + w, oval .fTop + w), w); 378 return CircleEffect::Create(edgeType, SkPoint::Make(oval.fLeft + w, oval .fTop + w), w);
383 } else { 379 } else {
384 w /= 2; 380 w /= 2;
385 h /= 2; 381 h /= 2;
386 return EllipseEffect::Create(edgeType, SkPoint::Make(oval.fLeft + w, ova l.fTop + h), w, h); 382 return EllipseEffect::Create(edgeType, SkPoint::Make(oval.fLeft + w, ova l.fTop + h), w, h);
387 } 383 }
388 384
389 return NULL; 385 return NULL;
390 } 386 }
OLDNEW
« no previous file with comments | « src/gpu/effects/GrMatrixConvolutionEffect.cpp ('k') | src/gpu/effects/GrRRectEffect.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698