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

Side by Side Diff: src/effects/gradients/SkLinearGradient.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 * Copyright 2012 Google Inc. 2 * Copyright 2012 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 "Sk4fLinearGradient.h" 8 #include "Sk4fLinearGradient.h"
9 #include "SkLinearGradient.h" 9 #include "SkLinearGradient.h"
10 10
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 } 71 }
72 72
73 SkFlattenable* SkLinearGradient::CreateProc(SkReadBuffer& buffer) { 73 SkFlattenable* SkLinearGradient::CreateProc(SkReadBuffer& buffer) {
74 DescriptorScope desc; 74 DescriptorScope desc;
75 if (!desc.unflatten(buffer)) { 75 if (!desc.unflatten(buffer)) {
76 return nullptr; 76 return nullptr;
77 } 77 }
78 SkPoint pts[2]; 78 SkPoint pts[2];
79 pts[0] = buffer.readPoint(); 79 pts[0] = buffer.readPoint();
80 pts[1] = buffer.readPoint(); 80 pts[1] = buffer.readPoint();
81 return SkGradientShader::CreateLinear(pts, desc.fColors, desc.fPos, desc.fCo unt, 81 return SkGradientShader::MakeLinear(pts, desc.fColors, desc.fPos, desc.fCoun t, desc.fTileMode,
82 desc.fTileMode, desc.fGradFlags, desc. fLocalMatrix); 82 desc.fGradFlags, desc.fLocalMatrix).rele ase();
83 } 83 }
84 84
85 void SkLinearGradient::flatten(SkWriteBuffer& buffer) const { 85 void SkLinearGradient::flatten(SkWriteBuffer& buffer) const {
86 this->INHERITED::flatten(buffer); 86 this->INHERITED::flatten(buffer);
87 buffer.writePoint(fStart); 87 buffer.writePoint(fStart);
88 buffer.writePoint(fEnd); 88 buffer.writePoint(fEnd);
89 } 89 }
90 90
91 size_t SkLinearGradient::onContextSize(const ContextRec& rec) const { 91 size_t SkLinearGradient::onContextSize(const ContextRec& rec) const {
92 return use_4f_context(rec, fGradFlags) 92 return use_4f_context(rec, fGradFlags)
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 423
424 const GrFragmentProcessor* GrLinearGradient::TestCreate(GrProcessorTestData* d) { 424 const GrFragmentProcessor* GrLinearGradient::TestCreate(GrProcessorTestData* d) {
425 SkPoint points[] = {{d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()} , 425 SkPoint points[] = {{d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()} ,
426 {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()} }; 426 {d->fRandom->nextUScalar1(), d->fRandom->nextUScalar1()} };
427 427
428 SkColor colors[kMaxRandomGradientColors]; 428 SkColor colors[kMaxRandomGradientColors];
429 SkScalar stopsArray[kMaxRandomGradientColors]; 429 SkScalar stopsArray[kMaxRandomGradientColors];
430 SkScalar* stops = stopsArray; 430 SkScalar* stops = stopsArray;
431 SkShader::TileMode tm; 431 SkShader::TileMode tm;
432 int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm); 432 int colorCount = RandomGradientParams(d->fRandom, colors, &stops, &tm);
433 SkAutoTUnref<SkShader> shader(SkGradientShader::CreateLinear(points, 433 auto shader = SkGradientShader::MakeLinear(points, colors, stops, colorCount , tm);
434 colors, stops, colorCount,
435 tm));
436 const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext, 434 const GrFragmentProcessor* fp = shader->asFragmentProcessor(d->fContext,
437 GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality); 435 GrTest::TestMatrix(d->fRandom), NULL, kNone_SkFilterQuality);
438 GrAlwaysAssert(fp); 436 GrAlwaysAssert(fp);
439 return fp; 437 return fp;
440 } 438 }
441 439
442 ///////////////////////////////////////////////////////////////////// 440 /////////////////////////////////////////////////////////////////////
443 441
444 void GrGLLinearGradient::emitCode(EmitArgs& args) { 442 void GrGLLinearGradient::emitCode(EmitArgs& args) {
445 const GrLinearGradient& ge = args.fFp.cast<GrLinearGradient>(); 443 const GrLinearGradient& ge = args.fFp.cast<GrLinearGradient>();
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
762 this->shade4_dx_clamp<false, true>(dstC, count, fx, dx, invDx, dithe r); 760 this->shade4_dx_clamp<false, true>(dstC, count, fx, dx, invDx, dithe r);
763 } 761 }
764 } else { 762 } else {
765 if (fApplyAlphaAfterInterp) { 763 if (fApplyAlphaAfterInterp) {
766 this->shade4_dx_clamp<true, false>(dstC, count, fx, dx, invDx, dithe r); 764 this->shade4_dx_clamp<true, false>(dstC, count, fx, dx, invDx, dithe r);
767 } else { 765 } else {
768 this->shade4_dx_clamp<false, false>(dstC, count, fx, dx, invDx, dith er); 766 this->shade4_dx_clamp<false, false>(dstC, count, fx, dx, invDx, dith er);
769 } 767 }
770 } 768 }
771 } 769 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698