aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-06-10 11:08:53 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-06-10 15:29:24 +0000
commit8d3f4433d888e88ee09d53749936a45c22a14194 (patch)
tree42eff25ef2fe59170ee7e6ae43dc821a9c57e682 /src/effects
parentf449ded72acf90c1d68a9492bc627a16e709591d (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.cpp1
-rw-r--r--src/effects/SkArithmeticMode.cpp74
-rw-r--r--src/effects/SkArithmeticModePriv.h35
-rw-r--r--src/effects/SkLayerDrawLooper.cpp1
-rw-r--r--src/effects/SkXfermodeImageFilter.cpp1
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"