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

Side by Side Diff: tests/ImageFilterTest.cpp

Issue 1011273003: Move SkMatrixImageFilter into core, and add a factory fn for it. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Changed all callers to use SkImageFilter::CreateMatrixFilter() instead of SKMIF::Create() Created 5 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
« no previous file with comments | « src/effects/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 "SkBitmapSource.h" 10 #include "SkBitmapSource.h"
11 #include "SkBlurImageFilter.h" 11 #include "SkBlurImageFilter.h"
12 #include "SkCanvas.h" 12 #include "SkCanvas.h"
13 #include "SkColorFilterImageFilter.h" 13 #include "SkColorFilterImageFilter.h"
14 #include "SkColorMatrixFilter.h" 14 #include "SkColorMatrixFilter.h"
15 #include "SkComposeImageFilter.h" 15 #include "SkComposeImageFilter.h"
16 #include "SkDeviceImageFilterProxy.h" 16 #include "SkDeviceImageFilterProxy.h"
17 #include "SkDisplacementMapEffect.h" 17 #include "SkDisplacementMapEffect.h"
18 #include "SkDropShadowImageFilter.h" 18 #include "SkDropShadowImageFilter.h"
19 #include "SkFlattenableSerialization.h" 19 #include "SkFlattenableSerialization.h"
20 #include "SkGradientShader.h" 20 #include "SkGradientShader.h"
21 #include "SkLightingImageFilter.h" 21 #include "SkLightingImageFilter.h"
22 #include "SkMatrixConvolutionImageFilter.h" 22 #include "SkMatrixConvolutionImageFilter.h"
23 #include "SkMatrixImageFilter.h"
24 #include "SkMergeImageFilter.h" 23 #include "SkMergeImageFilter.h"
25 #include "SkMorphologyImageFilter.h" 24 #include "SkMorphologyImageFilter.h"
26 #include "SkOffsetImageFilter.h" 25 #include "SkOffsetImageFilter.h"
27 #include "SkPerlinNoiseShader.h" 26 #include "SkPerlinNoiseShader.h"
28 #include "SkPicture.h" 27 #include "SkPicture.h"
29 #include "SkPictureImageFilter.h" 28 #include "SkPictureImageFilter.h"
30 #include "SkPictureRecorder.h" 29 #include "SkPictureRecorder.h"
31 #include "SkReadBuffer.h" 30 #include "SkReadBuffer.h"
32 #include "SkRect.h" 31 #include "SkRect.h"
33 #include "SkRectShaderImageFilter.h" 32 #include "SkRectShaderImageFilter.h"
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 { "matrix convolution", 462 { "matrix convolution",
464 SkMatrixConvolutionImageFilter::Create( 463 SkMatrixConvolutionImageFilter::Create(
465 kernelSize, kernel, gain, bias, SkIPoint::Make(1, 1), 464 kernelSize, kernel, gain, bias, SkIPoint::Make(1, 1),
466 SkMatrixConvolutionImageFilter::kRepeat_TileMode, false) }, 465 SkMatrixConvolutionImageFilter::kRepeat_TileMode, false) },
467 { "merge", SkMergeImageFilter::Create(NULL, NULL, SkXfermode::kSrcOver_M ode) }, 466 { "merge", SkMergeImageFilter::Create(NULL, NULL, SkXfermode::kSrcOver_M ode) },
468 { "offset", SkOffsetImageFilter::Create(SK_Scalar1, SK_Scalar1) }, 467 { "offset", SkOffsetImageFilter::Create(SK_Scalar1, SK_Scalar1) },
469 { "dilate", SkDilateImageFilter::Create(3, 2) }, 468 { "dilate", SkDilateImageFilter::Create(3, 2) },
470 { "erode", SkErodeImageFilter::Create(2, 3) }, 469 { "erode", SkErodeImageFilter::Create(2, 3) },
471 { "tile", SkTileImageFilter::Create(SkRect::MakeXYWH(0, 0, 50, 50), 470 { "tile", SkTileImageFilter::Create(SkRect::MakeXYWH(0, 0, 50, 50),
472 SkRect::MakeXYWH(0, 0, 100, 100), NU LL) }, 471 SkRect::MakeXYWH(0, 0, 100, 100), NU LL) },
473 { "matrix", SkMatrixImageFilter::Create(matrix, kLow_SkFilterQuality) }, 472 { "matrix", SkImageFilter::CreateMatrixFilter(matrix, kLow_SkFilterQuali ty) },
474 { "blur and offset", SkOffsetImageFilter::Create(five, five, blur.get()) }, 473 { "blur and offset", SkOffsetImageFilter::Create(five, five, blur.get()) },
475 { "picture and blur", SkBlurImageFilter::Create(five, five, pictureFilte r.get()) }, 474 { "picture and blur", SkBlurImageFilter::Create(five, five, pictureFilte r.get()) },
476 { "rect shader and blur", SkBlurImageFilter::Create(five, five, rectShad erFilter.get()) }, 475 { "rect shader and blur", SkBlurImageFilter::Create(five, five, rectShad erFilter.get()) },
477 }; 476 };
478 477
479 SkBitmap untiledResult, tiledResult; 478 SkBitmap untiledResult, tiledResult;
480 int width = 64, height = 64; 479 int width = 64, height = 64;
481 untiledResult.allocN32Pixels(width, height); 480 untiledResult.allocN32Pixels(width, height);
482 tiledResult.allocN32Pixels(width, height); 481 tiledResult.allocN32Pixels(width, height);
483 SkCanvas tiledCanvas(tiledResult); 482 SkCanvas tiledCanvas(tiledResult);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 } 525 }
527 526
528 static void draw_saveLayer_picture(int width, int height, int tileSize, 527 static void draw_saveLayer_picture(int width, int height, int tileSize,
529 SkBBHFactory* factory, SkBitmap* result) { 528 SkBBHFactory* factory, SkBitmap* result) {
530 529
531 SkMatrix matrix; 530 SkMatrix matrix;
532 matrix.setTranslate(SkIntToScalar(50), 0); 531 matrix.setTranslate(SkIntToScalar(50), 0);
533 532
534 SkAutoTUnref<SkColorFilter> cf(SkColorFilter::CreateModeFilter(SK_ColorWHITE , SkXfermode::kSrc_Mode)); 533 SkAutoTUnref<SkColorFilter> cf(SkColorFilter::CreateModeFilter(SK_ColorWHITE , SkXfermode::kSrc_Mode));
535 SkAutoTUnref<SkImageFilter> cfif(SkColorFilterImageFilter::Create(cf.get())) ; 534 SkAutoTUnref<SkImageFilter> cfif(SkColorFilterImageFilter::Create(cf.get())) ;
536 SkAutoTUnref<SkImageFilter> imageFilter(SkMatrixImageFilter::Create(matrix, kNone_SkFilterQuality, cfif.get())); 535 SkAutoTUnref<SkImageFilter> imageFilter(SkImageFilter::CreateMatrixFilter(ma trix, kNone_SkFilterQuality, cfif.get()));
537 536
538 SkPaint paint; 537 SkPaint paint;
539 paint.setImageFilter(imageFilter.get()); 538 paint.setImageFilter(imageFilter.get());
540 SkPictureRecorder recorder; 539 SkPictureRecorder recorder;
541 SkRect bounds = SkRect::Make(SkIRect::MakeXYWH(0, 0, 50, 50)); 540 SkRect bounds = SkRect::Make(SkIRect::MakeXYWH(0, 0, 50, 50));
542 SkCanvas* recordingCanvas = recorder.beginRecording(SkIntToScalar(width), 541 SkCanvas* recordingCanvas = recorder.beginRecording(SkIntToScalar(width),
543 SkIntToScalar(height), 542 SkIntToScalar(height),
544 factory, 0); 543 factory, 0);
545 recordingCanvas->translate(-55, 0); 544 recordingCanvas->translate(-55, 0);
546 recordingCanvas->saveLayer(&bounds, &paint); 545 recordingCanvas->saveLayer(&bounds, &paint);
(...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after
1069 canvas.clear(0x0); 1068 canvas.clear(0x0);
1070 1069
1071 SkBitmap bitmap; 1070 SkBitmap bitmap;
1072 bitmap.allocN32Pixels(10, 10); 1071 bitmap.allocN32Pixels(10, 10);
1073 bitmap.eraseColor(SK_ColorGREEN); 1072 bitmap.eraseColor(SK_ColorGREEN);
1074 1073
1075 SkMatrix matrix; 1074 SkMatrix matrix;
1076 matrix.setScale(SkIntToScalar(2), SkIntToScalar(2)); 1075 matrix.setScale(SkIntToScalar(2), SkIntToScalar(2));
1077 matrix.postTranslate(SkIntToScalar(-20), SkIntToScalar(-20)); 1076 matrix.postTranslate(SkIntToScalar(-20), SkIntToScalar(-20));
1078 SkAutoTUnref<SkImageFilter> matrixFilter( 1077 SkAutoTUnref<SkImageFilter> matrixFilter(
1079 SkMatrixImageFilter::Create(matrix, kLow_SkFilterQuality)); 1078 SkImageFilter::CreateMatrixFilter(matrix, kLow_SkFilterQuality));
1080 1079
1081 // Test that saveLayer() with a filter nested inside another saveLayer() app lies the 1080 // Test that saveLayer() with a filter nested inside another saveLayer() app lies the
1082 // correct offset to the filter matrix. 1081 // correct offset to the filter matrix.
1083 SkRect bounds1 = SkRect::MakeXYWH(10, 10, 30, 30); 1082 SkRect bounds1 = SkRect::MakeXYWH(10, 10, 30, 30);
1084 canvas.saveLayer(&bounds1, NULL); 1083 canvas.saveLayer(&bounds1, NULL);
1085 SkPaint filterPaint; 1084 SkPaint filterPaint;
1086 filterPaint.setImageFilter(matrixFilter); 1085 filterPaint.setImageFilter(matrixFilter);
1087 SkRect bounds2 = SkRect::MakeXYWH(20, 20, 10, 10); 1086 SkRect bounds2 = SkRect::MakeXYWH(20, 20, 10, 10);
1088 canvas.saveLayer(&bounds2, &filterPaint); 1087 canvas.saveLayer(&bounds2, &filterPaint);
1089 SkPaint greenPaint; 1088 SkPaint greenPaint;
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
1173 DEF_GPUTEST(TestNegativeBlurSigmaGPU, reporter, factory) { 1172 DEF_GPUTEST(TestNegativeBlurSigmaGPU, reporter, factory) {
1174 GrContext* context = factory->get(static_cast<GrContextFactory::GLContextTyp e>(0)); 1173 GrContext* context = factory->get(static_cast<GrContextFactory::GLContextTyp e>(0));
1175 SkAutoTUnref<SkGpuDevice> device(SkGpuDevice::Create(context, 1174 SkAutoTUnref<SkGpuDevice> device(SkGpuDevice::Create(context,
1176 SkSurface::kNo_Budgeted , 1175 SkSurface::kNo_Budgeted ,
1177 SkImageInfo::MakeN32Pre mul(1, 1), 1176 SkImageInfo::MakeN32Pre mul(1, 1),
1178 0, 1177 0,
1179 &gProps)); 1178 &gProps));
1180 test_negative_blur_sigma(device, reporter); 1179 test_negative_blur_sigma(device, reporter);
1181 } 1180 }
1182 #endif 1181 #endif
OLDNEW
« no previous file with comments | « src/effects/SkMatrixImageFilter.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698