| 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 |