diff options
Diffstat (limited to 'libs/canvas/arrow.cc')
-rw-r--r-- | libs/canvas/arrow.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libs/canvas/arrow.cc b/libs/canvas/arrow.cc index f82f2d96de..55f5173253 100644 --- a/libs/canvas/arrow.cc +++ b/libs/canvas/arrow.cc @@ -221,3 +221,20 @@ Arrow::set_color (Color color) _heads[i].polygon->set_fill_color (color); } } + +bool +Arrow::covers (Duple const & point) const +{ + if (_heads[0].polygon && _heads[0].polygon->covers (point)) { + return true; + } + if (_line && _line->covers (point)) { + return true; + } + + if (_heads[1].polygon && _heads[1].polygon->covers (point)) { + return true; + } + + return false; +} |