diff options
author | fmalita <fmalita@chromium.org> | 2015-02-06 12:51:10 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-02-06 12:51:10 -0800 |
commit | 2aafe6f427f6d98aa4d173efc6195fe245add91d (patch) | |
tree | e54ed2c567cafcc6ca76b5d424d0b70eda00fece /include/svg | |
parent | 23e619cf462b2a8a500f3ca750e099f79601f508 (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.h | 31 |
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 |