| 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 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 218 this->addFilter("offset", | 218 this->addFilter("offset", |
| 219 SkOffsetImageFilter::Make(SK_Scalar1, SK_Scalar1, input, | 219 SkOffsetImageFilter::Make(SK_Scalar1, SK_Scalar1, input, |
| 220 cropRect).release()); | 220 cropRect).release()); |
| 221 this->addFilter("dilate", SkDilateImageFilter::Make(3, 2, input, cropRec
t).release()); | 221 this->addFilter("dilate", SkDilateImageFilter::Make(3, 2, input, cropRec
t).release()); |
| 222 this->addFilter("erode", SkErodeImageFilter::Make(2, 3, input, cropRect)
.release()); | 222 this->addFilter("erode", SkErodeImageFilter::Make(2, 3, input, cropRect)
.release()); |
| 223 this->addFilter("tile", SkTileImageFilter::Create( | 223 this->addFilter("tile", SkTileImageFilter::Create( |
| 224 SkRect::MakeXYWH(0, 0, 50, 50), | 224 SkRect::MakeXYWH(0, 0, 50, 50), |
| 225 cropRect ? cropRect->rect() : SkRect::MakeXYWH(0, 0, 100, 100), | 225 cropRect ? cropRect->rect() : SkRect::MakeXYWH(0, 0, 100, 100), |
| 226 input.get())); | 226 input.get())); |
| 227 if (!cropRect) { | 227 if (!cropRect) { |
| 228 this->addFilter("matrix", SkImageFilter::CreateMatrixFilter( | 228 this->addFilter("matrix", |
| 229 matrix, kLow_SkFilterQuality, input.get())); | 229 SkImageFilter::MakeMatrixFilter(matrix, kLow_SkFilterQuality, in
put).release()); |
| 230 } | 230 } |
| 231 | 231 |
| 232 { | 232 { |
| 233 sk_sp<SkImageFilter> blur(SkBlurImageFilter::Make(five, five, input)
); | 233 sk_sp<SkImageFilter> blur(SkBlurImageFilter::Make(five, five, input)
); |
| 234 | 234 |
| 235 this->addFilter("blur and offset", SkOffsetImageFilter::Make(five, f
ive, | 235 this->addFilter("blur and offset", SkOffsetImageFilter::Make(five, f
ive, |
| 236 std::mo
ve(blur), | 236 std::mo
ve(blur), |
| 237 cropRec
t).release()); | 237 cropRec
t).release()); |
| 238 } | 238 } |
| 239 { | 239 { |
| (...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 794 } | 794 } |
| 795 | 795 |
| 796 static void draw_saveLayer_picture(int width, int height, int tileSize, | 796 static void draw_saveLayer_picture(int width, int height, int tileSize, |
| 797 SkBBHFactory* factory, SkBitmap* result) { | 797 SkBBHFactory* factory, SkBitmap* result) { |
| 798 | 798 |
| 799 SkMatrix matrix; | 799 SkMatrix matrix; |
| 800 matrix.setTranslate(SkIntToScalar(50), 0); | 800 matrix.setTranslate(SkIntToScalar(50), 0); |
| 801 | 801 |
| 802 sk_sp<SkColorFilter> cf(SkColorFilter::MakeModeFilter(SK_ColorWHITE, SkXferm
ode::kSrc_Mode)); | 802 sk_sp<SkColorFilter> cf(SkColorFilter::MakeModeFilter(SK_ColorWHITE, SkXferm
ode::kSrc_Mode)); |
| 803 sk_sp<SkImageFilter> cfif(SkColorFilterImageFilter::Make(std::move(cf), null
ptr)); | 803 sk_sp<SkImageFilter> cfif(SkColorFilterImageFilter::Make(std::move(cf), null
ptr)); |
| 804 sk_sp<SkImageFilter> imageFilter(SkImageFilter::CreateMatrixFilter(matrix, | 804 sk_sp<SkImageFilter> imageFilter(SkImageFilter::MakeMatrixFilter(matrix, |
| 805 kNone_SkF
ilterQuality, | 805 kNone_SkFil
terQuality, |
| 806 cfif.get(
))); | 806 std::move(c
fif))); |
| 807 | 807 |
| 808 SkPaint paint; | 808 SkPaint paint; |
| 809 paint.setImageFilter(std::move(imageFilter)); | 809 paint.setImageFilter(std::move(imageFilter)); |
| 810 SkPictureRecorder recorder; | 810 SkPictureRecorder recorder; |
| 811 SkRect bounds = SkRect::Make(SkIRect::MakeXYWH(0, 0, 50, 50)); | 811 SkRect bounds = SkRect::Make(SkIRect::MakeXYWH(0, 0, 50, 50)); |
| 812 SkCanvas* recordingCanvas = recorder.beginRecording(SkIntToScalar(width), | 812 SkCanvas* recordingCanvas = recorder.beginRecording(SkIntToScalar(width), |
| 813 SkIntToScalar(height), | 813 SkIntToScalar(height), |
| 814 factory, 0); | 814 factory, 0); |
| 815 recordingCanvas->translate(-55, 0); | 815 recordingCanvas->translate(-55, 0); |
| 816 recordingCanvas->saveLayer(&bounds, &paint); | 816 recordingCanvas->saveLayer(&bounds, &paint); |
| (...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1390 SkCanvas canvas(temp); | 1390 SkCanvas canvas(temp); |
| 1391 canvas.clear(0x0); | 1391 canvas.clear(0x0); |
| 1392 | 1392 |
| 1393 SkBitmap bitmap; | 1393 SkBitmap bitmap; |
| 1394 bitmap.allocN32Pixels(10, 10); | 1394 bitmap.allocN32Pixels(10, 10); |
| 1395 bitmap.eraseColor(SK_ColorGREEN); | 1395 bitmap.eraseColor(SK_ColorGREEN); |
| 1396 | 1396 |
| 1397 SkMatrix matrix; | 1397 SkMatrix matrix; |
| 1398 matrix.setScale(SkIntToScalar(2), SkIntToScalar(2)); | 1398 matrix.setScale(SkIntToScalar(2), SkIntToScalar(2)); |
| 1399 matrix.postTranslate(SkIntToScalar(-20), SkIntToScalar(-20)); | 1399 matrix.postTranslate(SkIntToScalar(-20), SkIntToScalar(-20)); |
| 1400 SkAutoTUnref<SkImageFilter> matrixFilter( | 1400 sk_sp<SkImageFilter> matrixFilter( |
| 1401 SkImageFilter::CreateMatrixFilter(matrix, kLow_SkFilterQuality)); | 1401 SkImageFilter::MakeMatrixFilter(matrix, kLow_SkFilterQuality, nullptr)); |
| 1402 | 1402 |
| 1403 // Test that saveLayer() with a filter nested inside another saveLayer() app
lies the | 1403 // Test that saveLayer() with a filter nested inside another saveLayer() app
lies the |
| 1404 // correct offset to the filter matrix. | 1404 // correct offset to the filter matrix. |
| 1405 SkRect bounds1 = SkRect::MakeXYWH(10, 10, 30, 30); | 1405 SkRect bounds1 = SkRect::MakeXYWH(10, 10, 30, 30); |
| 1406 canvas.saveLayer(&bounds1, nullptr); | 1406 canvas.saveLayer(&bounds1, nullptr); |
| 1407 SkPaint filterPaint; | 1407 SkPaint filterPaint; |
| 1408 filterPaint.setImageFilter(matrixFilter); | 1408 filterPaint.setImageFilter(std::move(matrixFilter)); |
| 1409 SkRect bounds2 = SkRect::MakeXYWH(20, 20, 10, 10); | 1409 SkRect bounds2 = SkRect::MakeXYWH(20, 20, 10, 10); |
| 1410 canvas.saveLayer(&bounds2, &filterPaint); | 1410 canvas.saveLayer(&bounds2, &filterPaint); |
| 1411 SkPaint greenPaint; | 1411 SkPaint greenPaint; |
| 1412 greenPaint.setColor(SK_ColorGREEN); | 1412 greenPaint.setColor(SK_ColorGREEN); |
| 1413 canvas.drawRect(bounds2, greenPaint); | 1413 canvas.drawRect(bounds2, greenPaint); |
| 1414 canvas.restore(); | 1414 canvas.restore(); |
| 1415 canvas.restore(); | 1415 canvas.restore(); |
| 1416 SkPaint strokePaint; | 1416 SkPaint strokePaint; |
| 1417 strokePaint.setStyle(SkPaint::kStroke_Style); | 1417 strokePaint.setStyle(SkPaint::kStroke_Style); |
| 1418 strokePaint.setColor(SK_ColorRED); | 1418 strokePaint.setColor(SK_ColorRED); |
| (...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1704 | 1704 |
| 1705 test_xfermode_cropped_input(&canvas, reporter); | 1705 test_xfermode_cropped_input(&canvas, reporter); |
| 1706 } | 1706 } |
| 1707 | 1707 |
| 1708 DEF_GPUTEST_FOR_ALL_CONTEXTS(BlurLargeImage_Gpu, reporter, ctxInfo) { | 1708 DEF_GPUTEST_FOR_ALL_CONTEXTS(BlurLargeImage_Gpu, reporter, ctxInfo) { |
| 1709 auto surface(SkSurface::MakeRenderTarget(ctxInfo.fGrContext, SkBudgeted::kYe
s, | 1709 auto surface(SkSurface::MakeRenderTarget(ctxInfo.fGrContext, SkBudgeted::kYe
s, |
| 1710 SkImageInfo::MakeN32Premul(100, 100
))); | 1710 SkImageInfo::MakeN32Premul(100, 100
))); |
| 1711 test_large_blur_input(reporter, surface->getCanvas()); | 1711 test_large_blur_input(reporter, surface->getCanvas()); |
| 1712 } | 1712 } |
| 1713 #endif | 1713 #endif |
| OLD | NEW |