1234567891011121314151617181920212223242526272829303132333435 |
- /*
- * 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 SkWStream;
- 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 std::unique_ptr<SkCanvas> Make(const SkRect& bounds, SkWStream*);
- // Internal only.
- static std::unique_ptr<SkCanvas> Make(const SkRect& bounds, SkXMLWriter*);
- };
- #endif
|