diff options
Diffstat (limited to 'src/effects/SkArithmeticMode.cpp')
-rw-r--r-- | src/effects/SkArithmeticMode.cpp | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/src/effects/SkArithmeticMode.cpp b/src/effects/SkArithmeticMode.cpp deleted file mode 100644 index 0fbce6c530..0000000000 --- a/src/effects/SkArithmeticMode.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2013 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include "SkArithmeticModePriv.h" -#include "SkReadBuffer.h" - -// This class only exists to unflatten instances that were serialized into old pictures as part of -// SkXfermodeImageFilter before the advent of SkBlendMode. Those image filters will now be -// transformed to SkArithmeticImageFilter which does not use this class in its implementation. -class SkArithmeticMode_scalar : public SkXfermode { -public: - SkArithmeticMode_scalar(SkScalar k1, SkScalar k2, SkScalar k3, SkScalar k4, - bool enforcePMColor) { - fK[0] = k1; - fK[1] = k2; - fK[2] = k3; - fK[3] = k4; - fEnforcePMColor = enforcePMColor; - } - - void xfer32(SkPMColor[], const SkPMColor[], int count, const SkAlpha[]) const override { - SkFAIL("This should never be called."); - } - - SK_TO_STRING_OVERRIDE() - SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkArithmeticMode_scalar) - -private: - void flatten(SkWriteBuffer& buffer) const override { SkFAIL("This shouild never be called."); } - - SkScalar fK[4]; - bool fEnforcePMColor; - - friend class SkArithmeticMode; - - typedef SkXfermode INHERITED; -}; - -sk_sp<SkFlattenable> SkArithmeticMode_scalar::CreateProc(SkReadBuffer& buffer) { - const SkScalar k1 = buffer.readScalar(); - const SkScalar k2 = buffer.readScalar(); - const SkScalar k3 = buffer.readScalar(); - const SkScalar k4 = buffer.readScalar(); - const bool enforcePMColor = buffer.readBool(); - return SkArithmeticMode::Make(k1, k2, k3, k4, enforcePMColor); -} - -#ifndef SK_IGNORE_TO_STRING -void SkArithmeticMode_scalar::toString(SkString* str) const { - SkFAIL("This should never be called."); -} -#endif - -/////////////////////////////////////////////////////////////////////////////// - -sk_sp<SkXfermode> SkArithmeticMode::Make(SkScalar k1, SkScalar k2, SkScalar k3, SkScalar k4, - bool enforcePMColor) { - if (SkScalarNearlyZero(k1) && SkScalarNearlyEqual(k2, SK_Scalar1) && - SkScalarNearlyZero(k3) && SkScalarNearlyZero(k4)) { - return SkXfermode::Make(SkBlendMode::kSrc); - } else if (SkScalarNearlyZero(k1) && SkScalarNearlyZero(k2) && - SkScalarNearlyEqual(k3, SK_Scalar1) && SkScalarNearlyZero(k4)) { - return SkXfermode::Make(SkBlendMode::kDst); - } - return sk_make_sp<SkArithmeticMode_scalar>(k1, k2, k3, k4, enforcePMColor); -} - -SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkArithmeticMode) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkArithmeticMode_scalar) -SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END |