| 1714 | } |
| 1715 | |
| 1716 | UserMark const * BookmarkManager::FindMarkInRect(kml::MarkGroupId groupId, m2::AnyRectD const & rect, |
| 1717 | bool findOnlyVisible, double & d) const |
| 1718 | { |
| 1719 | CHECK_THREAD_CHECKER(m_threadChecker, ()); |
| 1720 | auto const * group = GetGroup(groupId); |
| 1721 | |
| 1722 | UserMark const * resMark = nullptr; |
| 1723 | if (group->IsVisible()) |
| 1724 | { |
| 1725 | FindMarkFunctor f(&resMark, d, rect); |
| 1726 | for (auto markId : group->GetUserMarks()) |
| 1727 | { |
| 1728 | auto const * mark = GetMark(markId); |
| 1729 | if (findOnlyVisible && !mark->IsVisible()) |
| 1730 | continue; |
| 1731 | |
| 1732 | if (mark->IsAvailableForSearch() && rect.IsPointInside(mark->GetPivot())) |
| 1733 | f(mark); |
| 1734 | } |
| 1735 | } |
| 1736 | return resMark; |
| 1737 | } |
| 1738 | |
| 1739 | void BookmarkManager::SetIsVisible(kml::MarkGroupId groupId, bool visible) |
| 1740 | { |
no test coverage detected