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
diff options
context:
space:
mode:
authorr.kuznetsov <r.kuznetsov@corp.mail.ru>2016-09-27 19:03:19 +0300
committerr.kuznetsov <r.kuznetsov@corp.mail.ru>2016-09-27 19:03:19 +0300
commite2e167cf9352493bd4291b92c155d4c16996bc5f (patch)
tree19f357e4778a173552c0fcb429e7a838e84af006 /drape_frontend
parentf2384db29fd3dc603b8ac92577e4e88480d74f22 (diff)
Fixed displaying of lines from KML
Diffstat (limited to 'drape_frontend')
-rwxr-xr-xdrape_frontend/frontend_renderer.cpp8
-rwxr-xr-xdrape_frontend/render_group.cpp5
-rwxr-xr-xdrape_frontend/render_group.hpp2
3 files changed, 12 insertions, 3 deletions
diff --git a/drape_frontend/frontend_renderer.cpp b/drape_frontend/frontend_renderer.cpp
index e3893092ce..5c94bf82a3 100755
--- a/drape_frontend/frontend_renderer.cpp
+++ b/drape_frontend/frontend_renderer.cpp
@@ -1161,9 +1161,11 @@ void FrontendRenderer::RenderUserMarksLayer(ScreenBase const & modelView)
for (auto const & group : m_userMarkRenderGroups)
{
ASSERT(group.get() != nullptr, ());
- if (m_userMarkVisibility.find(group->GetLayerId()) != m_userMarkVisibility.end() &&
- screenRect.IsIntersect(group->GetTileKey().GetGlobalRect()))
- RenderSingleGroup(modelView, make_ref(group));
+ if (m_userMarkVisibility.find(group->GetLayerId()) != m_userMarkVisibility.end())
+ {
+ if (!group->CanBeClipped() || screenRect.IsIntersect(group->GetTileKey().GetGlobalRect()))
+ RenderSingleGroup(modelView, make_ref(group));
+ }
}
}
diff --git a/drape_frontend/render_group.cpp b/drape_frontend/render_group.cpp
index 4199936a10..ea9633c380 100755
--- a/drape_frontend/render_group.cpp
+++ b/drape_frontend/render_group.cpp
@@ -242,6 +242,11 @@ size_t UserMarkRenderGroup::GetLayerId() const
return m_layerId;
}
+bool UserMarkRenderGroup::CanBeClipped() const
+{
+ return m_state.GetProgramIndex() != gpu::LINE_PROGRAM;
+}
+
string DebugPrint(RenderGroup const & group)
{
ostringstream out;
diff --git a/drape_frontend/render_group.hpp b/drape_frontend/render_group.hpp
index c28fdd2ca1..8c99d1b86f 100755
--- a/drape_frontend/render_group.hpp
+++ b/drape_frontend/render_group.hpp
@@ -105,6 +105,8 @@ public:
size_t GetLayerId() const;
+ bool CanBeClipped() const;
+
private:
drape_ptr<dp::RenderBucket> m_renderBucket;
unique_ptr<OpacityAnimation> m_animation;