Index: src/effects/SkArithmeticMode.cpp |
diff --git a/src/effects/SkArithmeticMode.cpp b/src/effects/SkArithmeticMode.cpp |
index 3a8c8f398e999974f7d050c5f577016438a3ca32..f609613ad98e407775e84f29fe2b8ef97b232602 100644 |
--- a/src/effects/SkArithmeticMode.cpp |
+++ b/src/effects/SkArithmeticMode.cpp |
@@ -11,6 +11,7 @@ |
#include "SkWriteBuffer.h" |
#include "SkString.h" |
#include "SkUnPreMultiply.h" |
+#include "SkValueKeys.h" |
#if SK_SUPPORT_GPU |
#include "SkArithmeticMode_gpu.h" |
#endif |
@@ -53,6 +54,22 @@ private: |
buffer.writeScalar(fK[3]); |
buffer.writeBool(fEnforcePMColor); |
} |
+ |
+ SkValue asValue() const override { |
mtklein
2016/01/21 17:46:18
Boy that's super verbose.
These seem like a good
hal.canary
2016/01/21 18:35:21
done.
|
+ auto value = SkValue::Object(SkValue::ArithmeticXfermode); |
+ value.set(SkValueKeys::ArithmeticXfermode::kK0, |
+ SkValue::FromF32(fK[0])); |
+ value.set(SkValueKeys::ArithmeticXfermode::kK1, |
+ SkValue::FromF32(fK[1])); |
+ value.set(SkValueKeys::ArithmeticXfermode::kK2, |
+ SkValue::FromF32(fK[2])); |
+ value.set(SkValueKeys::ArithmeticXfermode::kK3, |
+ SkValue::FromF32(fK[3])); |
+ value.set(SkValueKeys::ArithmeticXfermode::kEnforcePMColor, |
+ SkValue::FromS32(fEnforcePMColor ? 1 : 0)); |
+ return value; |
+ } |
+ |
SkScalar fK[4]; |
bool fEnforcePMColor; |