diff options
author | ExMix <rahuba.youri@mapswithme.com> | 2015-06-02 15:48:01 +0300 |
---|---|---|
committer | r.kuznetsov <r.kuznetsov@corp.mail.ru> | 2015-11-30 16:08:33 +0300 |
commit | b6859f9c6e98179d40f353f5d4e6dd2b6ff73b80 (patch) | |
tree | 99d9867180230aba6f6736ccd1fdcf944d81ce51 /drape/overlay_tree.hpp | |
parent | 2d8b2dabc5d247f297c0c73c54763f79366fc2b3 (diff) |
[drape] select object on map
Diffstat (limited to 'drape/overlay_tree.hpp')
-rw-r--r-- | drape/overlay_tree.hpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drape/overlay_tree.hpp b/drape/overlay_tree.hpp index 6c0282e3e6..78769a17fd 100644 --- a/drape/overlay_tree.hpp +++ b/drape/overlay_tree.hpp @@ -5,6 +5,7 @@ #include "geometry/screenbase.hpp" #include "geometry/tree4d.hpp" +#include "base/buffer_vector.hpp" namespace dp { @@ -46,15 +47,23 @@ class OverlayTree : public m4::Tree<detail::OverlayInfo, detail::OverlayTraits> typedef m4::Tree<detail::OverlayInfo, detail::OverlayTraits> BaseT; public: + void Frame(); + bool IsNeedUpdate() const; + void ForceUpdate(); + void StartOverlayPlacing(ScreenBase const & screen, bool canOverlap = false); void Add(ref_ptr<OverlayHandle> handle, bool isTransparent); void EndOverlayPlacing(); + using TSelectResult = buffer_vector<ref_ptr<OverlayHandle>, 8>; + void Select(m2::RectD const & rect, TSelectResult & result) const; + private: ScreenBase const & GetModelView() const { return m_traits.m_modelView; } private: - bool m_canOverlap; + bool m_canOverlap = false; + int m_frameCounter = -1; }; } // namespace dp |