diff options
| author | Jabier Arraiza <jabier.arraiza@marker.es> | 2019-10-24 21:40:05 +0000 |
|---|---|---|
| committer | Jabier Arraiza <jabier.arraiza@marker.es> | 2019-10-24 21:40:05 +0000 |
| commit | 30f930a566eee5d53e0cb160519a697634c64ae9 (patch) | |
| tree | 294d329582edd08ffc4e0fea3a26a05ba08c0e22 | |
| parent | Fix gradient/mesh handles after object with gradient/mesh cloned. (diff) | |
| download | inkscape-30f930a566eee5d53e0cb160519a697634c64ae9.tar.gz inkscape-30f930a566eee5d53e0cb160519a697634c64ae9.zip | |
Allow select text elements by bounding box
| -rw-r--r-- | src/display/drawing-group.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/display/drawing-group.cpp b/src/display/drawing-group.cpp index e2fb26581..cd669c6f1 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<DrawingText *>(&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; |
