Flutter Engine
The Flutter Engine
SkSVGCanvas.h
Go to the documentation of this file.
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
12
13#include <cstdint>
14#include <memory>
15
16class SkCanvas;
17class SkWStream;
18struct SkRect;
19
21public:
22 enum {
23 kConvertTextToPaths_Flag = 0x01, // emit text as <path>s
24 kNoPrettyXML_Flag = 0x02, // suppress newlines and tabs in output
25 kRelativePathEncoding_Flag = 0x04, // use relative commands for path encoding
26 };
27
28 /**
29 * Returns a new canvas that will generate SVG commands from its draw calls, and send
30 * them to the provided stream. Ownership of the stream is not transfered, and it must
31 * remain valid for the lifetime of the returned canvas.
32 *
33 * The canvas may buffer some drawing calls, so the output is not guaranteed to be valid
34 * or complete until the canvas instance is deleted.
35 *
36 * The 'bounds' parameter defines an initial SVG viewport (viewBox attribute on the root
37 * SVG element).
38 */
39 static std::unique_ptr<SkCanvas> Make(const SkRect& bounds, SkWStream*, uint32_t flags = 0);
40};
41
42#endif
#define SK_API
Definition: SkAPI.h:35
FlutterSemanticsFlag flags
SK_API sk_sp< SkDocument > Make(SkWStream *dst, const SkSerialProcs *=nullptr, std::function< void(const SkPicture *)> onEndPage=nullptr)
Optional< SkRect > bounds
Definition: SkRecords.h:189