aboutsummaryrefslogtreecommitdiff
path: root/src/deps/skia/include/svg/SkSVGCanvas.h
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-04-03 16:34:10 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-04-03 16:34:10 -0700
commita87508008dfa1604baf2d4e39bf44704c00f261c (patch)
tree0be2ade96772037a02803b30e157c367d931e3d9 /src/deps/skia/include/svg/SkSVGCanvas.h
parent4a19a3f07f1887903e5638a3be167f0c7b377ba3 (diff)
downloadbun-jarred/canvas.tar.gz
bun-jarred/canvas.tar.zst
bun-jarred/canvas.zip
Diffstat (limited to '')
-rw-r--r--src/deps/skia/include/svg/SkSVGCanvas.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/deps/skia/include/svg/SkSVGCanvas.h b/src/deps/skia/include/svg/SkSVGCanvas.h
new file mode 100644
index 000000000..2d9858a79
--- /dev/null
+++ b/src/deps/skia/include/svg/SkSVGCanvas.h
@@ -0,0 +1,37 @@
+/*
+ * 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 "include/core/SkCanvas.h"
+
+class SkWStream;
+
+class SK_API SkSVGCanvas {
+public:
+ enum {
+ kConvertTextToPaths_Flag = 0x01, // emit text as <path>s
+ kNoPrettyXML_Flag = 0x02, // suppress newlines and tabs in output
+ kRelativePathEncoding_Flag = 0x04, // use relative commands for path encoding
+ };
+
+ /**
+ * Returns a new canvas that will generate SVG commands from its draw calls, and send
+ * them to the provided stream. Ownership of the stream is not transfered, and it must
+ * remain valid for 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*, uint32_t flags = 0);
+};
+
+#endif