• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2015 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #ifndef SkSVGCanvas_DEFINED
9 #define SkSVGCanvas_DEFINED
10 
11 #include "SkCanvas.h"
12 
13 class SkXMLWriter;
14 
15 class SK_API SkSVGCanvas {
16 public:
17     /**
18      *  Returns a new canvas that will generate SVG commands from its draw calls, and send
19      *  them to the provided xmlwriter. Ownership of the xmlwriter is not transfered to the canvas,
20      *  but it must stay valid during the lifetime of the returned canvas.
21      *
22      *  The canvas may buffer some drawing calls, so the output is not guaranteed to be valid
23      *  or complete until the canvas instance is deleted.
24      *
25      *  The 'bounds' parameter defines an initial SVG viewport (viewBox attribute on the root
26      *  SVG element).
27      */
28     static std::unique_ptr<SkCanvas> Make(const SkRect& bounds, SkXMLWriter*);
29 };
30 
31 #endif
32