SVG backend in DM
Not enabled by default, but this should get you SKPs, GMs etc for free to play with.
$ out/Debug/dm -w svgs --src gm skp --config svg
BUG=skia:
Review URL: https://codereview.chromium.org/892693002
diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp
index f3ed574..baf1871 100644
--- a/dm/DMSrcSink.cpp
+++ b/dm/DMSrcSink.cpp
@@ -6,6 +6,7 @@
#include "SkOSFile.h"
#include "SkPictureRecorder.h"
#include "SkRandom.h"
+#include "SkSVGDevice.h"
#include "SkStream.h"
namespace DM {
@@ -227,6 +228,16 @@
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+SVGSink::SVGSink() {}
+
+Error SVGSink::draw(const Src& src, SkBitmap*, SkWStream* dst) const {
+ SkAutoTUnref<SkBaseDevice> device(SkSVGDevice::Create(src.size(), dst));
+ SkCanvas canvas(device);
+ return src.draw(&canvas);
+}
+
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
RasterSink::RasterSink(SkColorType colorType) : fColorType(colorType) {}
Error RasterSink::draw(const Src& src, SkBitmap* dst, SkWStream*) const {