From 0cbdbc4219d353ace86219a0cfcbcfa62c1d3ac7 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 25 Apr 2012 03:35:33 +0000 Subject: Move more functionality down to C canvas. git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4271 a436a847-0d15-0410-975c-d299462d15a1 --- ganv/Canvas.hpp | 20 ++++++-------------- ganv/canvas.h | 20 ++++++++++++++++++++ 2 files changed, 26 insertions(+), 14 deletions(-) (limited to 'ganv') diff --git a/ganv/Canvas.hpp b/ganv/Canvas.hpp index 56c1b8c..7b38af5 100644 --- a/ganv/Canvas.hpp +++ b/ganv/Canvas.hpp @@ -72,26 +72,18 @@ public: METHOD0(ganv_canvas, get_zoom); - /** Set the current zoom factor (pixels per unit). */ - void set_zoom(double pix_per_unit); + METHOD1(ganv_canvas, set_zoom, double, pix_per_unit); + METHOD1(ganv_canvas, set_font_size, double, points); + METHOD2(ganv_canvas, set_scale, double, zoom, double, points); - /** Zoom so all canvas contents are visible. */ - void zoom_full(); + METHOD0(ganv_canvas, zoom_full); METHODRET0(ganv_canvas, double, get_font_size) METHODRET0(ganv_canvas, double, get_default_font_size) - /** Set the current font size. */ - void set_font_size(double points); + METHOD1(ganv_canvas, export_dot, const char*, filename); - /** Set both the zoom factor and font size. */ - void set_zoom_and_font_size(double zoom, double points); - - /** Write a Graphviz DOT description of the canvas to @c filename. */ - void render_to_dot(const std::string& filename); - - /** Automatically arrange the canvas contents if Graphviz is available. */ - void arrange(); + METHOD0(ganv_canvas, arrange); METHOD2(ganv_canvas, move_contents_to, double, x, double, y); diff --git a/ganv/canvas.h b/ganv/canvas.h index 9d0402e..0b3583a 100644 --- a/ganv/canvas.h +++ b/ganv/canvas.h @@ -94,15 +94,28 @@ ganv_canvas_remove_edge_between(GanvCanvas* canvas, double ganv_canvas_get_default_font_size(const GanvCanvas* canvas); +void +ganv_canvas_set_zoom(GanvCanvas* canvas, double zoom); + void ganv_canvas_set_font_size(GanvCanvas* canvas, double points); +void +ganv_canvas_set_scale(GanvCanvas* canvas, double zoom, double points); + void ganv_canvas_set_direction(GanvCanvas* canvas, GanvDirection dir); void ganv_canvas_clear_selection(GanvCanvas* canvas); +void +ganv_canvas_arrange(GanvCanvas* canvas); + +/** Write a Graphviz DOT description of the canvas to @c filename. */ +void +ganv_canvas_export_dot(GanvCanvas* canvas, const char* filename); + typedef void (*GanvNodeFunction)(GanvNode* node, void* data); typedef void (*GanvEdgeFunction)(GanvEdge* edge); @@ -202,6 +215,13 @@ ganv_canvas_get_font_size(const GanvCanvas* canvas); void ganv_canvas_set_scale(GanvCanvas* canvas, double zoom, double points); +/** + * ganv_canvas_zoom_full: + * Zoom so all canvas contents are visible. + */ +void +ganv_canvas_zoom_full(GanvCanvas* canvas); + /** * ganv_canvas_get_move_cursor: * Return the cursor to use while dragging canvas objects. -- cgit v1.2.1