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 "SkBitmap.h" | 8 #include "SkBitmap.h" |
9 #include "SkBitmapDevice.h" | 9 #include "SkBitmapDevice.h" |
10 #include "SkBitmapSource.h" | 10 #include "SkBitmapSource.h" |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
249 }; | 249 }; |
250 SkISize kernelSize = SkISize::Make(3, 3); | 250 SkISize kernelSize = SkISize::Make(3, 3); |
251 SkScalar gain = SK_Scalar1, bias = 0; | 251 SkScalar gain = SK_Scalar1, bias = 0; |
252 | 252 |
253 SkImageFilter* filters[] = { | 253 SkImageFilter* filters[] = { |
254 SkColorFilterImageFilter::Create(cf.get(), input.get(), &cropRect), | 254 SkColorFilterImageFilter::Create(cf.get(), input.get(), &cropRect), |
255 SkDisplacementMapEffect::Create(SkDisplacementMapEffect::kR_ChannelSelec
torType, | 255 SkDisplacementMapEffect::Create(SkDisplacementMapEffect::kR_ChannelSelec
torType, |
256 SkDisplacementMapEffect::kB_ChannelSelec
torType, | 256 SkDisplacementMapEffect::kB_ChannelSelec
torType, |
257 40.0f, input.get(), input.get(), &cropRe
ct), | 257 40.0f, input.get(), input.get(), &cropRe
ct), |
258 SkBlurImageFilter::Create(SK_Scalar1, SK_Scalar1, input.get(), &cropRect
), | 258 SkBlurImageFilter::Create(SK_Scalar1, SK_Scalar1, input.get(), &cropRect
), |
259 SkDropShadowImageFilter::Create(SK_Scalar1, SK_Scalar1, SK_Scalar1, SK_S
calar1, SK_ColorGREEN, input.get(), &cropRect), | 259 SkDropShadowImageFilter::Create(SK_Scalar1, SK_Scalar1, SK_Scalar1, SK_S
calar1, |
| 260 SK_ColorGREEN, SkDropShadowImageFilter::kDrawShadowAndForeground_Sha
dowMode, |
| 261 input.get(), &cropRect, 0), |
260 SkLightingImageFilter::CreatePointLitDiffuse(location, SK_ColorGREEN, 0,
0, input.get(), &cropRect), | 262 SkLightingImageFilter::CreatePointLitDiffuse(location, SK_ColorGREEN, 0,
0, input.get(), &cropRect), |
261 SkLightingImageFilter::CreatePointLitSpecular(location, SK_ColorGREEN, 0
, 0, 0, input.get(), &cropRect), | 263 SkLightingImageFilter::CreatePointLitSpecular(location, SK_ColorGREEN, 0
, 0, 0, input.get(), &cropRect), |
262 SkMatrixConvolutionImageFilter::Create(kernelSize, kernel, gain, bias, S
kIPoint::Make(1, 1), SkMatrixConvolutionImageFilter::kRepeat_TileMode, false, in
put.get(), &cropRect), | 264 SkMatrixConvolutionImageFilter::Create(kernelSize, kernel, gain, bias, S
kIPoint::Make(1, 1), SkMatrixConvolutionImageFilter::kRepeat_TileMode, false, in
put.get(), &cropRect), |
263 SkMergeImageFilter::Create(input.get(), input.get(), SkXfermode::kSrcOve
r_Mode, &cropRect), | 265 SkMergeImageFilter::Create(input.get(), input.get(), SkXfermode::kSrcOve
r_Mode, &cropRect), |
264 SkOffsetImageFilter::Create(SK_Scalar1, SK_Scalar1, input.get(), &cropRe
ct), | 266 SkOffsetImageFilter::Create(SK_Scalar1, SK_Scalar1, input.get(), &cropRe
ct), |
265 SkOffsetImageFilter::Create(SK_Scalar1, SK_Scalar1, input.get(), &cropRe
ct), | 267 SkOffsetImageFilter::Create(SK_Scalar1, SK_Scalar1, input.get(), &cropRe
ct), |
266 SkDilateImageFilter::Create(3, 2, input.get(), &cropRect), | 268 SkDilateImageFilter::Create(3, 2, input.get(), &cropRect), |
267 SkErodeImageFilter::Create(2, 3, input.get(), &cropRect), | 269 SkErodeImageFilter::Create(2, 3, input.get(), &cropRect), |
268 SkTileImageFilter::Create(inputCropRect.rect(), cropRect.rect(), input.g
et()), | 270 SkTileImageFilter::Create(inputCropRect.rect(), cropRect.rect(), input.g
et()), |
269 SkXfermodeImageFilter::Create(SkXfermode::Create(SkXfermode::kSrcOver_Mo
de), input.get(), input.get(), &cropRect), | 271 SkXfermodeImageFilter::Create(SkXfermode::Create(SkXfermode::kSrcOver_Mo
de), input.get(), input.get(), &cropRect), |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
402 const char* fName; | 404 const char* fName; |
403 SkImageFilter* fFilter; | 405 SkImageFilter* fFilter; |
404 } filters[] = { | 406 } filters[] = { |
405 { "color filter", SkColorFilterImageFilter::Create(cf.get()) }, | 407 { "color filter", SkColorFilterImageFilter::Create(cf.get()) }, |
406 { "displacement map", SkDisplacementMapEffect::Create( | 408 { "displacement map", SkDisplacementMapEffect::Create( |
407 SkDisplacementMapEffect::kR_ChannelSelectorType, | 409 SkDisplacementMapEffect::kR_ChannelSelectorType, |
408 SkDisplacementMapEffect::kB_ChannelSelectorType, | 410 SkDisplacementMapEffect::kB_ChannelSelectorType, |
409 20.0f, gradient_source.get()) }, | 411 20.0f, gradient_source.get()) }, |
410 { "blur", SkBlurImageFilter::Create(SK_Scalar1, SK_Scalar1) }, | 412 { "blur", SkBlurImageFilter::Create(SK_Scalar1, SK_Scalar1) }, |
411 { "drop shadow", SkDropShadowImageFilter::Create( | 413 { "drop shadow", SkDropShadowImageFilter::Create( |
412 SK_Scalar1, SK_Scalar1, SK_Scalar1, SK_Scalar1, SK_ColorGREEN) }, | 414 SK_Scalar1, SK_Scalar1, SK_Scalar1, SK_Scalar1, SK_ColorGREEN, |
| 415 SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode) }, |
413 { "diffuse lighting", SkLightingImageFilter::CreatePointLitDiffuse( | 416 { "diffuse lighting", SkLightingImageFilter::CreatePointLitDiffuse( |
414 location, SK_ColorGREEN, 0, 0) }, | 417 location, SK_ColorGREEN, 0, 0) }, |
415 { "specular lighting", | 418 { "specular lighting", |
416 SkLightingImageFilter::CreatePointLitSpecular(location, SK_ColorGR
EEN, 0, 0, 0) }, | 419 SkLightingImageFilter::CreatePointLitSpecular(location, SK_ColorGR
EEN, 0, 0, 0) }, |
417 { "matrix convolution", | 420 { "matrix convolution", |
418 SkMatrixConvolutionImageFilter::Create( | 421 SkMatrixConvolutionImageFilter::Create( |
419 kernelSize, kernel, gain, bias, SkIPoint::Make(1, 1), | 422 kernelSize, kernel, gain, bias, SkIPoint::Make(1, 1), |
420 SkMatrixConvolutionImageFilter::kRepeat_TileMode, false) }, | 423 SkMatrixConvolutionImageFilter::kRepeat_TileMode, false) }, |
421 { "merge", SkMergeImageFilter::Create(NULL, NULL, SkXfermode::kSrcOver_M
ode) }, | 424 { "merge", SkMergeImageFilter::Create(NULL, NULL, SkXfermode::kSrcOver_M
ode) }, |
422 { "offset", SkOffsetImageFilter::Create(SK_Scalar1, SK_Scalar1) }, | 425 { "offset", SkOffsetImageFilter::Create(SK_Scalar1, SK_Scalar1) }, |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
530 } | 533 } |
531 | 534 |
532 static SkImageFilter* makeBlur(SkImageFilter* input = NULL) { | 535 static SkImageFilter* makeBlur(SkImageFilter* input = NULL) { |
533 return SkBlurImageFilter::Create(SK_Scalar1, SK_Scalar1, input); | 536 return SkBlurImageFilter::Create(SK_Scalar1, SK_Scalar1, input); |
534 } | 537 } |
535 | 538 |
536 static SkImageFilter* makeDropShadow(SkImageFilter* input = NULL) { | 539 static SkImageFilter* makeDropShadow(SkImageFilter* input = NULL) { |
537 return SkDropShadowImageFilter::Create( | 540 return SkDropShadowImageFilter::Create( |
538 SkIntToScalar(100), SkIntToScalar(100), | 541 SkIntToScalar(100), SkIntToScalar(100), |
539 SkIntToScalar(10), SkIntToScalar(10), | 542 SkIntToScalar(10), SkIntToScalar(10), |
540 SK_ColorBLUE, input); | 543 SK_ColorBLUE, SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMo
de, |
| 544 input, NULL, 0); |
541 } | 545 } |
542 | 546 |
543 DEF_TEST(ImageFilterBlurThenShadowBounds, reporter) { | 547 DEF_TEST(ImageFilterBlurThenShadowBounds, reporter) { |
544 SkAutoTUnref<SkImageFilter> filter1(makeBlur()); | 548 SkAutoTUnref<SkImageFilter> filter1(makeBlur()); |
545 SkAutoTUnref<SkImageFilter> filter2(makeDropShadow(filter1.get())); | 549 SkAutoTUnref<SkImageFilter> filter2(makeDropShadow(filter1.get())); |
546 | 550 |
547 SkIRect bounds = SkIRect::MakeXYWH(0, 0, 100, 100); | 551 SkIRect bounds = SkIRect::MakeXYWH(0, 0, 100, 100); |
548 SkIRect expectedBounds = SkIRect::MakeXYWH(-133, -133, 236, 236); | 552 SkIRect expectedBounds = SkIRect::MakeXYWH(-133, -133, 236, 236); |
549 filter2->filterBounds(bounds, SkMatrix::I(), &bounds); | 553 filter2->filterBounds(bounds, SkMatrix::I(), &bounds); |
550 | 554 |
(...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1085 | 1089 |
1086 DEF_GPUTEST(TestNegativeBlurSigmaGPU, reporter, factory) { | 1090 DEF_GPUTEST(TestNegativeBlurSigmaGPU, reporter, factory) { |
1087 GrContext* context = factory->get(static_cast<GrContextFactory::GLContextTyp
e>(0)); | 1091 GrContext* context = factory->get(static_cast<GrContextFactory::GLContextTyp
e>(0)); |
1088 SkAutoTUnref<SkGpuDevice> device(SkGpuDevice::Create(context, | 1092 SkAutoTUnref<SkGpuDevice> device(SkGpuDevice::Create(context, |
1089 SkImageInfo::MakeN32Pre
mul(1, 1), | 1093 SkImageInfo::MakeN32Pre
mul(1, 1), |
1090 gProps, | 1094 gProps, |
1091 0)); | 1095 0)); |
1092 test_negative_blur_sigma(device, reporter); | 1096 test_negative_blur_sigma(device, reporter); |
1093 } | 1097 } |
1094 #endif | 1098 #endif |
OLD | NEW |