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 Sorokin <sorok-roma@yandex.ru>2014-07-25 13:45:59 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 02:22:15 +0300
commit3327a811e1bb5b1ce4cd1b6c3d85cf03d301593d (patch)
tree72c290c2a433d197acbb2229768d459348c4b52d /drape
parentf08b054e401fa0fa2f029ae95530a1afc26e5e5f (diff)
fix for updating model-view matrix
Diffstat (limited to 'drape')
-rw-r--r--drape/overlay_tree.cpp6
-rw-r--r--drape/overlay_tree.hpp3
2 files changed, 6 insertions, 3 deletions
diff --git a/drape/overlay_tree.cpp b/drape/overlay_tree.cpp
index d879e4083a..3fb4ccde64 100644
--- a/drape/overlay_tree.cpp
+++ b/drape/overlay_tree.cpp
@@ -2,15 +2,17 @@
#include "../std/bind.hpp"
-void OverlayTree::StartOverlayPlacing(ScreenBase const & screen)
+void OverlayTree::StartOverlayPlacing(ScreenBase const & screen, bool canOverlap)
{
m_modelView = screen;
+ m_canOverlap = canOverlap;
ASSERT(m_tree.empty(), ());
}
void OverlayTree::Add(RefPointer<OverlayHandle> handle)
{
- handle->SetIsVisible(false);
+ handle->SetIsVisible(m_canOverlap);
+ handle->Update(m_modelView);
m2::RectD pixelRect = handle->GetPixelRect(m_modelView);
find_result_t elements;
diff --git a/drape/overlay_tree.hpp b/drape/overlay_tree.hpp
index 5e9bb5207d..6cfe68cd9b 100644
--- a/drape/overlay_tree.hpp
+++ b/drape/overlay_tree.hpp
@@ -10,7 +10,7 @@
class OverlayTree
{
public:
- void StartOverlayPlacing(ScreenBase const & screen);
+ void StartOverlayPlacing(ScreenBase const & screen, bool canOverlap = false);
void Add(RefPointer<OverlayHandle> handle);
void EndOverlayPlacing();
@@ -30,6 +30,7 @@ private:
ScreenBase m_modelView;
typedef KDTree::KDTree<4, Node> tree_t;
tree_t m_tree;
+ bool m_canOverlap;
private:
typedef buffer_vector<Node const *, 8> find_result_t;