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

Side by Side Diff: tests/ImageFilterTest.cpp

Issue 1858353002: Update SkMatrixImageFilter to sk_sp (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Fix fuzz 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 | « src/core/SkMatrixImageFilter.cpp ('k') | no next file » | 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 2013 Google Inc. 2 * Copyright 2013 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 "SkBitmap.h" 8 #include "SkBitmap.h"
9 #include "SkBitmapDevice.h" 9 #include "SkBitmapDevice.h"
10 #include "SkBlurImageFilter.h" 10 #include "SkBlurImageFilter.h"
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 this->addFilter("offset", 218 this->addFilter("offset",
219 SkOffsetImageFilter::Make(SK_Scalar1, SK_Scalar1, input, 219 SkOffsetImageFilter::Make(SK_Scalar1, SK_Scalar1, input,
220 cropRect).release()); 220 cropRect).release());
221 this->addFilter("dilate", SkDilateImageFilter::Make(3, 2, input, cropRec t).release()); 221 this->addFilter("dilate", SkDilateImageFilter::Make(3, 2, input, cropRec t).release());
222 this->addFilter("erode", SkErodeImageFilter::Make(2, 3, input, cropRect) .release()); 222 this->addFilter("erode", SkErodeImageFilter::Make(2, 3, input, cropRect) .release());
223 this->addFilter("tile", SkTileImageFilter::Create( 223 this->addFilter("tile", SkTileImageFilter::Create(
224 SkRect::MakeXYWH(0, 0, 50, 50), 224 SkRect::MakeXYWH(0, 0, 50, 50),
225 cropRect ? cropRect->rect() : SkRect::MakeXYWH(0, 0, 100, 100), 225 cropRect ? cropRect->rect() : SkRect::MakeXYWH(0, 0, 100, 100),
226 input.get())); 226 input.get()));
227 if (!cropRect) { 227 if (!cropRect) {
228 this->addFilter("matrix", SkImageFilter::CreateMatrixFilter( 228 this->addFilter("matrix",
229 matrix, kLow_SkFilterQuality, input.get())); 229 SkImageFilter::MakeMatrixFilter(matrix, kLow_SkFilterQuality, in put).release());
230 } 230 }
231 231
232 { 232 {
233 sk_sp<SkImageFilter> blur(SkBlurImageFilter::Make(five, five, input) ); 233 sk_sp<SkImageFilter> blur(SkBlurImageFilter::Make(five, five, input) );
234 234
235 this->addFilter("blur and offset", SkOffsetImageFilter::Make(five, f ive, 235 this->addFilter("blur and offset", SkOffsetImageFilter::Make(five, f ive,
236 std::mo ve(blur), 236 std::mo ve(blur),
237 cropRec t).release()); 237 cropRec t).release());
238 } 238 }
239 { 239 {
(...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 } 794 }
795 795
796 static void draw_saveLayer_picture(int width, int height, int tileSize, 796 static void draw_saveLayer_picture(int width, int height, int tileSize,
797 SkBBHFactory* factory, SkBitmap* result) { 797 SkBBHFactory* factory, SkBitmap* result) {
798 798
799 SkMatrix matrix; 799 SkMatrix matrix;
800 matrix.setTranslate(SkIntToScalar(50), 0); 800 matrix.setTranslate(SkIntToScalar(50), 0);
801 801
802 sk_sp<SkColorFilter> cf(SkColorFilter::MakeModeFilter(SK_ColorWHITE, SkXferm ode::kSrc_Mode)); 802 sk_sp<SkColorFilter> cf(SkColorFilter::MakeModeFilter(SK_ColorWHITE, SkXferm ode::kSrc_Mode));
803 sk_sp<SkImageFilter> cfif(SkColorFilterImageFilter::Make(std::move(cf), null ptr)); 803 sk_sp<SkImageFilter> cfif(SkColorFilterImageFilter::Make(std::move(cf), null ptr));
804 sk_sp<SkImageFilter> imageFilter(SkImageFilter::CreateMatrixFilter(matrix, 804 sk_sp<SkImageFilter> imageFilter(SkImageFilter::MakeMatrixFilter(matrix,
805 kNone_SkF ilterQuality, 805 kNone_SkFil terQuality,
806 cfif.get( ))); 806 std::move(c fif)));
807 807
808 SkPaint paint; 808 SkPaint paint;
809 paint.setImageFilter(std::move(imageFilter)); 809 paint.setImageFilter(std::move(imageFilter));
810 SkPictureRecorder recorder; 810 SkPictureRecorder recorder;
811 SkRect bounds = SkRect::Make(SkIRect::MakeXYWH(0, 0, 50, 50)); 811 SkRect bounds = SkRect::Make(SkIRect::MakeXYWH(0, 0, 50, 50));
812 SkCanvas* recordingCanvas = recorder.beginRecording(SkIntToScalar(width), 812 SkCanvas* recordingCanvas = recorder.beginRecording(SkIntToScalar(width),
813 SkIntToScalar(height), 813 SkIntToScalar(height),
814 factory, 0); 814 factory, 0);
815 recordingCanvas->translate(-55, 0); 815 recordingCanvas->translate(-55, 0);
816 recordingCanvas->saveLayer(&bounds, &paint); 816 recordingCanvas->saveLayer(&bounds, &paint);
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after
1390 SkCanvas canvas(temp); 1390 SkCanvas canvas(temp);
1391 canvas.clear(0x0); 1391 canvas.clear(0x0);
1392 1392
1393 SkBitmap bitmap; 1393 SkBitmap bitmap;
1394 bitmap.allocN32Pixels(10, 10); 1394 bitmap.allocN32Pixels(10, 10);
1395 bitmap.eraseColor(SK_ColorGREEN); 1395 bitmap.eraseColor(SK_ColorGREEN);
1396 1396
1397 SkMatrix matrix; 1397 SkMatrix matrix;
1398 matrix.setScale(SkIntToScalar(2), SkIntToScalar(2)); 1398 matrix.setScale(SkIntToScalar(2), SkIntToScalar(2));
1399 matrix.postTranslate(SkIntToScalar(-20), SkIntToScalar(-20)); 1399 matrix.postTranslate(SkIntToScalar(-20), SkIntToScalar(-20));
1400 SkAutoTUnref<SkImageFilter> matrixFilter( 1400 sk_sp<SkImageFilter> matrixFilter(
1401 SkImageFilter::CreateMatrixFilter(matrix, kLow_SkFilterQuality)); 1401 SkImageFilter::MakeMatrixFilter(matrix, kLow_SkFilterQuality, nullptr));
1402 1402
1403 // Test that saveLayer() with a filter nested inside another saveLayer() app lies the 1403 // Test that saveLayer() with a filter nested inside another saveLayer() app lies the
1404 // correct offset to the filter matrix. 1404 // correct offset to the filter matrix.
1405 SkRect bounds1 = SkRect::MakeXYWH(10, 10, 30, 30); 1405 SkRect bounds1 = SkRect::MakeXYWH(10, 10, 30, 30);
1406 canvas.saveLayer(&bounds1, nullptr); 1406 canvas.saveLayer(&bounds1, nullptr);
1407 SkPaint filterPaint; 1407 SkPaint filterPaint;
1408 filterPaint.setImageFilter(matrixFilter); 1408 filterPaint.setImageFilter(std::move(matrixFilter));
1409 SkRect bounds2 = SkRect::MakeXYWH(20, 20, 10, 10); 1409 SkRect bounds2 = SkRect::MakeXYWH(20, 20, 10, 10);
1410 canvas.saveLayer(&bounds2, &filterPaint); 1410 canvas.saveLayer(&bounds2, &filterPaint);
1411 SkPaint greenPaint; 1411 SkPaint greenPaint;
1412 greenPaint.setColor(SK_ColorGREEN); 1412 greenPaint.setColor(SK_ColorGREEN);
1413 canvas.drawRect(bounds2, greenPaint); 1413 canvas.drawRect(bounds2, greenPaint);
1414 canvas.restore(); 1414 canvas.restore();
1415 canvas.restore(); 1415 canvas.restore();
1416 SkPaint strokePaint; 1416 SkPaint strokePaint;
1417 strokePaint.setStyle(SkPaint::kStroke_Style); 1417 strokePaint.setStyle(SkPaint::kStroke_Style);
1418 strokePaint.setColor(SK_ColorRED); 1418 strokePaint.setColor(SK_ColorRED);
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
1704 1704
1705 test_xfermode_cropped_input(&canvas, reporter); 1705 test_xfermode_cropped_input(&canvas, reporter);
1706 } 1706 }
1707 1707
1708 DEF_GPUTEST_FOR_ALL_CONTEXTS(BlurLargeImage_Gpu, reporter, ctxInfo) { 1708 DEF_GPUTEST_FOR_ALL_CONTEXTS(BlurLargeImage_Gpu, reporter, ctxInfo) {
1709 auto surface(SkSurface::MakeRenderTarget(ctxInfo.fGrContext, SkBudgeted::kYe s, 1709 auto surface(SkSurface::MakeRenderTarget(ctxInfo.fGrContext, SkBudgeted::kYe s,
1710 SkImageInfo::MakeN32Premul(100, 100 ))); 1710 SkImageInfo::MakeN32Premul(100, 100 )));
1711 test_large_blur_input(reporter, surface->getCanvas()); 1711 test_large_blur_input(reporter, surface->getCanvas());
1712 } 1712 }
1713 #endif 1713 #endif
OLDNEW
« no previous file with comments | « src/core/SkMatrixImageFilter.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698