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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/filters/FEColorMatrix.cpp

Issue 1387573003: Pass SkiaImageFilterBuilder& to FilterEffect::createImageFilter (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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 (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org> 2 * Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org>
3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> 3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org>
4 * Copyright (C) 2005 Eric Seidel <eric@webkit.org> 4 * Copyright (C) 2005 Eric Seidel <eric@webkit.org>
5 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> 5 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org>
6 * Copyright (C) 2013 Google Inc. All rights reserved. 6 * Copyright (C) 2013 Google Inc. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 return SkColorMatrixFilter::Create(matrix); 154 return SkColorMatrixFilter::Create(matrix);
155 } 155 }
156 156
157 bool FEColorMatrix::affectsTransparentPixels() 157 bool FEColorMatrix::affectsTransparentPixels()
158 { 158 {
159 // Because the input pixels are premultiplied, the only way clear pixels can be 159 // Because the input pixels are premultiplied, the only way clear pixels can be
160 // painted is if the additive component for the alpha is not 0. 160 // painted is if the additive component for the alpha is not 0.
161 return m_type == FECOLORMATRIX_TYPE_MATRIX && m_values.size() >= kColorMatri xSize && m_values[19] > 0; 161 return m_type == FECOLORMATRIX_TYPE_MATRIX && m_values.size() >= kColorMatri xSize && m_values[19] > 0;
162 } 162 }
163 163
164 PassRefPtr<SkImageFilter> FEColorMatrix::createImageFilter(SkiaImageFilterBuilde r* builder) 164 PassRefPtr<SkImageFilter> FEColorMatrix::createImageFilter(SkiaImageFilterBuilde r& builder)
165 { 165 {
166 RefPtr<SkImageFilter> input(builder->build(inputEffect(0), operatingColorSpa ce())); 166 RefPtr<SkImageFilter> input(builder.build(inputEffect(0), operatingColorSpac e()));
167 SkAutoTUnref<SkColorFilter> filter(createColorFilter(m_type, m_values)); 167 SkAutoTUnref<SkColorFilter> filter(createColorFilter(m_type, m_values));
168 SkImageFilter::CropRect rect = getCropRect(builder->cropOffset()); 168 SkImageFilter::CropRect rect = getCropRect(builder.cropOffset());
169 return adoptRef(SkColorFilterImageFilter::Create(filter, input.get(), &rect) ); 169 return adoptRef(SkColorFilterImageFilter::Create(filter, input.get(), &rect) );
170 } 170 }
171 171
172 static TextStream& operator<<(TextStream& ts, const ColorMatrixType& type) 172 static TextStream& operator<<(TextStream& ts, const ColorMatrixType& type)
173 { 173 {
174 switch (type) { 174 switch (type) {
175 case FECOLORMATRIX_TYPE_UNKNOWN: 175 case FECOLORMATRIX_TYPE_UNKNOWN:
176 ts << "UNKNOWN"; 176 ts << "UNKNOWN";
177 break; 177 break;
178 case FECOLORMATRIX_TYPE_MATRIX: 178 case FECOLORMATRIX_TYPE_MATRIX:
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 ts << " "; 225 ts << " ";
226 } 226 }
227 ts << "\""; 227 ts << "\"";
228 } 228 }
229 ts << "]\n"; 229 ts << "]\n";
230 inputEffect(0)->externalRepresentation(ts, indent + 1); 230 inputEffect(0)->externalRepresentation(ts, indent + 1);
231 return ts; 231 return ts;
232 } 232 }
233 233
234 } // namespace blink 234 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698