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

Side by Side Diff: src/effects/SkColorFilters.cpp

Issue 1316123003: Style Change: SkNEW->new; SkDELETE->delete (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: 2015-08-26 (Wednesday) 15:59:00 EDT Created 5 years, 3 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
« no previous file with comments | « src/effects/SkColorFilterImageFilter.cpp ('k') | src/effects/SkColorMatrixFilter.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 2006 The Android Open Source Project 2 * Copyright 2006 The Android Open Source Project
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 "SkBlitRow.h" 8 #include "SkBlitRow.h"
9 #include "SkColorFilter.h" 9 #include "SkColorFilter.h"
10 #include "SkColorPriv.h" 10 #include "SkColorPriv.h"
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 class ModeColorFilterEffect : public GrFragmentProcessor { 127 class ModeColorFilterEffect : public GrFragmentProcessor {
128 public: 128 public:
129 static GrFragmentProcessor* Create(const GrColor& c, SkXfermode::Mode mode) { 129 static GrFragmentProcessor* Create(const GrColor& c, SkXfermode::Mode mode) {
130 // TODO: Make the effect take the coeffs rather than mode since we alrea dy do the 130 // TODO: Make the effect take the coeffs rather than mode since we alrea dy do the
131 // conversion here. 131 // conversion here.
132 SkXfermode::Coeff srcCoeff, dstCoeff; 132 SkXfermode::Coeff srcCoeff, dstCoeff;
133 if (!SkXfermode::ModeAsCoeff(mode, &srcCoeff, &dstCoeff)) { 133 if (!SkXfermode::ModeAsCoeff(mode, &srcCoeff, &dstCoeff)) {
134 // SkDebugf("Failing to create color filter for mode %d\n", mode); 134 // SkDebugf("Failing to create color filter for mode %d\n", mode);
135 return NULL; 135 return NULL;
136 } 136 }
137 return SkNEW_ARGS(ModeColorFilterEffect, (c, mode)); 137 return new ModeColorFilterEffect(c, mode);
138 } 138 }
139 139
140 bool willUseFilterColor() const { 140 bool willUseFilterColor() const {
141 SkXfermode::Coeff dstCoeff; 141 SkXfermode::Coeff dstCoeff;
142 SkXfermode::Coeff srcCoeff; 142 SkXfermode::Coeff srcCoeff;
143 SkAssertResult(SkXfermode::ModeAsCoeff(fMode, &srcCoeff, &dstCoeff)); 143 SkAssertResult(SkXfermode::ModeAsCoeff(fMode, &srcCoeff, &dstCoeff));
144 if (SkXfermode::kZero_Coeff == srcCoeff) { 144 if (SkXfermode::kZero_Coeff == srcCoeff) {
145 return GrBlendCoeffRefsSrc(sk_blend_to_grblend(dstCoeff)); 145 return GrBlendCoeffRefsSrc(sk_blend_to_grblend(dstCoeff));
146 } 146 }
147 return true; 147 return true;
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 205
206 GR_DECLARE_FRAGMENT_PROCESSOR_TEST; 206 GR_DECLARE_FRAGMENT_PROCESSOR_TEST;
207 207
208 private: 208 private:
209 ModeColorFilterEffect(GrColor color, SkXfermode::Mode mode) 209 ModeColorFilterEffect(GrColor color, SkXfermode::Mode mode)
210 : fMode(mode), 210 : fMode(mode),
211 fColor(color) { 211 fColor(color) {
212 this->initClassID<ModeColorFilterEffect>(); 212 this->initClassID<ModeColorFilterEffect>();
213 } 213 }
214 214
215 GrGLFragmentProcessor* onCreateGLInstance() const override { 215 GrGLFragmentProcessor* onCreateGLInstance() const override { return new GLPr ocessor(*this); }
216 return SkNEW_ARGS(GLProcessor, (*this));
217 }
218 216
219 virtual void onGetGLProcessorKey(const GrGLSLCaps& caps, 217 virtual void onGetGLProcessorKey(const GrGLSLCaps& caps,
220 GrProcessorKeyBuilder* b) const override { 218 GrProcessorKeyBuilder* b) const override {
221 GLProcessor::GenKey(*this, caps, b); 219 GLProcessor::GenKey(*this, caps, b);
222 } 220 }
223 221
224 bool onIsEqual(const GrFragmentProcessor& other) const override { 222 bool onIsEqual(const GrFragmentProcessor& other) const override {
225 const ModeColorFilterEffect& s = other.cast<ModeColorFilterEffect>(); 223 const ModeColorFilterEffect& s = other.cast<ModeColorFilterEffect>();
226 return fMode == s.fMode && fColor == s.fColor; 224 return fMode == s.fMode && fColor == s.fColor;
227 } 225 }
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 SkXfermode::kDstOut_Mode == mode || 429 SkXfermode::kDstOut_Mode == mode ||
432 SkXfermode::kSrcATop_Mode == mode || 430 SkXfermode::kSrcATop_Mode == mode ||
433 SkXfermode::kXor_Mode == mode || 431 SkXfermode::kXor_Mode == mode ||
434 SkXfermode::kDarken_Mode == mode)) || 432 SkXfermode::kDarken_Mode == mode)) ||
435 (0xFF == alpha && SkXfermode::kDstIn_Mode == mode)) { 433 (0xFF == alpha && SkXfermode::kDstIn_Mode == mode)) {
436 return NULL; 434 return NULL;
437 } 435 }
438 436
439 switch (mode) { 437 switch (mode) {
440 case SkXfermode::kSrc_Mode: 438 case SkXfermode::kSrc_Mode:
441 return SkNEW_ARGS(Src_SkModeColorFilter, (color)); 439 return new Src_SkModeColorFilter(color);
442 case SkXfermode::kSrcOver_Mode: 440 case SkXfermode::kSrcOver_Mode:
443 return SkNEW_ARGS(SrcOver_SkModeColorFilter, (color)); 441 return new SrcOver_SkModeColorFilter(color);
444 default: 442 default:
445 return SkNEW_ARGS(SkModeColorFilter, (color, mode)); 443 return new SkModeColorFilter(color, mode);
446 } 444 }
447 } 445 }
448 446
449 /////////////////////////////////////////////////////////////////////////////// 447 ///////////////////////////////////////////////////////////////////////////////
450 448
451 static SkScalar byte_to_scale(U8CPU byte) { 449 static SkScalar byte_to_scale(U8CPU byte) {
452 if (0xFF == byte) { 450 if (0xFF == byte) {
453 // want to get this exact 451 // want to get this exact
454 return 1; 452 return 1;
455 } else { 453 } else {
456 return byte * 0.00392156862745f; 454 return byte * 0.00392156862745f;
457 } 455 }
458 } 456 }
459 457
460 SkColorFilter* SkColorFilter::CreateLightingFilter(SkColor mul, SkColor add) { 458 SkColorFilter* SkColorFilter::CreateLightingFilter(SkColor mul, SkColor add) {
461 SkColorMatrix matrix; 459 SkColorMatrix matrix;
462 matrix.setScale(byte_to_scale(SkColorGetR(mul)), 460 matrix.setScale(byte_to_scale(SkColorGetR(mul)),
463 byte_to_scale(SkColorGetG(mul)), 461 byte_to_scale(SkColorGetG(mul)),
464 byte_to_scale(SkColorGetB(mul)), 462 byte_to_scale(SkColorGetB(mul)),
465 1); 463 1);
466 matrix.postTranslate(SkIntToScalar(SkColorGetR(add)), 464 matrix.postTranslate(SkIntToScalar(SkColorGetR(add)),
467 SkIntToScalar(SkColorGetG(add)), 465 SkIntToScalar(SkColorGetG(add)),
468 SkIntToScalar(SkColorGetB(add)), 466 SkIntToScalar(SkColorGetB(add)),
469 0); 467 0);
470 return SkColorMatrixFilter::Create(matrix); 468 return SkColorMatrixFilter::Create(matrix);
471 } 469 }
472 470
OLDNEW
« no previous file with comments | « src/effects/SkColorFilterImageFilter.cpp ('k') | src/effects/SkColorMatrixFilter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698