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 "SkBlurImageFilter.h" | 10 #include "SkBlurImageFilter.h" |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
131 | 131 |
132 SkPaint greenPaint; | 132 SkPaint greenPaint; |
133 greenPaint.setColor(SK_ColorGREEN); | 133 greenPaint.setColor(SK_ColorGREEN); |
134 recordingCanvas->drawRect(SkRect::Make(SkIRect::MakeXYWH(10, 10, 30, 20)
), greenPaint); | 134 recordingCanvas->drawRect(SkRect::Make(SkIRect::MakeXYWH(10, 10, 30, 20)
), greenPaint); |
135 sk_sp<SkPicture> picture(recorder.finishRecordingAsPicture()); | 135 sk_sp<SkPicture> picture(recorder.finishRecordingAsPicture()); |
136 sk_sp<SkImageFilter> pictureFilter(SkPictureImageFilter::Make(picture)); | 136 sk_sp<SkImageFilter> pictureFilter(SkPictureImageFilter::Make(picture)); |
137 sk_sp<SkShader> shader(SkPerlinNoiseShader::MakeTurbulence(SK_Scalar1, S
K_Scalar1, 1, 0)); | 137 sk_sp<SkShader> shader(SkPerlinNoiseShader::MakeTurbulence(SK_Scalar1, S
K_Scalar1, 1, 0)); |
138 | 138 |
139 SkPaint paint; | 139 SkPaint paint; |
140 paint.setShader(shader); | 140 paint.setShader(shader); |
141 sk_sp<SkImageFilter> paintFilter(SkPaintImageFilter::Make(paint)); | 141 SkAutoTUnref<SkImageFilter> paintFilter(SkPaintImageFilter::Create(paint
)); |
142 | 142 |
143 sk_sp<SkShader> greenColorShader(SkShader::MakeColorShader(SK_ColorGREEN
)); | 143 sk_sp<SkShader> greenColorShader(SkShader::MakeColorShader(SK_ColorGREEN
)); |
144 SkPaint greenColorShaderPaint; | 144 SkPaint greenColorShaderPaint; |
145 greenColorShaderPaint.setShader(greenColorShader); | 145 greenColorShaderPaint.setShader(greenColorShader); |
146 SkImageFilter::CropRect leftSideCropRect(SkRect::MakeXYWH(0, 0, 32, 64))
; | 146 SkImageFilter::CropRect leftSideCropRect(SkRect::MakeXYWH(0, 0, 32, 64))
; |
147 sk_sp<SkImageFilter> paintFilterLeft(SkPaintImageFilter::Make(greenColor
ShaderPaint, | 147 SkAutoTUnref<SkImageFilter> paintFilterLeft(SkPaintImageFilter::Create( |
148 &leftSideC
ropRect)); | 148 greenColorShaderPaint, &leftSideCropRect)); |
149 SkImageFilter::CropRect rightSideCropRect(SkRect::MakeXYWH(32, 0, 32, 64
)); | 149 SkImageFilter::CropRect rightSideCropRect(SkRect::MakeXYWH(32, 0, 32, 64
)); |
150 sk_sp<SkImageFilter> paintFilterRight(SkPaintImageFilter::Make(greenColo
rShaderPaint, | 150 SkAutoTUnref<SkImageFilter> paintFilterRight(SkPaintImageFilter::Create( |
151 &rightSid
eCropRect)); | 151 greenColorShaderPaint, &rightSideCropRect)); |
152 | 152 |
153 this->addFilter("color filter", | 153 this->addFilter("color filter", |
154 SkColorFilterImageFilter::Create(cf.get(), input, cropRect)); | 154 SkColorFilterImageFilter::Create(cf.get(), input, cropRect)); |
155 this->addFilter("displacement map", SkDisplacementMapEffect::Create( | 155 this->addFilter("displacement map", SkDisplacementMapEffect::Create( |
156 SkDisplacementMapEffect::kR_ChannelSelectorType, | 156 SkDisplacementMapEffect::kR_ChannelSelectorType, |
157 SkDisplacementMapEffect::kB_ChannelSelectorType, | 157 SkDisplacementMapEffect::kB_ChannelSelectorType, |
158 20.0f, gradientSource.get(), input, cropRect)); | 158 20.0f, gradientSource.get(), input, cropRect)); |
159 this->addFilter("blur", SkBlurImageFilter::Create(SK_Scalar1, SK_Scalar1
, input, cropRect)); | 159 this->addFilter("blur", SkBlurImageFilter::Create(SK_Scalar1, SK_Scalar1
, input, cropRect)); |
160 this->addFilter("drop shadow", SkDropShadowImageFilter::Create( | 160 this->addFilter("drop shadow", SkDropShadowImageFilter::Create( |
161 SK_Scalar1, SK_Scalar1, SK_Scalar1, SK_Scalar1, SK_ColorGREEN, | 161 SK_Scalar1, SK_Scalar1, SK_Scalar1, SK_Scalar1, SK_ColorGREEN, |
162 SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode,
input, cropRect)); | 162 SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode,
input, cropRect)); |
163 this->addFilter("diffuse lighting", SkLightingImageFilter::CreatePointLi
tDiffuse( | 163 this->addFilter("diffuse lighting", SkLightingImageFilter::CreatePointLi
tDiffuse( |
164 location, SK_ColorGREEN, 0, 0, input, cropRect)); | 164 location, SK_ColorGREEN, 0, 0, input, cropRect)); |
165 this->addFilter("specular lighting", | 165 this->addFilter("specular lighting", |
166 SkLightingImageFilter::CreatePointLitSpecular(location, SK_Col
orGREEN, 0, 0, 0, | 166 SkLightingImageFilter::CreatePointLitSpecular(location, SK_Col
orGREEN, 0, 0, 0, |
167 input, cropRect)
); | 167 input, cropRect)
); |
168 this->addFilter("matrix convolution", | 168 this->addFilter("matrix convolution", |
169 SkMatrixConvolutionImageFilter::Create( | 169 SkMatrixConvolutionImageFilter::Create( |
170 kernelSize, kernel, gain, bias, SkIPoint::Make(1, 1), | 170 kernelSize, kernel, gain, bias, SkIPoint::Make(1, 1), |
171 SkMatrixConvolutionImageFilter::kRepeat_TileMode, false, i
nput, cropRect)); | 171 SkMatrixConvolutionImageFilter::kRepeat_TileMode, false, i
nput, cropRect)); |
172 this->addFilter("merge", SkMergeImageFilter::Create(input, input, SkXfer
mode::kSrcOver_Mode, | 172 this->addFilter("merge", SkMergeImageFilter::Create(input, input, SkXfer
mode::kSrcOver_Mode, |
173 cropRect)); | 173 cropRect)); |
174 this->addFilter("merge with disjoint inputs", SkMergeImageFilter::Create
( | 174 this->addFilter("merge with disjoint inputs", SkMergeImageFilter::Create
( |
175 paintFilterLeft.get(), paintFilterRight.get(), | 175 paintFilterLeft, paintFilterRight, SkXfermode::kSrcOver_Mode,
cropRect)); |
176 SkXfermode::kSrcOver_Mode, cropRect)); | |
177 this->addFilter("offset", | 176 this->addFilter("offset", |
178 SkOffsetImageFilter::Create(SK_Scalar1, SK_Scalar1, inpu
t, cropRect)); | 177 SkOffsetImageFilter::Create(SK_Scalar1, SK_Scalar1, inpu
t, cropRect)); |
179 this->addFilter("dilate", SkDilateImageFilter::Create(3, 2, input, cropR
ect)); | 178 this->addFilter("dilate", SkDilateImageFilter::Create(3, 2, input, cropR
ect)); |
180 this->addFilter("erode", SkErodeImageFilter::Create(2, 3, input, cropRec
t)); | 179 this->addFilter("erode", SkErodeImageFilter::Create(2, 3, input, cropRec
t)); |
181 this->addFilter("tile", SkTileImageFilter::Create( | 180 this->addFilter("tile", SkTileImageFilter::Create( |
182 SkRect::MakeXYWH(0, 0, 50, 50), | 181 SkRect::MakeXYWH(0, 0, 50, 50), |
183 cropRect ? cropRect->rect() : SkRect::MakeXYWH(0, 0, 100, 100), | 182 cropRect ? cropRect->rect() : SkRect::MakeXYWH(0, 0, 100, 100), |
184 input)); | 183 input)); |
185 if (!cropRect) { | 184 if (!cropRect) { |
186 this->addFilter("matrix", SkImageFilter::CreateMatrixFilter( | 185 this->addFilter("matrix", SkImageFilter::CreateMatrixFilter( |
(...skipping 1399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1586 | 1585 |
1587 test_xfermode_cropped_input(&canvas, reporter); | 1586 test_xfermode_cropped_input(&canvas, reporter); |
1588 } | 1587 } |
1589 | 1588 |
1590 DEF_GPUTEST_FOR_ALL_CONTEXTS(BlurLargeImage_Gpu, reporter, context) { | 1589 DEF_GPUTEST_FOR_ALL_CONTEXTS(BlurLargeImage_Gpu, reporter, context) { |
1591 auto surface(SkSurface::MakeRenderTarget(context, SkBudgeted::kYes, | 1590 auto surface(SkSurface::MakeRenderTarget(context, SkBudgeted::kYes, |
1592 SkImageInfo::MakeN32Premul(100, 100
))); | 1591 SkImageInfo::MakeN32Premul(100, 100
))); |
1593 test_large_blur_input(reporter, surface->getCanvas()); | 1592 test_large_blur_input(reporter, surface->getCanvas()); |
1594 } | 1593 } |
1595 #endif | 1594 #endif |
OLD | NEW |