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