diff --git a/yg/overlay_element.cpp b/yg/overlay_element.cpp index fdb0fffab6..1584a8debf 100644 --- a/yg/overlay_element.cpp +++ b/yg/overlay_element.cpp @@ -162,11 +162,6 @@ namespace yg return false; } - int OverlayElement::visualRank() const - { - return depth(); - } - bool OverlayElement::isValid() const { return m_isValid; diff --git a/yg/overlay_element.hpp b/yg/overlay_element.hpp index ab8086df89..4f1ea2845b 100644 --- a/yg/overlay_element.hpp +++ b/yg/overlay_element.hpp @@ -51,7 +51,7 @@ namespace yg /// PLEASE, REMEMBER THE REFERENCE!!! virtual vector const & boundRects() const = 0; virtual void draw(gl::OverlayRenderer * r, math::Matrix const & m) const = 0; - virtual int visualRank() const; + virtual int visualRank() const = 0; m2::PointD const & pivot() const; virtual void setPivot(m2::PointD const & pv); diff --git a/yg/path_text_element.cpp b/yg/path_text_element.cpp index e4cb4e61f8..46033aec1c 100644 --- a/yg/path_text_element.cpp +++ b/yg/path_text_element.cpp @@ -83,6 +83,11 @@ namespace yg m_glyphLayout.setPivot(pivot); } + int PathTextElement::visualRank() const + { + return 2000 + m_fontDesc.m_size; + } + OverlayElement * PathTextElement::clone(math::Matrix const & m) const { return new PathTextElement(*this, m); diff --git a/yg/path_text_element.hpp b/yg/path_text_element.hpp index d9e7d91896..32361d6d22 100644 --- a/yg/path_text_element.hpp +++ b/yg/path_text_element.hpp @@ -27,6 +27,8 @@ namespace yg void draw(gl::OverlayRenderer * r, math::Matrix const & m) const; + int visualRank() const; + void setPivot(m2::PointD const & pivot); OverlayElement * clone(math::Matrix const & m) const; diff --git a/yg/straight_text_element.cpp b/yg/straight_text_element.cpp index ecaa20cd5b..43e501baa5 100644 --- a/yg/straight_text_element.cpp +++ b/yg/straight_text_element.cpp @@ -293,6 +293,11 @@ namespace yg m_glyphLayouts[i].setPivot(m_glyphLayouts[i].pivot() + offs); } + int StraightTextElement::visualRank() const + { + return 1000 + m_fontDesc.m_size; + } + OverlayElement * StraightTextElement::clone(math::Matrix const & m) const { return new StraightTextElement(*this, m); diff --git a/yg/straight_text_element.hpp b/yg/straight_text_element.hpp index 84210c5803..09e96c993a 100644 --- a/yg/straight_text_element.hpp +++ b/yg/straight_text_element.hpp @@ -33,6 +33,8 @@ namespace yg void draw(gl::OverlayRenderer * r, math::Matrix const & m) const; + int visualRank() const; + void setPivot(m2::PointD const & pv); OverlayElement * clone(math::Matrix const & m) const; diff --git a/yg/symbol_element.cpp b/yg/symbol_element.cpp index 5dd1b88c67..11baa895ac 100644 --- a/yg/symbol_element.cpp +++ b/yg/symbol_element.cpp @@ -85,6 +85,11 @@ namespace yg style->m_pipelineID); } + int SymbolElement::visualRank() const + { + return 0000; + } + OverlayElement * SymbolElement::clone(math::Matrix const & m) const { return new SymbolElement(*this, m); diff --git a/yg/symbol_element.hpp b/yg/symbol_element.hpp index 3a1541b62c..ae7fef7bd2 100644 --- a/yg/symbol_element.hpp +++ b/yg/symbol_element.hpp @@ -37,6 +37,8 @@ namespace yg uint32_t styleID() const; + int visualRank() const; + OverlayElement * clone(math::Matrix const & m) const; }; }