diff options
author | Mike Reed <reed@google.com> | 2017-06-10 11:08:53 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-06-10 15:29:24 +0000 |
commit | 8d3f4433d888e88ee09d53749936a45c22a14194 (patch) | |
tree | 42eff25ef2fe59170ee7e6ae43dc821a9c57e682 /src/effects | |
parent | f449ded72acf90c1d68a9492bc627a16e709591d (diff) |
SkXfermode no longer needs to e a flattenable
SkArithmeticMode is unreachable, so delete it
Bug: skia:
Change-Id: Ibe4c48fcf756280569c4b302da8d96bd4e21b717
Reviewed-on: https://skia-review.googlesource.com/19394
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/effects')
-rw-r--r-- | src/effects/SkArithmeticImageFilter.cpp | 1 | ||||
-rw-r--r-- | src/effects/SkArithmeticMode.cpp | 74 | ||||
-rw-r--r-- | src/effects/SkArithmeticModePriv.h | 35 | ||||
-rw-r--r-- | src/effects/SkLayerDrawLooper.cpp | 1 | ||||
-rw-r--r-- | src/effects/SkXfermodeImageFilter.cpp | 1 |
5 files changed, 1 insertions, 111 deletions
diff --git a/src/effects/SkArithmeticImageFilter.cpp b/src/effects/SkArithmeticImageFilter.cpp index d9c2b60b1a..eebaa9570b 100644 --- a/src/effects/SkArithmeticImageFilter.cpp +++ b/src/effects/SkArithmeticImageFilter.cpp @@ -6,7 +6,6 @@ */ #include "SkArithmeticImageFilter.h" -#include "SkArithmeticModePriv.h" #include "SkCanvas.h" #include "SkNx.h" #include "SkReadBuffer.h" 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 diff --git a/src/effects/SkArithmeticModePriv.h b/src/effects/SkArithmeticModePriv.h deleted file mode 100644 index 831410ed6c..0000000000 --- a/src/effects/SkArithmeticModePriv.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2016 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifndef SkArithmeticModePriv_DEFINED -#define SkArithmeticModePriv_DEFINED - -#include "SkScalar.h" -#include "SkXfermodePriv.h" - -class SkXfermode; - -// This only exists to unflatten instances that were serialized into old pictures as part of -// SkXfermodeImageFilter before the advent of SkBlendMode. -class SK_API SkArithmeticMode { -public: - /** - * result = clamp[k1 * src * dst + k2 * src + k3 * dst + k4] - * - * k1=k2=k3=0, k4=1.0 results in returning opaque white - * k1=k3=k4=0, k2=1.0 results in returning the src - * k1=k2=k4=0, k3=1.0 results in returning the dst - */ - static sk_sp<SkXfermode> Make(SkScalar k1, SkScalar k2, SkScalar k3, SkScalar k4, - bool enforcePMColor = true); - SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP(); - -private: - SkArithmeticMode(); // can't be instantiated -}; - -#endif diff --git a/src/effects/SkLayerDrawLooper.cpp b/src/effects/SkLayerDrawLooper.cpp index feeea66a35..4fb629376e 100644 --- a/src/effects/SkLayerDrawLooper.cpp +++ b/src/effects/SkLayerDrawLooper.cpp @@ -16,6 +16,7 @@ #include "SkString.h" #include "SkStringUtils.h" #include "SkUnPreMultiply.h" +#include "SkXfermodePriv.h" SkLayerDrawLooper::LayerInfo::LayerInfo() { fPaintBits = 0; // ignore our paint fields diff --git a/src/effects/SkXfermodeImageFilter.cpp b/src/effects/SkXfermodeImageFilter.cpp index ca49f93351..0be8c22fd1 100644 --- a/src/effects/SkXfermodeImageFilter.cpp +++ b/src/effects/SkXfermodeImageFilter.cpp @@ -7,7 +7,6 @@ #include "SkXfermodeImageFilter.h" #include "SkArithmeticImageFilter.h" -#include "SkArithmeticModePriv.h" #include "SkCanvas.h" #include "SkColorPriv.h" #include "SkReadBuffer.h" |