From 8769128e3b83fe9698e953148bde605e9f0c1263 Mon Sep 17 00:00:00 2001 From: rachytski Date: Mon, 24 Sep 2012 15:49:02 +0300 Subject: [PATCH] added OverlayElement::point for querying element point by EPosition. --- yg/overlay_element.cpp | 17 +++++++++++++++++ yg/overlay_element.hpp | 2 ++ 2 files changed, 19 insertions(+) diff --git a/yg/overlay_element.cpp b/yg/overlay_element.cpp index 4f4ede9d8a..da6e437b4d 100644 --- a/yg/overlay_element.cpp +++ b/yg/overlay_element.cpp @@ -183,4 +183,21 @@ namespace yg { return m_userInfo; } + + m2::PointD const OverlayElement::point(EPosition pos) const + { + m2::PointD res = m_roughBoundRect.Center(); + + if (pos & EPosLeft) + res.x = m_roughBoundRect.minX(); + if (pos & EPosRight) + res.x = m_roughBoundRect.maxX(); + + if (pos & EPosAbove) + res.y = m_roughBoundRect.minY(); + if (pos & EPosUnder) + res.y = m_roughBoundRect.maxY(); + + return res; + } } diff --git a/yg/overlay_element.hpp b/yg/overlay_element.hpp index 75a86e30a1..93fbf47f68 100644 --- a/yg/overlay_element.hpp +++ b/yg/overlay_element.hpp @@ -69,6 +69,8 @@ namespace yg m2::PointD const & pivot() const; virtual void setPivot(m2::PointD const & pv); + virtual m2::PointD const point(EPosition pos) const; + void offset(m2::PointD const & offs); yg::EPosition position() const;