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

Side by Side Diff: gm/imagefiltersgraph.cpp

Issue 1852123002: Update SkXfermodeImageFilter to sk_sp (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Overload Make methods Created 4 years, 8 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 | « bench/ColorFilterBench.cpp ('k') | gm/xfermodeimagefilter.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 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 "gm.h" 8 #include "gm.h"
9 9
10 #include "SkArithmeticMode.h" 10 #include "SkArithmeticMode.h"
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 0, SK_Scalar1, 0, 0, 0, 153 0, SK_Scalar1, 0, 0, 0,
154 0, 0, SK_Scalar1, 0, 0, 154 0, 0, SK_Scalar1, 0, 0,
155 0, 0, 0, 0.5f, 0 }; 155 0, 0, 0, 0.5f, 0 };
156 156
157 sk_sp<SkColorFilter> matrixFilter(SkColorFilter::MakeMatrixFilterRow Major255(matrix)); 157 sk_sp<SkColorFilter> matrixFilter(SkColorFilter::MakeMatrixFilterRow Major255(matrix));
158 sk_sp<SkImageFilter> colorMorph(SkColorFilterImageFilter::Make(std:: move(matrixFilter), 158 sk_sp<SkImageFilter> colorMorph(SkColorFilterImageFilter::Make(std:: move(matrixFilter),
159 std:: move(morph))); 159 std:: move(morph)));
160 SkPaint paint; 160 SkPaint paint;
161 paint.setImageFilter(SkXfermodeImageFilter::Make( 161 paint.setImageFilter(SkXfermodeImageFilter::Make(
162 SkXfermode::Make(SkXfermode::kSrcOver_Mo de), 162 SkXfermode::Make(SkXfermode::kSrcOver_Mo de),
163 colorMorph.get())); 163 std::move(colorMorph)));
164 164
165 DrawClippedImage(canvas, fImage.get(), paint); 165 DrawClippedImage(canvas, fImage.get(), paint);
166 canvas->translate(SkIntToScalar(100), 0); 166 canvas->translate(SkIntToScalar(100), 0);
167 } 167 }
168 { 168 {
169 SkScalar matrix[20] = { SK_Scalar1, 0, 0, 0, 0, 169 SkScalar matrix[20] = { SK_Scalar1, 0, 0, 0, 0,
170 0, SK_Scalar1, 0, 0, 0, 170 0, SK_Scalar1, 0, 0, 0,
171 0, 0, SK_Scalar1, 0, 0, 171 0, 0, SK_Scalar1, 0, 0,
172 0, 0, 0, 0.5f, 0 }; 172 0, 0, 0, 0.5f, 0 };
173 sk_sp<SkColorFilter> matrixCF(SkColorFilter::MakeMatrixFilterRowMajo r255(matrix)); 173 sk_sp<SkColorFilter> matrixCF(SkColorFilter::MakeMatrixFilterRowMajo r255(matrix));
174 sk_sp<SkImageFilter> matrixFilter(SkColorFilterImageFilter::Make(std ::move(matrixCF), 174 sk_sp<SkImageFilter> matrixFilter(SkColorFilterImageFilter::Make(std ::move(matrixCF),
175 nul lptr)); 175 nul lptr));
176 sk_sp<SkImageFilter> offsetFilter(SimpleOffsetFilter::Make(10.0f, 10 .f, matrixFilter)); 176 sk_sp<SkImageFilter> offsetFilter(SimpleOffsetFilter::Make(10.0f, 10 .f, matrixFilter));
177 177
178 SkPaint paint; 178 SkPaint paint;
179 paint.setImageFilter( 179 paint.setImageFilter(
180 SkXfermodeImageFilter::Make(SkArithmeticMode::Make(0, SK_Scalar1 , SK_Scalar1, 0), 180 SkXfermodeImageFilter::Make(SkArithmeticMode::Make(0, SK_Scalar1 , SK_Scalar1, 0),
181 matrixFilter.get(), offsetFilter.get (), nullptr)); 181 std::move(matrixFilter),
182 std::move(offsetFilter),
183 nullptr));
182 184
183 DrawClippedImage(canvas, fImage.get(), paint); 185 DrawClippedImage(canvas, fImage.get(), paint);
184 canvas->translate(SkIntToScalar(100), 0); 186 canvas->translate(SkIntToScalar(100), 0);
185 } 187 }
186 { 188 {
187 sk_sp<SkImageFilter> blur(SkBlurImageFilter::Make(SkIntToScalar(10), 189 sk_sp<SkImageFilter> blur(SkBlurImageFilter::Make(SkIntToScalar(10),
188 SkIntToScalar(10), 190 SkIntToScalar(10),
189 nullptr)); 191 nullptr));
190 192
191 SkImageFilter::CropRect cropRect(SkRect::MakeWH(SkIntToScalar(95), S kIntToScalar(100))); 193 SkImageFilter::CropRect cropRect(SkRect::MakeWH(SkIntToScalar(95), S kIntToScalar(100)));
192 SkPaint paint; 194 SkPaint paint;
193 paint.setImageFilter( 195 paint.setImageFilter(
194 SkXfermodeImageFilter::Make(SkXfermode::Make(SkXfermode::kSrcIn_ Mode), blur.get(), 196 SkXfermodeImageFilter::Make(SkXfermode::Make(SkXfermode::kSrcIn_ Mode),
197 std::move(blur),
195 nullptr, &cropRect)); 198 nullptr, &cropRect));
196 DrawClippedImage(canvas, fImage.get(), paint); 199 DrawClippedImage(canvas, fImage.get(), paint);
197 canvas->translate(SkIntToScalar(100), 0); 200 canvas->translate(SkIntToScalar(100), 0);
198 } 201 }
199 { 202 {
200 // Dilate -> matrix convolution. 203 // Dilate -> matrix convolution.
201 // This tests that a filter using asFragmentProcessor (matrix 204 // This tests that a filter using asFragmentProcessor (matrix
202 // convolution) correctly handles a non-zero source offset 205 // convolution) correctly handles a non-zero source offset
203 // (supplied by the dilate). 206 // (supplied by the dilate).
204 sk_sp<SkImageFilter> dilate(SkDilateImageFilter::Make(5, 5, nullptr) ); 207 sk_sp<SkImageFilter> dilate(SkDilateImageFilter::Make(5, 5, nullptr) );
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 } 265 }
263 266
264 sk_sp<SkImage> fImage; 267 sk_sp<SkImage> fImage;
265 268
266 typedef GM INHERITED; 269 typedef GM INHERITED;
267 }; 270 };
268 271
269 /////////////////////////////////////////////////////////////////////////////// 272 ///////////////////////////////////////////////////////////////////////////////
270 273
271 DEF_GM(return new ImageFiltersGraphGM;) 274 DEF_GM(return new ImageFiltersGraphGM;)
OLDNEW
« no previous file with comments | « bench/ColorFilterBench.cpp ('k') | gm/xfermodeimagefilter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698