Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/drape
diff options
context:
space:
mode:
authorRoman Kuznetsov <r.kuznetsow@gmail.com>2016-09-27 12:00:52 +0300
committerGitHub <noreply@github.com>2016-09-27 12:00:52 +0300
commite13e69a51baef38cbe68cd4a9897b05fca1244bc (patch)
tree0dce2e26e91bbcbd582068389c62c66f41dd4236 /drape
parentd2a4077545d50abe4305a63713b93fe0926db272 (diff)
parent28f41e9792827508f63027415d48ce2fa9c0e5e8 (diff)
Merge pull request #4385 from darina/visible-viewport
Visible viewport
Diffstat (limited to 'drape')
-rw-r--r--drape/overlay_tree.cpp17
-rw-r--r--drape/overlay_tree.hpp1
2 files changed, 18 insertions, 0 deletions
diff --git a/drape/overlay_tree.cpp b/drape/overlay_tree.cpp
index 9daf1e229a..275df08525 100644
--- a/drape/overlay_tree.cpp
+++ b/drape/overlay_tree.cpp
@@ -367,6 +367,23 @@ void OverlayTree::DeleteHandle(ref_ptr<OverlayHandle> const & handle)
Erase(handle);
}
+bool OverlayTree::GetSelectedFeatureRect(ScreenBase const & screen, m2::RectD & featureRect)
+{
+ if (!m_selectedFeatureID.IsValid())
+ return false;
+
+ featureRect.MakeEmpty();
+ for (auto const & handle : m_handlesCache)
+ {
+ if (handle->IsVisible() && handle->GetFeatureID() == m_selectedFeatureID)
+ {
+ m2::RectD rect = handle->GetPixelRect(screen, screen.isPerspective());
+ featureRect.Add(rect);
+ }
+ }
+ return true;
+}
+
void OverlayTree::Select(m2::PointD const & glbPoint, TOverlayContainer & result) const
{
ScreenBase const & screen = m_traits.m_modelView;
diff --git a/drape/overlay_tree.hpp b/drape/overlay_tree.hpp
index 8a65e18afb..ef669d1a7b 100644
--- a/drape/overlay_tree.hpp
+++ b/drape/overlay_tree.hpp
@@ -66,6 +66,7 @@ public:
void SetDisplacementMode(int displacementMode);
void SetSelectedFeature(FeatureID const & featureID);
+ bool GetSelectedFeatureRect(ScreenBase const & screen, m2::RectD & featureRect);
#ifdef COLLECT_DISPLACEMENT_INFO
struct DisplacementData