summaryrefslogtreecommitdiff
path: root/libs/canvas/lookup_table.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-11-03 10:07:00 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2013-11-03 10:07:00 -0500
commit08b485db75082a21c3814b0a4517f2b2fc994b77 (patch)
tree9ab7d5bf9190977d58767de9e246bf24fbe628a8 /libs/canvas/lookup_table.cc
parent85daa31ab56b078c556addb3c9faee0f88697c4d (diff)
send enter events to EVERY newly entered item (ignore the bool return from the event handler); other canvas debugging aids;switch items_at_point() to use canvas coordinates
Diffstat (limited to 'libs/canvas/lookup_table.cc')
-rw-r--r--libs/canvas/lookup_table.cc13
1 files changed, 9 insertions, 4 deletions
diff --git a/libs/canvas/lookup_table.cc b/libs/canvas/lookup_table.cc
index 9b47dcf0d7..38b8be4afb 100644
--- a/libs/canvas/lookup_table.cc
+++ b/libs/canvas/lookup_table.cc
@@ -52,16 +52,21 @@ DumbLookupTable::get (Rect const &)
vector<Item *>
DumbLookupTable::items_at_point (Duple point) const
{
- /* Point is in parent coordinate system */
+ /* Point is in canvas coordinate system */
- list<Item *> items = _group.items ();
+ list<Item *> const & items (_group.items ());
vector<Item *> vitems;
for (list<Item *>::const_iterator i = items.begin(); i != items.end(); ++i) {
+
+ if (!(*i)->visible()) {
+ continue;
+ }
+
boost::optional<Rect> item_bbox = (*i)->bounding_box ();
+
if (item_bbox) {
- Rect canvas_bbox = (*i)->item_to_parent (item_bbox.get ());
- if (canvas_bbox.contains (point)) {
+ if ((*i)->item_to_canvas (item_bbox.get ()).contains (point)) {
vitems.push_back (*i);
}
}