| OLD | NEW | 
|    1  |    1  | 
|    2 /* |    2 /* | 
|    3  * Copyright 2011 Google Inc. |    3  * Copyright 2011 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 #include "Test.h" |    8 #include "Test.h" | 
|    9 #include "SkColor.h" |    9 #include "SkColor.h" | 
|   10 #include "SkColorPriv.h" |   10 #include "SkColorPriv.h" | 
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  139     } |  139     } | 
|  140 } |  140 } | 
|  141  |  141  | 
|  142 /** |  142 /** | 
|  143   This test fails: SkFourByteInterp does *not* preserve opaque destinations. |  143   This test fails: SkFourByteInterp does *not* preserve opaque destinations. | 
|  144   SkAlpha255To256 implemented as (alpha + 1) is faster than |  144   SkAlpha255To256 implemented as (alpha + 1) is faster than | 
|  145   (alpha + (alpha >> 7)), but inaccurate, and Skia intends to phase it out. |  145   (alpha + (alpha >> 7)), but inaccurate, and Skia intends to phase it out. | 
|  146 */ |  146 */ | 
|  147 /* |  147 /* | 
|  148 static void test_interp(skiatest::Reporter* reporter) { |  148 static void test_interp(skiatest::Reporter* reporter) { | 
|  149     SkMWCRandom r; |  149     SkRandom r; | 
|  150  |  150  | 
|  151     U8CPU a0 = 0; |  151     U8CPU a0 = 0; | 
|  152     U8CPU a255 = 255; |  152     U8CPU a255 = 255; | 
|  153     for (int i = 0; i < 200; i++) { |  153     for (int i = 0; i < 200; i++) { | 
|  154         SkColor colorSrc = r.nextU(); |  154         SkColor colorSrc = r.nextU(); | 
|  155         SkColor colorDst = r.nextU(); |  155         SkColor colorDst = r.nextU(); | 
|  156         SkPMColor src = SkPreMultiplyColor(colorSrc); |  156         SkPMColor src = SkPreMultiplyColor(colorSrc); | 
|  157         SkPMColor dst = SkPreMultiplyColor(colorDst); |  157         SkPMColor dst = SkPreMultiplyColor(colorDst); | 
|  158  |  158  | 
|  159         REPORTER_ASSERT(reporter, SkFourByteInterp(src, dst, a0) == dst); |  159         REPORTER_ASSERT(reporter, SkFourByteInterp(src, dst, a0) == dst); | 
|  160         REPORTER_ASSERT(reporter, SkFourByteInterp(src, dst, a255) == src); |  160         REPORTER_ASSERT(reporter, SkFourByteInterp(src, dst, a255) == src); | 
|  161     } |  161     } | 
|  162 } |  162 } | 
|  163 */ |  163 */ | 
|  164  |  164  | 
|  165 static inline void test_fast_interp(skiatest::Reporter* reporter) { |  165 static inline void test_fast_interp(skiatest::Reporter* reporter) { | 
|  166     SkMWCRandom r; |  166     SkRandom r; | 
|  167  |  167  | 
|  168     U8CPU a0 = 0; |  168     U8CPU a0 = 0; | 
|  169     U8CPU a255 = 255; |  169     U8CPU a255 = 255; | 
|  170     for (int i = 0; i < 200; i++) { |  170     for (int i = 0; i < 200; i++) { | 
|  171         SkColor colorSrc = r.nextU(); |  171         SkColor colorSrc = r.nextU(); | 
|  172         SkColor colorDst = r.nextU(); |  172         SkColor colorDst = r.nextU(); | 
|  173         SkPMColor src = SkPreMultiplyColor(colorSrc); |  173         SkPMColor src = SkPreMultiplyColor(colorSrc); | 
|  174         SkPMColor dst = SkPreMultiplyColor(colorDst); |  174         SkPMColor dst = SkPreMultiplyColor(colorDst); | 
|  175  |  175  | 
|  176         REPORTER_ASSERT(reporter, SkFastFourByteInterp(src, dst, a0) == dst); |  176         REPORTER_ASSERT(reporter, SkFastFourByteInterp(src, dst, a0) == dst); | 
|  177         REPORTER_ASSERT(reporter, SkFastFourByteInterp(src, dst, a255) == src); |  177         REPORTER_ASSERT(reporter, SkFastFourByteInterp(src, dst, a255) == src); | 
|  178     } |  178     } | 
|  179 } |  179 } | 
|  180  |  180  | 
|  181 static void TestColor(skiatest::Reporter* reporter) { |  181 static void TestColor(skiatest::Reporter* reporter) { | 
|  182     test_premul(reporter); |  182     test_premul(reporter); | 
|  183     //test_interp(reporter); |  183     //test_interp(reporter); | 
|  184     test_fast_interp(reporter); |  184     test_fast_interp(reporter); | 
|  185 //    test_565blend(); |  185 //    test_565blend(); | 
|  186 } |  186 } | 
|  187  |  187  | 
|  188 #include "TestClassDef.h" |  188 #include "TestClassDef.h" | 
|  189 DEFINE_TESTCLASS("Color", ColorTestClass, TestColor) |  189 DEFINE_TESTCLASS("Color", ColorTestClass, TestColor) | 
| OLD | NEW |