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 "include/core/SkCanvas.h" 12 13 class SkWStream; 14 15 class SK_API SkSVGCanvas { 16 public: 17 enum { 18 kConvertTextToPaths_Flag = 0x01, 19 }; 20 21 /** 22 * Returns a new canvas that will generate SVG commands from its draw calls, and send 23 * them to the provided stream. Ownership of the stream is not transfered, and it must 24 * remain valid for the lifetime of the returned canvas. 25 * 26 * The canvas may buffer some drawing calls, so the output is not guaranteed to be valid 27 * or complete until the canvas instance is deleted. 28 * 29 * The 'bounds' parameter defines an initial SVG viewport (viewBox attribute on the root 30 * SVG element). 31 */ 32 static std::unique_ptr<SkCanvas> Make(const SkRect& bounds, SkWStream*, uint32_t flags = 0); 33 }; 34 35 #endif 36