Index: src/core/SkXfermode.cpp |
diff --git a/src/core/SkXfermode.cpp b/src/core/SkXfermode.cpp |
index 79de322c2daceb95dce39bfc304776556e5ade70..d958ed3febf66f43844e72420de227f56d55c2d5 100644 |
--- a/src/core/SkXfermode.cpp |
+++ b/src/core/SkXfermode.cpp |
@@ -15,6 +15,7 @@ |
#include "SkReadBuffer.h" |
#include "SkString.h" |
#include "SkWriteBuffer.h" |
+#include "SkValue.h" |
#define SkAlphaMulAlpha(a, b) SkMulDiv255Round(a, b) |
@@ -763,6 +764,14 @@ void SkProcCoeffXfermode::flatten(SkWriteBuffer& buffer) const { |
buffer.write32(fMode); |
} |
+enum { kMode }; |
+ |
+SkValue SkProcCoeffXfermode::asValue() const { |
+ auto value = SkValue::Object(SkValue::ProcCoeffXfermode); |
+ value.set(kMode, SkValue::FromU32(SkToU32(fMode))); |
+ return value; |
+} |
+ |
bool SkProcCoeffXfermode::asMode(Mode* mode) const { |
if (mode) { |
*mode = fMode; |