From 182ed04eaef3db9d0e07d466b19307e6c1b4aeb9 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 8 Feb 2015 13:38:35 +0000 Subject: 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 --- ganv/Canvas.hpp | 1 + ganv/canvas.h | 13 +++++++++++++ ganv/wrap.hpp | 5 +++++ 3 files changed, 19 insertions(+) (limited to 'ganv') 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 @@ -377,6 +377,19 @@ ganv_canvas_set_direction(GanvCanvas* canvas, GanvDirection dir); 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: * 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()) { \ -- cgit v1.2.1