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

Side by Side Diff: src/effects/gradients/SkRadialGradient.cpp

Issue 1772463002: use Make instead of Create to return a shared shader (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: partial update of skia call-sites Created 4 years, 9 months 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
OLDNEW
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 "SkRadialGradient.h" 9 #include "SkRadialGradient.h"
10 #include "SkNx.h" 10 #include "SkNx.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 return kRadial_GradientType; 61 return kRadial_GradientType;
62 } 62 }
63 63
64 SkFlattenable* SkRadialGradient::CreateProc(SkReadBuffer& buffer) { 64 SkFlattenable* SkRadialGradient::CreateProc(SkReadBuffer& buffer) {
65 DescriptorScope desc; 65 DescriptorScope desc;
66 if (!desc.unflatten(buffer)) { 66 if (!desc.unflatten(buffer)) {
67 return nullptr; 67 return nullptr;
68 } 68 }
69 const SkPoint center = buffer.readPoint(); 69 const SkPoint center = buffer.readPoint();
70 const SkScalar radius = buffer.readScalar(); 70 const SkScalar radius = buffer.readScalar();
71 return SkGradientShader::CreateRadial(center, radius, desc.fColors, desc.fPo s, desc.fCount, 71 return SkGradientShader::MakeRadial(center, radius, desc.fColors, desc.fPos, desc.fCount,
72 desc.fTileMode, desc.fGradFlags, desc. fLocalMatrix); 72 desc.fTileMode, desc.fGradFlags,
73 desc.fLocalMatrix).release();
73 } 74 }
74 75
75 void SkRadialGradient::flatten(SkWriteBuffer& buffer) const { 76 void SkRadialGradient::flatten(SkWriteBuffer& buffer) const {
76 this->INHERITED::flatten(buffer); 77 this->INHERITED::flatten(buffer);
77 buffer.writePoint(fCenter); 78 buffer.writePoint(fCenter);
78 buffer.writeScalar(fRadius); 79 buffer.writeScalar(fRadius);
79 } 80 }
80 81
81 namespace { 82 namespace {
82 83
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 307
307 const GrFragmentProcessor* GrRadialGradient::TestCreate(GrProcessorTestData* d) { 308 const GrFragmentProcessor* GrRadialGradient::TestCreate(GrProcessorTestData* d) {
308 SkPoint center = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()}; 309 SkPoint center = {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()};
309 SkScalar radius = d->fRandom->nextUScalar1(); 310 SkScalar radius = d->fRandom->nextUScalar1();
310 311
311 SkColor colors[kMaxRandomGradientColors]; 312 SkColor colors[kMaxRandomGradientColors];
312 SkScalar stopsArray[kMaxRandomGradientColors]; 313 SkScalar stopsArray[kMaxRandomGradientColors];
313 SkScalar* stops = stopsArray; 314 SkScalar* stops = stopsArray;
314 SkShader::TileMode tm; 315 SkShader::TileMode tm;
315 int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm); 316 int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm);
316 SkAutoTUnref<SkShader> shader(SkGradientShader::CreateRadial(center, radius, 317 auto shader = SkGradientShader::MakeRadial(center, radius, colors, stops, co lorCount, tm);
317 colors, stops, colorCount,
318 tm));
319 const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext, 318 const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext,
320 GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality); 319 GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality);
321 GrAlwaysAssert(fp); 320 GrAlwaysAssert(fp);
322 return fp; 321 return fp;
323 } 322 }
324 323
325 ///////////////////////////////////////////////////////////////////// 324 /////////////////////////////////////////////////////////////////////
326 325
327 void GrGLRadialGradient::emitCode(EmitArgs& args) { 326 void GrGLRadialGradient::emitCode(EmitArgs& args) {
328 const GrRadialGradient& ge = args.fFp.cast<GrRadialGradient>(); 327 const GrRadialGradient& ge = args.fFp.cast<GrRadialGradient>();
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 str->appendScalar(fCenter.fY); 376 str->appendScalar(fCenter.fY);
378 str->append(") radius: "); 377 str->append(") radius: ");
379 str->appendScalar(fRadius); 378 str->appendScalar(fRadius);
380 str->append(" "); 379 str->append(" ");
381 380
382 this->INHERITED::toString(str); 381 this->INHERITED::toString(str);
383 382
384 str->append(")"); 383 str->append(")");
385 } 384 }
386 #endif 385 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698