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 756 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
767 canvas.drawSprite(bitmap, 0, 0, &paint); | 767 canvas.drawSprite(bitmap, 0, 0, &paint); |
768 } | 768 } |
769 | 769 |
770 DEF_TEST(HugeBlurImageFilter, reporter) { | 770 DEF_TEST(HugeBlurImageFilter, reporter) { |
771 SkBitmap temp; | 771 SkBitmap temp; |
772 temp.allocN32Pixels(100, 100); | 772 temp.allocN32Pixels(100, 100); |
773 SkBitmapDevice device(temp); | 773 SkBitmapDevice device(temp); |
774 test_huge_blur(&device, reporter); | 774 test_huge_blur(&device, reporter); |
775 } | 775 } |
776 | 776 |
| 777 DEF_TEST(MatrixConvolutionSanityTest, reporter) { |
| 778 SkScalar kernel[1] = { 0 }; |
| 779 SkScalar gain = SK_Scalar1, bias = 0; |
| 780 SkIPoint kernelOffset = SkIPoint::Make(1, 1); |
| 781 |
| 782 // Check that an enormous (non-allocatable) kernel gives a NULL filter. |
| 783 SkAutoTUnref<SkImageFilter> conv(SkMatrixConvolutionImageFilter::Create( |
| 784 SkISize::Make(1<<30, 1<<30), |
| 785 kernel, |
| 786 gain, |
| 787 bias, |
| 788 kernelOffset, |
| 789 SkMatrixConvolutionImageFilter::kRepeat_TileMode, |
| 790 false)); |
| 791 |
| 792 REPORTER_ASSERT(reporter, NULL == conv.get()); |
| 793 |
| 794 // Check that a NULL kernel gives a NULL filter. |
| 795 conv.reset(SkMatrixConvolutionImageFilter::Create( |
| 796 SkISize::Make(1, 1), |
| 797 NULL, |
| 798 gain, |
| 799 bias, |
| 800 kernelOffset, |
| 801 SkMatrixConvolutionImageFilter::kRepeat_TileMode, |
| 802 false)); |
| 803 |
| 804 REPORTER_ASSERT(reporter, NULL == conv.get()); |
| 805 |
| 806 // Check that a kernel width < 1 gives a NULL filter. |
| 807 conv.reset(SkMatrixConvolutionImageFilter::Create( |
| 808 SkISize::Make(0, 1), |
| 809 kernel, |
| 810 gain, |
| 811 bias, |
| 812 kernelOffset, |
| 813 SkMatrixConvolutionImageFilter::kRepeat_TileMode, |
| 814 false)); |
| 815 |
| 816 REPORTER_ASSERT(reporter, NULL == conv.get()); |
| 817 |
| 818 // Check that kernel height < 1 gives a NULL filter. |
| 819 conv.reset(SkMatrixConvolutionImageFilter::Create( |
| 820 SkISize::Make(1, -1), |
| 821 kernel, |
| 822 gain, |
| 823 bias, |
| 824 kernelOffset, |
| 825 SkMatrixConvolutionImageFilter::kRepeat_TileMode, |
| 826 false)); |
| 827 |
| 828 REPORTER_ASSERT(reporter, NULL == conv.get()); |
| 829 } |
| 830 |
777 static void test_xfermode_cropped_input(SkBaseDevice* device, skiatest::Reporter
* reporter) { | 831 static void test_xfermode_cropped_input(SkBaseDevice* device, skiatest::Reporter
* reporter) { |
778 SkCanvas canvas(device); | 832 SkCanvas canvas(device); |
779 canvas.clear(0); | 833 canvas.clear(0); |
780 | 834 |
781 SkBitmap bitmap; | 835 SkBitmap bitmap; |
782 bitmap.allocN32Pixels(1, 1); | 836 bitmap.allocN32Pixels(1, 1); |
783 bitmap.eraseARGB(255, 255, 255, 255); | 837 bitmap.eraseARGB(255, 255, 255, 255); |
784 | 838 |
785 SkAutoTUnref<SkColorFilter> green( | 839 SkAutoTUnref<SkColorFilter> green( |
786 SkColorFilter::CreateModeFilter(SK_ColorGREEN, SkXfermode::kSrcIn_Mode))
; | 840 SkColorFilter::CreateModeFilter(SK_ColorGREEN, SkXfermode::kSrcIn_Mode))
; |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
896 } | 950 } |
897 | 951 |
898 DEF_GPUTEST(XfermodeImageFilterCroppedInputGPU, reporter, factory) { | 952 DEF_GPUTEST(XfermodeImageFilterCroppedInputGPU, reporter, factory) { |
899 GrContext* context = factory->get(static_cast<GrContextFactory::GLContextTyp
e>(0)); | 953 GrContext* context = factory->get(static_cast<GrContextFactory::GLContextTyp
e>(0)); |
900 SkAutoTUnref<SkGpuDevice> device(SkGpuDevice::Create(context, | 954 SkAutoTUnref<SkGpuDevice> device(SkGpuDevice::Create(context, |
901 SkImageInfo::MakeN32Pre
mul(1, 1), | 955 SkImageInfo::MakeN32Pre
mul(1, 1), |
902 0)); | 956 0)); |
903 test_xfermode_cropped_input(device, reporter); | 957 test_xfermode_cropped_input(device, reporter); |
904 } | 958 } |
905 #endif | 959 #endif |
OLD | NEW |