Add support to write plot objects in SVG format - gsl-shell.git - gsl-shell

index : gsl-shell.git
gsl-shell
summary refs log tree commit diff
path: root/agg-plot/canvas_svg.cpp
diff options
context:
space:
mode:
authorFrancesco Abbate <francesco.bbt@gmail.com>2011年12月06日 22:26:34 +0100
committerFrancesco Abbate <francesco.bbt@gmail.com>2011年12月06日 22:26:34 +0100
commit66988c8e83094758e55282c51f45a01933bcc0c9 (patch)
tree4a90ebd78fe31080e719c23c7f371bff9597d1f0 /agg-plot/canvas_svg.cpp
parentc9a356e30fcd55e51bdfc303ce47921b09fab2b4 (diff)
downloadgsl-shell-66988c8e83094758e55282c51f45a01933bcc0c9.tar.gz
Add support to write plot objects in SVG format
Diffstat (limited to 'agg-plot/canvas_svg.cpp')
-rw-r--r--agg-plot/canvas_svg.cpp 42
1 files changed, 42 insertions, 0 deletions
diff --git a/agg-plot/canvas_svg.cpp b/agg-plot/canvas_svg.cpp
new file mode 100644
index 00000000..d8f05cb9
--- /dev/null
+++ b/agg-plot/canvas_svg.cpp
@@ -0,0 +1,42 @@
+#include "canvas_svg.h"
+
+const double canvas_svg::default_stroke_width = 1.0;
+
+static void canvas_draw_svg(svg_vs* vs, FILE* f, int id, agg::rgba8 c)
+{
+ str s = vs->write_svg(id, c);
+ canvas_svg::writeln(f, s, " ");
+}
+
+static void canvas_draw_outline_svg(svg_vs* vs, FILE* f, int id, agg::rgba8 c)
+{
+ str path;
+ svg_property_list* ls = vs->svg_path(path);
+ str s = svg_stroke_path(path, canvas_svg::default_stroke_width, id, c, ls);
+ list::free(ls);
+ canvas_svg::writeln(f, s, " ");
+}
+
+template <>
+void canvas_svg::draw<svg_vs>(svg_vs& vs, agg::rgba8 c)
+{
+ canvas_draw_svg(&vs, m_output, m_current_id++, c);
+}
+
+template <>
+void canvas_svg::draw_outline<svg_vs>(svg_vs& vs, agg::rgba8 c)
+{
+ canvas_draw_outline_svg(&vs, m_output, m_current_id++, c);
+}
+
+template <>
+void canvas_svg::draw<drawable>(drawable& vs, agg::rgba8 c)
+{
+ canvas_draw_svg(&vs, m_output, m_current_id++, c);
+}
+
+template <>
+void canvas_svg::draw_outline<drawable>(drawable& vs, agg::rgba8 c)
+{
+ canvas_draw_outline_svg(&vs, m_output, m_current_id++, c);
+}
generated by cgit v1.2.3 (git 2.39.1) at 2025年09月14日 17:14:51 +0000

AltStyle によって変換されたページ (->オリジナル) /