aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/svg/SkSVGCanvas.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/svg/SkSVGCanvas.h')
-rw-r--r--include/svg/SkSVGCanvas.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/include/svg/SkSVGCanvas.h b/include/svg/SkSVGCanvas.h
new file mode 100644
index 0000000000..e285faa459
--- /dev/null
+++ b/include/svg/SkSVGCanvas.h
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2015 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef SkSVGCanvas_DEFINED
+#define SkSVGCanvas_DEFINED
+
+#include "SkCanvas.h"
+
+class SkXMLWriter;
+
+class SK_API SkSVGCanvas {
+public:
+ /**
+ * Returns a new canvas that will generate SVG commands from its draw calls, and send
+ * them to the provided xmlwriter. Ownership of the xmlwriter is not transfered to the canvas,
+ * but it must stay valid during the lifetime of the returned canvas.
+ *
+ * The canvas may buffer some drawing calls, so the output is not guaranteed to be valid
+ * or complete until the canvas instance is deleted.
+ *
+ * The 'bounds' parameter defines an initial SVG viewport (viewBox attribute on the root
+ * SVG element).
+ */
+ static SkCanvas* Create(const SkRect& bounds, SkXMLWriter*);
+};
+
+#endif