OLD | NEW |
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 "SkBicubicImageFilter.h" | 8 #include "SkBicubicImageFilter.h" |
9 #include "SkBitmap.h" | 9 #include "SkBitmap.h" |
10 #include "SkBitmapDevice.h" | 10 #include "SkBitmapDevice.h" |
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 SkAutoTUnref<SkColorFilter> cf(SkColorFilter::CreateModeFilter(SK_ColorRED,
SkXfermode::kSrcIn_Mode)); | 291 SkAutoTUnref<SkColorFilter> cf(SkColorFilter::CreateModeFilter(SK_ColorRED,
SkXfermode::kSrcIn_Mode)); |
292 SkPoint3 location(0, 0, SK_Scalar1); | 292 SkPoint3 location(0, 0, SK_Scalar1); |
293 SkPoint3 target(SK_Scalar1, SK_Scalar1, SK_Scalar1); | 293 SkPoint3 target(SK_Scalar1, SK_Scalar1, SK_Scalar1); |
294 SkScalar kernel[9] = { | 294 SkScalar kernel[9] = { |
295 SkIntToScalar( 1), SkIntToScalar( 1), SkIntToScalar( 1), | 295 SkIntToScalar( 1), SkIntToScalar( 1), SkIntToScalar( 1), |
296 SkIntToScalar( 1), SkIntToScalar(-7), SkIntToScalar( 1), | 296 SkIntToScalar( 1), SkIntToScalar(-7), SkIntToScalar( 1), |
297 SkIntToScalar( 1), SkIntToScalar( 1), SkIntToScalar( 1), | 297 SkIntToScalar( 1), SkIntToScalar( 1), SkIntToScalar( 1), |
298 }; | 298 }; |
299 SkISize kernelSize = SkISize::Make(3, 3); | 299 SkISize kernelSize = SkISize::Make(3, 3); |
300 SkScalar gain = SK_Scalar1, bias = 0; | 300 SkScalar gain = SK_Scalar1, bias = 0; |
| 301 SkScalar five = SkIntToScalar(5); |
301 | 302 |
302 SkAutoTUnref<SkImageFilter> gradient_source(SkBitmapSource::Create(make_grad
ient_circle(64, 64))); | 303 SkAutoTUnref<SkImageFilter> gradient_source(SkBitmapSource::Create(make_grad
ient_circle(64, 64))); |
| 304 SkAutoTUnref<SkImageFilter> blur(SkBlurImageFilter::Create(five, five)); |
303 SkMatrix matrix; | 305 SkMatrix matrix; |
| 306 |
304 matrix.setTranslate(SK_Scalar1, SK_Scalar1); | 307 matrix.setTranslate(SK_Scalar1, SK_Scalar1); |
305 matrix.postRotate(SkIntToScalar(45), SK_Scalar1, SK_Scalar1); | 308 matrix.postRotate(SkIntToScalar(45), SK_Scalar1, SK_Scalar1); |
306 | 309 |
307 struct { | 310 struct { |
308 const char* fName; | 311 const char* fName; |
309 SkImageFilter* fFilter; | 312 SkImageFilter* fFilter; |
310 } filters[] = { | 313 } filters[] = { |
311 { "color filter", SkColorFilterImageFilter::Create(cf.get()) }, | 314 { "color filter", SkColorFilterImageFilter::Create(cf.get()) }, |
312 { "displacement map", SkDisplacementMapEffect::Create( | 315 { "displacement map", SkDisplacementMapEffect::Create( |
313 SkDisplacementMapEffect::kR_ChannelSelectorType, | 316 SkDisplacementMapEffect::kR_ChannelSelectorType, |
(...skipping 10 matching lines...) Expand all Loading... |
324 SkMatrixConvolutionImageFilter::Create( | 327 SkMatrixConvolutionImageFilter::Create( |
325 kernelSize, kernel, gain, bias, SkIPoint::Make(1, 1), | 328 kernelSize, kernel, gain, bias, SkIPoint::Make(1, 1), |
326 SkMatrixConvolutionImageFilter::kRepeat_TileMode, false) }, | 329 SkMatrixConvolutionImageFilter::kRepeat_TileMode, false) }, |
327 { "merge", SkMergeImageFilter::Create(NULL, NULL, SkXfermode::kSrcOver_M
ode) }, | 330 { "merge", SkMergeImageFilter::Create(NULL, NULL, SkXfermode::kSrcOver_M
ode) }, |
328 { "offset", SkOffsetImageFilter::Create(SK_Scalar1, SK_Scalar1) }, | 331 { "offset", SkOffsetImageFilter::Create(SK_Scalar1, SK_Scalar1) }, |
329 { "dilate", SkDilateImageFilter::Create(3, 2) }, | 332 { "dilate", SkDilateImageFilter::Create(3, 2) }, |
330 { "erode", SkErodeImageFilter::Create(2, 3) }, | 333 { "erode", SkErodeImageFilter::Create(2, 3) }, |
331 { "tile", SkTileImageFilter::Create(SkRect::MakeXYWH(0, 0, 50, 50), | 334 { "tile", SkTileImageFilter::Create(SkRect::MakeXYWH(0, 0, 50, 50), |
332 SkRect::MakeXYWH(0, 0, 100, 100), NU
LL) }, | 335 SkRect::MakeXYWH(0, 0, 100, 100), NU
LL) }, |
333 { "matrix", SkMatrixImageFilter::Create(matrix, SkPaint::kLow_FilterLeve
l) }, | 336 { "matrix", SkMatrixImageFilter::Create(matrix, SkPaint::kLow_FilterLeve
l) }, |
| 337 { "blur and offset", SkOffsetImageFilter::Create(five, five, blur.get())
}, |
334 }; | 338 }; |
335 | 339 |
336 SkBitmap untiledResult, tiledResult; | 340 SkBitmap untiledResult, tiledResult; |
337 int width = 64, height = 64; | 341 int width = 64, height = 64; |
338 untiledResult.allocN32Pixels(width, height); | 342 untiledResult.allocN32Pixels(width, height); |
339 tiledResult.allocN32Pixels(width, height); | 343 tiledResult.allocN32Pixels(width, height); |
340 SkCanvas tiledCanvas(tiledResult); | 344 SkCanvas tiledCanvas(tiledResult); |
341 SkCanvas untiledCanvas(untiledResult); | 345 SkCanvas untiledCanvas(untiledResult); |
342 int tileSize = 8; | 346 int tileSize = 8; |
343 | 347 |
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
676 } | 680 } |
677 | 681 |
678 DEF_GPUTEST(XfermodeImageFilterCroppedInputGPU, reporter, factory) { | 682 DEF_GPUTEST(XfermodeImageFilterCroppedInputGPU, reporter, factory) { |
679 GrContext* context = factory->get(static_cast<GrContextFactory::GLContextTyp
e>(0)); | 683 GrContext* context = factory->get(static_cast<GrContextFactory::GLContextTyp
e>(0)); |
680 SkAutoTUnref<SkGpuDevice> device(SkGpuDevice::Create(context, | 684 SkAutoTUnref<SkGpuDevice> device(SkGpuDevice::Create(context, |
681 SkImageInfo::MakeN32Pre
mul(1, 1), | 685 SkImageInfo::MakeN32Pre
mul(1, 1), |
682 0)); | 686 0)); |
683 test_xfermode_cropped_input(device, reporter); | 687 test_xfermode_cropped_input(device, reporter); |
684 } | 688 } |
685 #endif | 689 #endif |
OLD | NEW |