Simplify implementation of graphical objects - 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月13日 14:43:46 +0100
committerFrancesco Abbate <francesco.bbt@gmail.com>2011年12月16日 23:56:12 +0100
commit554468f7e205e4ae9873e901980c485ba0965058 (patch)
treee8e545eaf0e5ccdace62e99919ae5b6e92beede3 /agg-plot/canvas_svg.cpp
parentaee6826a547dd043248e8d212d5f0645068ecf05 (diff)
downloadgsl-shell-554468f7e205e4ae9873e901980c485ba0965058.tar.gz
Simplify implementation of graphical objects
Diffstat (limited to 'agg-plot/canvas_svg.cpp')
-rw-r--r--agg-plot/canvas_svg.cpp 40
1 files changed, 10 insertions, 30 deletions
diff --git a/agg-plot/canvas_svg.cpp b/agg-plot/canvas_svg.cpp
index d8f05cb9..9cb97e1b 100644
--- a/agg-plot/canvas_svg.cpp
+++ b/agg-plot/canvas_svg.cpp
@@ -2,41 +2,21 @@
const double canvas_svg::default_stroke_width = 1.0;
-static void canvas_draw_svg(svg_vs* vs, FILE* f, int id, agg::rgba8 c)
+template <>
+void canvas_svg::draw<sg_object>(sg_object& vs, agg::rgba8 c)
{
- str s = vs->write_svg(id, c);
- canvas_svg::writeln(f, s, " ");
+ int id = m_current_id ++;
+ str s = vs.write_svg(id, c);
+ canvas_svg::writeln(m_output, s, " ");
}
-static void canvas_draw_outline_svg(svg_vs* vs, FILE* f, int id, agg::rgba8 c)
+template <>
+void canvas_svg::draw_outline<sg_object>(sg_object& vs, agg::rgba8 c)
{
+ int id = m_current_id ++;
str path;
- svg_property_list* ls = vs->svg_path(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);
+ canvas_svg::writeln(m_output, s, " ");
}
generated by cgit v1.2.3 (git 2.39.1) at 2025年09月14日 17:58:41 +0000

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