| 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 "SkArithmeticMode.h" | 8 #include "SkArithmeticMode.h" |
| 9 #include "SkColorPriv.h" | 9 #include "SkColorPriv.h" |
| 10 #include "SkNx.h" | 10 #include "SkNx.h" |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 fK[3] = k4; | 26 fK[3] = k4; |
| 27 fEnforcePMColor = enforcePMColor; | 27 fEnforcePMColor = enforcePMColor; |
| 28 } | 28 } |
| 29 | 29 |
| 30 void xfer32(SkPMColor[], const SkPMColor[], int count, const SkAlpha[]) cons
t override; | 30 void xfer32(SkPMColor[], const SkPMColor[], int count, const SkAlpha[]) cons
t override; |
| 31 | 31 |
| 32 SK_TO_STRING_OVERRIDE() | 32 SK_TO_STRING_OVERRIDE() |
| 33 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkArithmeticMode_scalar) | 33 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkArithmeticMode_scalar) |
| 34 | 34 |
| 35 #if SK_SUPPORT_GPU | 35 #if SK_SUPPORT_GPU |
| 36 const GrFragmentProcessor* getFragmentProcessorForImageFilter( | 36 sk_sp<GrFragmentProcessor> makeFragmentProcessorForImageFilter( |
| 37 const GrFragmentProcessor* dst)
const override; | 37 sk_sp<GrFragmentProcessor> dst)
const override; |
| 38 GrXPFactory* asXPFactory() const override; | 38 sk_sp<GrXPFactory> asXPFactory() const override; |
| 39 #endif | 39 #endif |
| 40 | 40 |
| 41 private: | 41 private: |
| 42 void flatten(SkWriteBuffer& buffer) const override { | 42 void flatten(SkWriteBuffer& buffer) const override { |
| 43 buffer.writeScalar(fK[0]); | 43 buffer.writeScalar(fK[0]); |
| 44 buffer.writeScalar(fK[1]); | 44 buffer.writeScalar(fK[1]); |
| 45 buffer.writeScalar(fK[2]); | 45 buffer.writeScalar(fK[2]); |
| 46 buffer.writeScalar(fK[3]); | 46 buffer.writeScalar(fK[3]); |
| 47 buffer.writeBool(fEnforcePMColor); | 47 buffer.writeBool(fEnforcePMColor); |
| 48 } | 48 } |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 120 SkScalarNearlyEqual(k3, SK_Scalar1) && SkScalarNearlyZero(k4)) { | 120 SkScalarNearlyEqual(k3, SK_Scalar1) && SkScalarNearlyZero(k4)) { |
| 121 return SkXfermode::Make(SkXfermode::kDst_Mode); | 121 return SkXfermode::Make(SkXfermode::kDst_Mode); |
| 122 } | 122 } |
| 123 return sk_make_sp<SkArithmeticMode_scalar>(k1, k2, k3, k4, enforcePMColor); | 123 return sk_make_sp<SkArithmeticMode_scalar>(k1, k2, k3, k4, enforcePMColor); |
| 124 } | 124 } |
| 125 | 125 |
| 126 | 126 |
| 127 ////////////////////////////////////////////////////////////////////////////// | 127 ////////////////////////////////////////////////////////////////////////////// |
| 128 | 128 |
| 129 #if SK_SUPPORT_GPU | 129 #if SK_SUPPORT_GPU |
| 130 const GrFragmentProcessor* SkArithmeticMode_scalar::getFragmentProcessorForImage
Filter( | 130 sk_sp<GrFragmentProcessor> SkArithmeticMode_scalar::makeFragmentProcessorForImag
eFilter( |
| 131 const GrFragmentProc
essor* dst) const { | 131 sk_sp<GrFragmentProc
essor> dst) const { |
| 132 return GrArithmeticFP::Create(SkScalarToFloat(fK[0]), | 132 return GrArithmeticFP::Make(SkScalarToFloat(fK[0]), |
| 133 SkScalarToFloat(fK[1]), | 133 SkScalarToFloat(fK[1]), |
| 134 SkScalarToFloat(fK[2]), | 134 SkScalarToFloat(fK[2]), |
| 135 SkScalarToFloat(fK[3]), | 135 SkScalarToFloat(fK[3]), |
| 136 fEnforcePMColor, | 136 fEnforcePMColor, |
| 137 dst); | 137 std::move(dst)); |
| 138 } | 138 } |
| 139 | 139 |
| 140 GrXPFactory* SkArithmeticMode_scalar::asXPFactory() const { | 140 sk_sp<GrXPFactory> SkArithmeticMode_scalar::asXPFactory() const { |
| 141 return GrArithmeticXPFactory::Create(SkScalarToFloat(fK[0]), | 141 return GrArithmeticXPFactory::Make(SkScalarToFloat(fK[0]), |
| 142 SkScalarToFloat(fK[1]), | 142 SkScalarToFloat(fK[1]), |
| 143 SkScalarToFloat(fK[2]), | 143 SkScalarToFloat(fK[2]), |
| 144 SkScalarToFloat(fK[3]), | 144 SkScalarToFloat(fK[3]), |
| 145 fEnforcePMColor); | 145 fEnforcePMColor); |
| 146 } | 146 } |
| 147 | 147 |
| 148 #endif | 148 #endif |
| 149 | 149 |
| 150 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkArithmeticMode) | 150 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkArithmeticMode) |
| 151 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkArithmeticMode_scalar) | 151 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkArithmeticMode_scalar) |
| 152 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END | 152 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END |
| OLD | NEW |