From 30f930a566eee5d53e0cb160519a697634c64ae9 Mon Sep 17 00:00:00 2001 From: Jabier Arraiza Date: Thu, 24 Oct 2019 23:40:05 +0200 Subject: [PATCH] Allow select text elements by bounding box --- src/display/drawing-group.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/display/drawing-group.cpp b/src/display/drawing-group.cpp index e2fb265811..cd669c6f1e 100644 --- a/src/display/drawing-group.cpp +++ b/src/display/drawing-group.cpp @@ -15,6 +15,7 @@ #include "display/drawing-context.h" #include "display/drawing-item.h" #include "display/drawing-surface.h" +#include "display/drawing-text.h" #include "display/drawing.h" #include "style.h" @@ -129,7 +130,15 @@ DrawingGroup::_clipItem(DrawingContext &dc, Geom::IntRect const &area) DrawingItem * DrawingGroup::_pickItem(Geom::Point const &p, double delta, unsigned flags) { + bool outline = _drawing.outline() || _drawing.getOutlineSensitive(); for (auto & i : _children) { + if ((dynamic_cast(&i) != nullptr) && !outline && !(flags & PICK_AS_CLIP) && _drawbox) { + Geom::Rect expanded = *_drawbox; + expanded.expandBy(delta); + if (expanded.contains(p)) { + return this; + } + } DrawingItem *picked = i.pick(p, delta, flags); if (picked) { return _pick_children ? picked : this; -- GitLab