aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2016-01-27 13:08:33 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2016-01-27 13:08:33 -0800
commitbbb6dc80fdfe6ff08cc1abb1a401bd958ced9602 (patch)
tree7df9509f48a0183588f808a163ae652be46d83b6 /src/effects
parent372d65cc6ee743944a9fb58a734b3f1eb253b015 (diff)
kill SkValue
This is clearly not what we're going to do. TBR=reed@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1643753002 Review URL: https://codereview.chromium.org/1643753002
Diffstat (limited to 'src/effects')
-rw-r--r--src/effects/SkArithmeticMode.cpp15
-rw-r--r--src/effects/SkPixelXorXfermode.cpp15
-rw-r--r--src/effects/SkToFromValue.cpp121
-rw-r--r--src/effects/SkToFromValue.h21
4 files changed, 4 insertions, 168 deletions
diff --git a/src/effects/SkArithmeticMode.cpp b/src/effects/SkArithmeticMode.cpp
index 7d22076558..ff062c3966 100644
--- a/src/effects/SkArithmeticMode.cpp
+++ b/src/effects/SkArithmeticMode.cpp
@@ -11,8 +11,6 @@
#include "SkWriteBuffer.h"
#include "SkString.h"
#include "SkUnPreMultiply.h"
-#include "SkValue.h"
-#include "SkValueKeys.h"
#if SK_SUPPORT_GPU
#include "SkArithmeticMode_gpu.h"
#endif
@@ -26,7 +24,7 @@ public:
if (SkScalarNearlyZero(k1) && SkScalarNearlyEqual(k2, SK_Scalar1) &&
SkScalarNearlyZero(k3) && SkScalarNearlyZero(k4)) {
return SkXfermode::Create(SkXfermode::kSrc_Mode);
- } else if (SkScalarNearlyZero(k1) && SkScalarNearlyZero(k2) &&
+ } else if (SkScalarNearlyZero(k1) && SkScalarNearlyZero(k2) &&
SkScalarNearlyEqual(k3, SK_Scalar1) && SkScalarNearlyZero(k4)) {
return SkXfermode::Create(SkXfermode::kDst_Mode);
}
@@ -64,17 +62,6 @@ private:
buffer.writeBool(fEnforcePMColor);
}
- SkValue asValue() const override {
- auto value = SkValue::Object(SkValue::ArithmeticXfermode);
- using namespace SkValueKeys::ArithmeticXfermode;
- value.set(kK0, SkValue::FromF32(fK[0]));
- value.set(kK1, SkValue::FromF32(fK[1]));
- value.set(kK2, SkValue::FromF32(fK[2]));
- value.set(kK3, SkValue::FromF32(fK[3]));
- value.set(kEnforcePMColor, SkValue::FromS32(fEnforcePMColor ? 1 : 0));
- return value;
- }
-
SkScalar fK[4];
bool fEnforcePMColor;
diff --git a/src/effects/SkPixelXorXfermode.cpp b/src/effects/SkPixelXorXfermode.cpp
index 5ea82e6309..e2ecb0e365 100644
--- a/src/effects/SkPixelXorXfermode.cpp
+++ b/src/effects/SkPixelXorXfermode.cpp
@@ -10,8 +10,6 @@
#include "SkReadBuffer.h"
#include "SkWriteBuffer.h"
#include "SkString.h"
-#include "SkValue.h"
-#include "SkValueKeys.h"
// we always return an opaque color, 'cause I don't know what to do with
// the alpha-component and still return a valid premultiplied color.
@@ -66,8 +64,8 @@ static void add_pixelxor_code(GrGLSLFragmentBuilder* fragBuilder,
SkString xorFuncName;
// The xor function checks if the three passed in floats (f1, f2, f3) would
- // have a bit in the log2(fPowerOf2Divisor)-th position if they were
- // represented by an int. It then performs an xor of the 3 bits (using
+ // have a bit in the log2(fPowerOf2Divisor)-th position if they were
+ // represented by an int. It then performs an xor of the 3 bits (using
// the property that serial xors can be treated as a sum of 0s & 1s mod 2).
fragBuilder->emitFunction(kFloat_GrSLType,
"xor",
@@ -298,7 +296,7 @@ private:
void onSetData(const GrGLSLProgramDataManager& pdman,
const GrXferProcessor& processor) override {
const PixelXorXP& pixelXor = processor.cast<PixelXorXP>();
- pdman.set3f(fOpColorUni,
+ pdman.set3f(fOpColorUni,
SkColorGetR(pixelXor.opColor())/255.0f,
SkColorGetG(pixelXor.opColor())/255.0f,
SkColorGetB(pixelXor.opColor())/255.0f);
@@ -388,10 +386,3 @@ bool SkPixelXorXfermode::asXPFactory(GrXPFactory** xpf) const {
}
#endif
-
-SkValue SkPixelXorXfermode::asValue() const {
- auto value = SkValue::Object(SkValue::PixelXorXfermode);
- value.set(SkValueKeys::PixelXorXfermode::kOpColor,
- SkValue::FromU32(SkToU32(fOpColor)));
- return value;
-}
diff --git a/src/effects/SkToFromValue.cpp b/src/effects/SkToFromValue.cpp
deleted file mode 100644
index cbb265b33f..0000000000
--- a/src/effects/SkToFromValue.cpp
+++ /dev/null
@@ -1,121 +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.
- */
-
-#include "SkArithmeticMode.h"
-#include "SkMatrix.h"
-#include "SkPixelXorXfermode.h"
-#include "SkToFromValue.h"
-#include "SkValueKeys.h"
-#include "SkXfermode.h"
-
-////////////////////////////////////////////////////////////////////////////////
-
-#define REQUIRE(cond) do { if (!(cond)) { SkASSERT(false); return false; } } while (false)
-
-template <typename T>
-bool getT(const SkValue& obj, SkValue::Key key, T* ptr) {
- auto v = obj.get(key);
- return v ? SkFromValue(*v, ptr) : false;
-}
-
-template<> bool SkFromValue<float>(const SkValue& val, float* f) {
- REQUIRE(val.type() == SkValue::F32);
- *f = val.f32();
- return true;
-}
-
-template<> bool SkFromValue<int32_t>(const SkValue& val, int32_t* x) {
- REQUIRE(val.type() == SkValue::S32);
- *x = val.s32();
- return true;
-}
-
-template<> bool SkFromValue<uint32_t>(const SkValue& val, uint32_t* x) {
- REQUIRE(val.type() == SkValue::U32);
- *x = val.u32();
- return true;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-
-template<> SkValue SkToValue<SkMatrix>(const SkMatrix& mat) {
- auto val = SkValue::Object(SkValue::Matrix);
- for (int i = 0; i < 9; ++i) {
- if (mat[i] != SkMatrix::I()[i]) {
- val.set(i, SkValue::FromF32(mat[i]));
- }
- }
- return val;
-}
-
-template<> bool SkFromValue<SkMatrix>(const SkValue& val, SkMatrix* m) {
- REQUIRE(val.type() == SkValue::Matrix);
- *m = SkMatrix::I();
- for (int i = 0; i < 9; i++) {
- getT(val, i, &(*m)[i]);
- }
- return true;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-
-template<> SkValue SkToValue<SkXfermode>(const SkXfermode* x) {
- return x ? x->asValue() : SkValue::Object(SkValue::DefaultXfermode);
-}
-
-static bool from_value_DefaultXfermode(const SkValue& val,
- SkAutoTUnref<SkXfermode>* dst) {
- dst->reset(nullptr);
- return true;
-}
-
-static bool from_value_ArithmeticXfermode(const SkValue& val,
- SkAutoTUnref<SkXfermode>* dst) {
- using namespace SkValueKeys::ArithmeticXfermode;
- float k[4];
- REQUIRE(getT(val, kK0, &k[0]));
- REQUIRE(getT(val, kK1, &k[1]));
- REQUIRE(getT(val, kK2, &k[2]));
- REQUIRE(getT(val, kK3, &k[3]));
- int32_t enforce = true;
- getT(val, kEnforcePMColor, &enforce);
- dst->reset(SkArithmeticMode::Create(
- k[0], k[1], k[2], k[3], SkToBool(enforce)));
- return true;
-}
-
-static bool from_value_PixelXorXfermode(const SkValue& val,
- SkAutoTUnref<SkXfermode>* dst) {
- uint32_t opColor;
- REQUIRE(getT(val, SkValueKeys::PixelXorXfermode::kOpColor, &opColor));
- dst->reset(SkPixelXorXfermode::Create(opColor));
- return true;
-}
-
-static bool from_value_ProcCoeffXfermode(const SkValue& val,
- SkAutoTUnref<SkXfermode>* dst) {
- uint32_t mode;
- REQUIRE(getT(val, SkValueKeys::ProcCoeffXfermode::kMode, &mode));
- dst->reset(SkXfermode::Create((SkXfermode::Mode)mode));
- return true;
-}
-
-template<> bool SkFromValue< SkAutoTUnref<SkXfermode> >(
- const SkValue& val, SkAutoTUnref<SkXfermode>* dst) {
- switch (val.type()) {
- case SkValue::DefaultXfermode: return from_value_DefaultXfermode(val, dst);
- case SkValue::ArithmeticXfermode: return from_value_ArithmeticXfermode(val, dst);
- case SkValue::PixelXorXfermode: return from_value_PixelXorXfermode(val, dst);
- case SkValue::ProcCoeffXfermode: return from_value_ProcCoeffXfermode(val, dst);
- default: REQUIRE(false);
- }
-}
-
-////////////////////////////////////////////////////////////////////////////////
-
-#undef REQUIRE
-
diff --git a/src/effects/SkToFromValue.h b/src/effects/SkToFromValue.h
deleted file mode 100644
index 1ead4bd3fb..0000000000
--- a/src/effects/SkToFromValue.h
+++ /dev/null
@@ -1,21 +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 SkToFromValue_DEFINED
-#define SkToFromValue_DEFINED
-
-#include "SkValue.h"
-
-template <typename T>
-SkValue SkToValue(const T&);
-
-template <typename T>
-SkValue SkToValue(const T*);
-
-template <typename T>
-bool SkFromValue(const SkValue&, T*);
-
-#endif // SkToFromValue_DEFINED