Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2013 Google Inc. | 3 * Copyright 2013 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 #include "Test.h" | 9 #include "Test.h" |
| 10 #include "SkBicubicImageFilter.h" | 10 #include "SkBicubicImageFilter.h" |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 122 result.allocPixels(); | 122 result.allocPixels(); |
| 123 | 123 |
| 124 { | 124 { |
| 125 // This tests for : | 125 // This tests for : |
| 126 // 1 ) location at (0,0,1) | 126 // 1 ) location at (0,0,1) |
| 127 SkPoint3 location(0, 0, SK_Scalar1); | 127 SkPoint3 location(0, 0, SK_Scalar1); |
| 128 // 2 ) location and target at same value | 128 // 2 ) location and target at same value |
| 129 SkPoint3 target(location.fX, location.fY, location.fZ); | 129 SkPoint3 target(location.fX, location.fY, location.fZ); |
| 130 // 3 ) large negative specular exponent value | 130 // 3 ) large negative specular exponent value |
| 131 SkScalar specularExponent = SkFloatToScalar(-1000); | 131 SkScalar specularExponent = SkFloatToScalar(-1000); |
| 132 | 132 |
|
robertphillips
2013/11/14 14:21:41
This addresses two problems like:
120 (112 direct
| |
| 133 SkAutoTUnref<SkImageFilter> bmSrc(new SkBitmapSource(bitmap)); | |
| 133 SkPaint paint; | 134 SkPaint paint; |
| 134 paint.setImageFilter(SkLightingImageFilter::CreateSpotLitSpecula r( | 135 paint.setImageFilter(SkLightingImageFilter::CreateSpotLitSpecula r( |
| 135 location, target, specularExponent, SkFloatToScalar(180) , | 136 location, target, specularExponent, SkFloatToScalar(180) , |
| 136 0xFFFFFFFF, SK_Scalar1, SK_Scalar1, SK_Scalar1, | 137 0xFFFFFFFF, SK_Scalar1, SK_Scalar1, SK_Scalar1, |
| 137 new SkBitmapSource(bitmap)))->unref(); | 138 bmSrc))->unref(); |
| 138 SkCanvas canvas(result); | 139 SkCanvas canvas(result); |
| 139 SkRect r = SkRect::MakeWH(SkIntToScalar(kBitmapSize), | 140 SkRect r = SkRect::MakeWH(SkIntToScalar(kBitmapSize), |
| 140 SkIntToScalar(kBitmapSize)); | 141 SkIntToScalar(kBitmapSize)); |
| 141 canvas.drawRect(r, paint); | 142 canvas.drawRect(r, paint); |
| 142 } | 143 } |
| 143 | 144 |
| 144 { | 145 { |
| 145 // This tests for scale bringing width to 0 | 146 // This tests for scale bringing width to 0 |
| 146 SkSize scale = SkSize::Make(SkFloatToScalar(-0.001f), SK_Scalar1 ); | 147 SkSize scale = SkSize::Make(SkFloatToScalar(-0.001f), SK_Scalar1 ); |
| 148 SkAutoTUnref<SkImageFilter> bmSrc(new SkBitmapSource(bitmap)); | |
| 147 SkAutoTUnref<SkBicubicImageFilter> bicubic( | 149 SkAutoTUnref<SkBicubicImageFilter> bicubic( |
| 148 SkBicubicImageFilter::CreateMitchell( | 150 SkBicubicImageFilter::CreateMitchell(scale, bmSrc)); |
| 149 scale, new SkBitmapSource(bitmap))); | |
| 150 SkBitmapDevice device(bitmap); | 151 SkBitmapDevice device(bitmap); |
| 151 SkDeviceImageFilterProxy proxy(&device); | 152 SkDeviceImageFilterProxy proxy(&device); |
| 152 SkIPoint loc = SkIPoint::Make(0, 0); | 153 SkIPoint loc = SkIPoint::Make(0, 0); |
| 153 // An empty input should early return and return false | 154 // An empty input should early return and return false |
| 154 REPORTER_ASSERT(reporter, | 155 REPORTER_ASSERT(reporter, |
| 155 !bicubic->filterImage(&proxy, bitmap, SkMatrix::I(), &result , &loc)); | 156 !bicubic->filterImage(&proxy, bitmap, SkMatrix::I(), &result , &loc)); |
| 156 } | 157 } |
| 157 } | 158 } |
| 158 } | 159 } |
| 159 }; | 160 }; |
| 160 | 161 |
| 161 | 162 |
| 162 #include "TestClassDef.h" | 163 #include "TestClassDef.h" |
| 163 DEFINE_TESTCLASS("ImageFilterTest", ImageFilterTestClass, ImageFilterTest::Test) | 164 DEFINE_TESTCLASS("ImageFilterTest", ImageFilterTestClass, ImageFilterTest::Test) |
| OLD | NEW |