Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright 2006 The Android Open Source Project | 2 * Copyright 2006 The Android Open Source Project |
| 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 "SkXfermode.h" | 8 #include "SkXfermode.h" |
| 9 #include "SkXfermode_proccoeff.h" | 9 #include "SkXfermode_proccoeff.h" |
| 10 #include "SkColorPriv.h" | 10 #include "SkColorPriv.h" |
| (...skipping 931 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 942 for (int i = 0; i < 4; ++i) { | 942 for (int i = 0; i < 4; ++i) { |
| 943 SkASSERT(r.fVec[i] >= min && r.fVec[i] <= max); | 943 SkASSERT(r.fVec[i] >= min && r.fVec[i] <= max); |
| 944 } | 944 } |
| 945 #endif | 945 #endif |
| 946 } | 946 } |
| 947 | 947 |
| 948 template <Sk4f (blend)(const Sk4f&, const Sk4f&)> SkPM4f proc_4f(const SkPM4f& s , const SkPM4f& d) { | 948 template <Sk4f (blend)(const Sk4f&, const Sk4f&)> SkPM4f proc_4f(const SkPM4f& s , const SkPM4f& d) { |
| 949 assert_unit(s); | 949 assert_unit(s); |
| 950 assert_unit(d); | 950 assert_unit(d); |
| 951 SkPM4f r = as_pm4f(blend(as_4f(s), as_4f(d))); | 951 SkPM4f r = as_pm4f(blend(as_4f(s), as_4f(d))); |
| 952 assert_unit(r); | 952 // Turn this assert off for now because srgb conversions may end up in rgb > a |
| 953 // assert_unit(r); | |
|
mtklein_C
2016/11/02 18:48:19
I'm hoping to obsolete this code over time so I do
| |
| 953 return r; | 954 return r; |
| 954 } | 955 } |
| 955 | 956 |
| 956 const ProcCoeff gProcCoeffs[] = { | 957 const ProcCoeff gProcCoeffs[] = { |
| 957 { clear_modeproc, proc_4f<clear_4f>, SkXfermode::kZero_Coeff, SkXfermode::kZero_Coeff }, | 958 { clear_modeproc, proc_4f<clear_4f>, SkXfermode::kZero_Coeff, SkXfermode::kZero_Coeff }, |
| 958 { src_modeproc, proc_4f<src_4f>, SkXfermode::kOne_Coeff, SkXfermode::kZero_Coeff }, | 959 { src_modeproc, proc_4f<src_4f>, SkXfermode::kOne_Coeff, SkXfermode::kZero_Coeff }, |
| 959 { dst_modeproc, proc_4f<dst_4f>, SkXfermode::kZero_Coeff, SkXfermode::kOne_Coeff }, | 960 { dst_modeproc, proc_4f<dst_4f>, SkXfermode::kZero_Coeff, SkXfermode::kOne_Coeff }, |
| 960 { srcover_modeproc, proc_4f<srcover_4f>, SkXfermode::kOne_Coeff, SkXfermode::kISA_Coeff }, | 961 { srcover_modeproc, proc_4f<srcover_4f>, SkXfermode::kOne_Coeff, SkXfermode::kISA_Coeff }, |
| 961 { dstover_modeproc, proc_4f<dstover_4f>, SkXfermode::kIDA_Coeff, SkXfermode::kOne_Coeff }, | 962 { dstover_modeproc, proc_4f<dstover_4f>, SkXfermode::kIDA_Coeff, SkXfermode::kOne_Coeff }, |
| 962 { srcin_modeproc, proc_4f<srcin_4f>, SkXfermode::kDA_Coeff, SkXfermode::kZero_Coeff }, | 963 { srcin_modeproc, proc_4f<srcin_4f>, SkXfermode::kDA_Coeff, SkXfermode::kZero_Coeff }, |
| (...skipping 559 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1522 case SkBlendMode::kHue: | 1523 case SkBlendMode::kHue: |
| 1523 case SkBlendMode::kSaturation: | 1524 case SkBlendMode::kSaturation: |
| 1524 case SkBlendMode::kColor: | 1525 case SkBlendMode::kColor: |
| 1525 case SkBlendMode::kLuminosity: return false; // TODO | 1526 case SkBlendMode::kLuminosity: return false; // TODO |
| 1526 } | 1527 } |
| 1527 if (p) { | 1528 if (p) { |
| 1528 p->append(stage); | 1529 p->append(stage); |
| 1529 } | 1530 } |
| 1530 return true; | 1531 return true; |
| 1531 } | 1532 } |
| OLD | NEW |