summaryrefslogtreecommitdiffstats
path: root/src/edge.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-09-17 20:41:51 +0000
committerDavid Robillard <d@drobilla.net>2012-09-17 20:41:51 +0000
commitdf5f31a628df0240aba6c9f7ae0586e77ec127ac (patch)
tree01f858fc16e90f291e7d9bc8d4d8854c0b29d215 /src/edge.c
parent5328d6de1338ccd6ff4a554d1e94196ddb8b16c0 (diff)
downloadganv-df5f31a628df0240aba6c9f7ae0586e77ec127ac.tar.gz
ganv-df5f31a628df0240aba6c9f7ae0586e77ec127ac.tar.bz2
ganv-df5f31a628df0240aba6c9f7ae0586e77ec127ac.zip
Add Canvas::remove_edge and allow for_each_edge to be used to remove edges.
Add Edge handle_radius accessors. git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4777 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/edge.c')
-rw-r--r--src/edge.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/edge.c b/src/edge.c
index 871498a..2440990 100644
--- a/src/edge.c
+++ b/src/edge.c
@@ -207,11 +207,13 @@ request_redraw(GanvCanvasBase* canvas,
x2 + w, y2 + w);
}
- ganv_canvas_base_request_redraw(canvas,
- coords->handle_x - coords->handle_radius,
- coords->handle_y - coords->handle_radius,
- coords->handle_x + coords->handle_radius,
- coords->handle_y + coords->handle_radius);
+ if (coords->handle_radius > 0.0) {
+ ganv_canvas_base_request_redraw(canvas,
+ coords->handle_x - coords->handle_radius,
+ coords->handle_y - coords->handle_radius,
+ coords->handle_x + coords->handle_radius,
+ coords->handle_y + coords->handle_radius);
+ }
if (coords->arrowhead) {
ganv_canvas_base_request_redraw(
@@ -420,9 +422,11 @@ ganv_edge_draw(GanvItem* item,
cairo_stroke(cr);
- cairo_move_to(cr, join_x, join_y);
- cairo_arc(cr, join_x, join_y, impl->coords.handle_radius, 0, 2 * G_PI);
- cairo_fill(cr);
+ if (impl->coords.handle_radius > 0.0) {
+ cairo_move_to(cr, join_x, join_y);
+ cairo_arc(cr, join_x, join_y, impl->coords.handle_radius, 0, 2 * G_PI);
+ cairo_fill(cr);
+ }
}
static double