summaryrefslogtreecommitdiffstats
path: root/ganv
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2015-02-08 13:38:35 +0000
committerDavid Robillard <d@drobilla.net>2015-02-08 13:38:35 +0000
commit182ed04eaef3db9d0e07d466b19307e6c1b4aeb9 (patch)
treea1a4a1da31357aec0a308c7ea41b4e3eb79643ae /ganv
parent3d7cca74006eee42c9f8b6dfd23cb61d74a91945 (diff)
downloadganv-182ed04eaef3db9d0e07d466b19307e6c1b4aeb9.tar.gz
ganv-182ed04eaef3db9d0e07d466b19307e6c1b4aeb9.tar.bz2
ganv-182ed04eaef3db9d0e07d466b19307e6c1b4aeb9.zip
Add support for exporting canvas as PDF or PS.
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5543 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'ganv')
-rw-r--r--ganv/Canvas.hpp1
-rw-r--r--ganv/canvas.h13
-rw-r--r--ganv/wrap.hpp5
3 files changed, 19 insertions, 0 deletions
diff --git a/ganv/Canvas.hpp b/ganv/Canvas.hpp
index 88211d4..4a83de2 100644
--- a/ganv/Canvas.hpp
+++ b/ganv/Canvas.hpp
@@ -84,6 +84,7 @@ public:
void remove_edge(Edge* edge);
METHOD0(ganv_canvas, arrange);
+ METHODRET2(ganv_canvas, int, export_image, const char*, filename, bool, draw_background);
METHOD1(ganv_canvas, export_dot, const char*, filename);
METHODRET0(ganv_canvas, gboolean, supports_sprung_layout);
METHODRET1(ganv_canvas, gboolean, set_sprung_layout, gboolean, sprung_layout);
diff --git a/ganv/canvas.h b/ganv/canvas.h
index 83e3f8a..e923f65 100644
--- a/ganv/canvas.h
+++ b/ganv/canvas.h
@@ -378,6 +378,19 @@ void
ganv_canvas_arrange(GanvCanvas* canvas);
/**
+ * ganv_canvas_export_image:
+ *
+ * Draw the canvas to an image file. The file type is determined by extension,
+ * currently supported: pdf, ps, svg, dot.
+ *
+ * Returns: 0 on success.
+ */
+int
+ganv_canvas_export_image(GanvCanvas* canvas,
+ const char* filename,
+ gboolean draw_background);
+
+/**
* ganv_canvas_export_dot:
*
* Write a Graphviz DOT description of the canvas to a file.
diff --git a/ganv/wrap.hpp b/ganv/wrap.hpp
index f4f2e9c..f907dea 100644
--- a/ganv/wrap.hpp
+++ b/ganv/wrap.hpp
@@ -76,6 +76,11 @@ private: \
return prefix##_##name(gobj(), a1); \
}
+#define METHODRET2(prefix, ret, name, t1, a1, t2, a2) \
+ virtual ret name(t1 a1, t2 a2) { \
+ return prefix##_##name(gobj(), a1, a2); \
+ }
+
#define METHODRETWRAP0(prefix, ret, name) \
virtual ret name() const { \
if (gobj()) { \