aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/svg
diff options
context:
space:
mode:
authorGravatar fmalita <fmalita@chromium.org>2015-02-06 12:51:10 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-02-06 12:51:10 -0800
commit2aafe6f427f6d98aa4d173efc6195fe245add91d (patch)
treee54ed2c567cafcc6ca76b5d424d0b70eda00fece /include/svg
parent23e619cf462b2a8a500f3ca750e099f79601f508 (diff)
Add SkSVGCanvas
Add a public SVG canvas factory + move the SVG files from experimental -> src/svg/. Update current clients to the new API. R=reed@google.com, mtklein@google.com, halcanary@google.com Review URL: https://codereview.chromium.org/902583006
Diffstat (limited to 'include/svg')
-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