OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2006 The Android Open Source Project | 3 * Copyright 2006 The Android Open Source Project |
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 | 9 |
10 #include "SkXfermode.h" | 10 #include "SkXfermode.h" |
(...skipping 1220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1231 int mode = rand->nextRangeU(SkXfermode::kLastCoeffMode + 1, SkXfermode::kLas
tSeparableMode); | 1231 int mode = rand->nextRangeU(SkXfermode::kLastCoeffMode + 1, SkXfermode::kLas
tSeparableMode); |
1232 | 1232 |
1233 return SkNEW_ARGS(XferEffect, (static_cast<SkXfermode::Mode>(mode), NULL)); | 1233 return SkNEW_ARGS(XferEffect, (static_cast<SkXfermode::Mode>(mode), NULL)); |
1234 } | 1234 } |
1235 | 1235 |
1236 #endif | 1236 #endif |
1237 | 1237 |
1238 /////////////////////////////////////////////////////////////////////////////// | 1238 /////////////////////////////////////////////////////////////////////////////// |
1239 /////////////////////////////////////////////////////////////////////////////// | 1239 /////////////////////////////////////////////////////////////////////////////// |
1240 | 1240 |
| 1241 #ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING |
1241 SkProcCoeffXfermode::SkProcCoeffXfermode(SkReadBuffer& buffer) : INHERITED(buffe
r) { | 1242 SkProcCoeffXfermode::SkProcCoeffXfermode(SkReadBuffer& buffer) : INHERITED(buffe
r) { |
1242 uint32_t mode32 = buffer.read32() % SK_ARRAY_COUNT(gProcCoeffs); | 1243 uint32_t mode32 = buffer.read32() % SK_ARRAY_COUNT(gProcCoeffs); |
1243 if (mode32 >= SK_ARRAY_COUNT(gProcCoeffs)) { | 1244 if (mode32 >= SK_ARRAY_COUNT(gProcCoeffs)) { |
1244 // out of range, just set to something harmless | 1245 // out of range, just set to something harmless |
1245 mode32 = SkXfermode::kSrcOut_Mode; | 1246 mode32 = SkXfermode::kSrcOut_Mode; |
1246 } | 1247 } |
1247 fMode = (SkXfermode::Mode)mode32; | 1248 fMode = (SkXfermode::Mode)mode32; |
1248 | 1249 |
1249 const ProcCoeff& rec = gProcCoeffs[fMode]; | 1250 const ProcCoeff& rec = gProcCoeffs[fMode]; |
1250 fProc = rec.fProc; | 1251 fProc = rec.fProc; |
1251 // these may be valid, or may be CANNOT_USE_COEFF | 1252 // these may be valid, or may be CANNOT_USE_COEFF |
1252 fSrcCoeff = rec.fSC; | 1253 fSrcCoeff = rec.fSC; |
1253 fDstCoeff = rec.fDC; | 1254 fDstCoeff = rec.fDC; |
1254 } | 1255 } |
| 1256 #endif |
1255 | 1257 |
1256 bool SkProcCoeffXfermode::asMode(Mode* mode) const { | 1258 bool SkProcCoeffXfermode::asMode(Mode* mode) const { |
1257 if (mode) { | 1259 if (mode) { |
1258 *mode = fMode; | 1260 *mode = fMode; |
1259 } | 1261 } |
1260 return true; | 1262 return true; |
1261 } | 1263 } |
1262 | 1264 |
1263 bool SkProcCoeffXfermode::asCoeff(Coeff* sc, Coeff* dc) const { | 1265 bool SkProcCoeffXfermode::asCoeff(Coeff* sc, Coeff* dc) const { |
1264 if (CANNOT_USE_COEFF == fSrcCoeff) { | 1266 if (CANNOT_USE_COEFF == fSrcCoeff) { |
(...skipping 689 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1954 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSrcXfermode) | 1956 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSrcXfermode) |
1955 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDstInXfermode) | 1957 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDstInXfermode) |
1956 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDstOutXfermode) | 1958 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDstOutXfermode) |
1957 #if !SK_ARM_NEON_IS_NONE | 1959 #if !SK_ARM_NEON_IS_NONE |
1958 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkNEONProcCoeffXfermode) | 1960 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkNEONProcCoeffXfermode) |
1959 #endif | 1961 #endif |
1960 #if defined(SK_CPU_X86) && !defined(SK_BUILD_FOR_IOS) | 1962 #if defined(SK_CPU_X86) && !defined(SK_BUILD_FOR_IOS) |
1961 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSSE2ProcCoeffXfermode) | 1963 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSSE2ProcCoeffXfermode) |
1962 #endif | 1964 #endif |
1963 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END | 1965 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END |
OLD | NEW |