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 446 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
457 canvas.restore(); | 457 canvas.restore(); |
458 } | 458 } |
459 | 459 |
460 DEF_TEST(ImageFilterCropRect, reporter) { | 460 DEF_TEST(ImageFilterCropRect, reporter) { |
461 SkBitmap temp; | 461 SkBitmap temp; |
462 temp.allocN32Pixels(100, 100); | 462 temp.allocN32Pixels(100, 100); |
463 SkBitmapDevice device(temp); | 463 SkBitmapDevice device(temp); |
464 test_crop_rects(&device, reporter); | 464 test_crop_rects(&device, reporter); |
465 } | 465 } |
466 | 466 |
467 DEF_TEST(ImageFilterMatrixTest, reporter) { | 467 DEF_TEST(ImageFilterMatrix, reporter) { |
468 SkBitmap temp; | 468 SkBitmap temp; |
469 temp.allocN32Pixels(100, 100); | 469 temp.allocN32Pixels(100, 100); |
470 SkBitmapDevice device(temp); | 470 SkBitmapDevice device(temp); |
471 SkCanvas canvas(&device); | 471 SkCanvas canvas(&device); |
472 canvas.scale(SkIntToScalar(2), SkIntToScalar(2)); | 472 canvas.scale(SkIntToScalar(2), SkIntToScalar(2)); |
473 | 473 |
474 SkMatrix expectedMatrix = canvas.getTotalMatrix(); | 474 SkMatrix expectedMatrix = canvas.getTotalMatrix(); |
475 | 475 |
476 SkRTreeFactory factory; | 476 SkRTreeFactory factory; |
477 SkPictureRecorder recorder; | 477 SkPictureRecorder recorder; |
478 SkCanvas* recordingCanvas = recorder.beginRecording(100, 100, &factory, 0); | 478 SkCanvas* recordingCanvas = recorder.beginRecording(100, 100, &factory, 0); |
479 | 479 |
480 SkPaint paint; | 480 SkPaint paint; |
481 SkAutoTUnref<MatrixTestImageFilter> imageFilter( | 481 SkAutoTUnref<MatrixTestImageFilter> imageFilter( |
482 new MatrixTestImageFilter(reporter, expectedMatrix)); | 482 new MatrixTestImageFilter(reporter, expectedMatrix)); |
483 paint.setImageFilter(imageFilter.get()); | 483 paint.setImageFilter(imageFilter.get()); |
484 recordingCanvas->saveLayer(NULL, &paint); | 484 recordingCanvas->saveLayer(NULL, &paint); |
485 SkPaint solidPaint; | 485 SkPaint solidPaint; |
486 solidPaint.setColor(0xFFFFFFFF); | 486 solidPaint.setColor(0xFFFFFFFF); |
487 recordingCanvas->save(); | 487 recordingCanvas->save(); |
488 recordingCanvas->scale(SkIntToScalar(10), SkIntToScalar(10)); | 488 recordingCanvas->scale(SkIntToScalar(10), SkIntToScalar(10)); |
489 recordingCanvas->drawRect(SkRect::Make(SkIRect::MakeWH(100, 100)), solidPain
t); | 489 recordingCanvas->drawRect(SkRect::Make(SkIRect::MakeWH(100, 100)), solidPain
t); |
490 recordingCanvas->restore(); // scale | 490 recordingCanvas->restore(); // scale |
491 recordingCanvas->restore(); // saveLayer | 491 recordingCanvas->restore(); // saveLayer |
492 SkAutoTUnref<SkPicture> picture(recorder.endRecording()); | 492 SkAutoTUnref<SkPicture> picture(recorder.endRecording()); |
493 | 493 |
494 canvas.drawPicture(picture); | 494 canvas.drawPicture(picture); |
495 } | 495 } |
496 | 496 |
497 DEF_TEST(ImageFilterPictureImageFilterTest, reporter) { | 497 DEF_TEST(ImageFilterPictureImageFilter, reporter) { |
498 | |
499 SkRTreeFactory factory; | 498 SkRTreeFactory factory; |
500 SkPictureRecorder recorder; | 499 SkPictureRecorder recorder; |
501 SkCanvas* recordingCanvas = recorder.beginRecording(1, 1, &factory, 0); | 500 SkCanvas* recordingCanvas = recorder.beginRecording(1, 1, &factory, 0); |
502 | 501 |
503 // Create an SkPicture which simply draws a green 1x1 rectangle. | 502 // Create an SkPicture which simply draws a green 1x1 rectangle. |
504 SkPaint greenPaint; | 503 SkPaint greenPaint; |
505 greenPaint.setColor(SK_ColorGREEN); | 504 greenPaint.setColor(SK_ColorGREEN); |
506 recordingCanvas->drawRect(SkRect::Make(SkIRect::MakeWH(1, 1)), greenPaint); | 505 recordingCanvas->drawRect(SkRect::Make(SkIRect::MakeWH(1, 1)), greenPaint); |
507 SkAutoTUnref<SkPicture> picture(recorder.endRecording()); | 506 SkAutoTUnref<SkPicture> picture(recorder.endRecording()); |
508 | 507 |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
547 crossProcessCanvas->drawRect(SkRect::Make(SkIRect::MakeWH(1, 1)), redPaintWi
thFilter); | 546 crossProcessCanvas->drawRect(SkRect::Make(SkIRect::MakeWH(1, 1)), redPaintWi
thFilter); |
548 SkAutoTUnref<SkPicture> crossProcessPicture(crossProcessRecorder.endRecordin
g()); | 547 SkAutoTUnref<SkPicture> crossProcessPicture(crossProcessRecorder.endRecordin
g()); |
549 | 548 |
550 canvas.clear(0x0); | 549 canvas.clear(0x0); |
551 canvas.drawPicture(crossProcessPicture); | 550 canvas.drawPicture(crossProcessPicture); |
552 pixel = *bitmap.getAddr32(0, 0); | 551 pixel = *bitmap.getAddr32(0, 0); |
553 // The result here should not be green, since the filter draws nothing. | 552 // The result here should not be green, since the filter draws nothing. |
554 REPORTER_ASSERT(reporter, pixel != SK_ColorGREEN); | 553 REPORTER_ASSERT(reporter, pixel != SK_ColorGREEN); |
555 } | 554 } |
556 | 555 |
557 DEF_TEST(ImageFilterEmptySaveLayerTest, reporter) { | 556 DEF_TEST(ImageFilterEmptySaveLayer, reporter) { |
558 | |
559 // Even when there's an empty saveLayer()/restore(), ensure that an image | 557 // Even when there's an empty saveLayer()/restore(), ensure that an image |
560 // filter or color filter which affects transparent black still draws. | 558 // filter or color filter which affects transparent black still draws. |
561 | 559 |
562 SkBitmap bitmap; | 560 SkBitmap bitmap; |
563 bitmap.allocN32Pixels(10, 10); | 561 bitmap.allocN32Pixels(10, 10); |
564 SkBitmapDevice device(bitmap); | 562 SkBitmapDevice device(bitmap); |
565 SkCanvas canvas(&device); | 563 SkCanvas canvas(&device); |
566 | 564 |
567 SkRTreeFactory factory; | 565 SkRTreeFactory factory; |
568 SkPictureRecorder recorder; | 566 SkPictureRecorder recorder; |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
753 } | 751 } |
754 | 752 |
755 DEF_GPUTEST(XfermodeImageFilterCroppedInputGPU, reporter, factory) { | 753 DEF_GPUTEST(XfermodeImageFilterCroppedInputGPU, reporter, factory) { |
756 GrContext* context = factory->get(static_cast<GrContextFactory::GLContextTyp
e>(0)); | 754 GrContext* context = factory->get(static_cast<GrContextFactory::GLContextTyp
e>(0)); |
757 SkAutoTUnref<SkGpuDevice> device(SkGpuDevice::Create(context, | 755 SkAutoTUnref<SkGpuDevice> device(SkGpuDevice::Create(context, |
758 SkImageInfo::MakeN32Pre
mul(1, 1), | 756 SkImageInfo::MakeN32Pre
mul(1, 1), |
759 0)); | 757 0)); |
760 test_xfermode_cropped_input(device, reporter); | 758 test_xfermode_cropped_input(device, reporter); |
761 } | 759 } |
762 #endif | 760 #endif |
OLD | NEW |