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:
authorrachytski <siarhei.rachytski@gmail.com>2013-02-13 15:36:16 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:50:47 +0300
commit393cd94d36a0aa97fd5ff96b435b3bdcff941121 (patch)
treedd4ab0082dafcdcc4ac32c4dff0ee68ecb1991f1 /android
parente1bb2b713b9f1305b0ddebea0ccc93f1727b04a5 (diff)
fixed some bugs with gui::Balloon rendering. added "arrow" and "plus" images logic into BookmarkBalloon.
Diffstat (limited to 'android')
-rw-r--r--android/jni/com/mapswithme/maps/Framework.cpp44
-rw-r--r--android/jni/com/mapswithme/maps/Framework.hpp11
2 files changed, 29 insertions, 26 deletions
diff --git a/android/jni/com/mapswithme/maps/Framework.cpp b/android/jni/com/mapswithme/maps/Framework.cpp
index 3427515121..7fe8a1e8dc 100644
--- a/android/jni/com/mapswithme/maps/Framework.cpp
+++ b/android/jni/com/mapswithme/maps/Framework.cpp
@@ -576,7 +576,7 @@ namespace android
if (ValidateBookmarkAndCategory(bac))
{
Bookmark b = *(m_work.GetBmCategory(bac.first)->GetBookmark(bac.second));
- ActivatePopup(b.GetOrg(), b.GetName());
+ ActivatePopup(b.GetOrg(), b.GetName(), "right-arrow.png");
return true;
}
else
@@ -647,17 +647,18 @@ namespace android
bmkname = cstream.str();
}
- ActivatePopup(bmkPosition, bmkname);
+ ActivatePopup(bmkPosition, bmkname, "plus.png");
m_work.DrawPlacemark(bmkPosition);
m_work.Invalidate();
}
- void Framework::ActivatePopup(m2::PointD const & bmkPosition, string const & name)
+ void Framework::ActivatePopup(m2::PointD const & bmkPosition, string const & name, string const & imageName)
{
- gui::BookmarkBalloon * b = GetBookmarkBalloon();
+ BookmarkBalloon * b = GetBookmarkBalloon();
m_work.DisablePlacemark();
- b->setBookmarkPivot(bmkPosition);
+ b->setImage(graphics::Image::Info(imageName.c_str(), m_work.GetRenderPolicy()->Density()));
+ b->setGlbPivot(bmkPosition);
b->setBookmarkName(name);
b->setIsVisible(true);
m_work.Invalidate();
@@ -665,7 +666,7 @@ namespace android
void Framework::DeactivatePopup()
{
- gui::BookmarkBalloon * b = GetBookmarkBalloon();
+ BookmarkBalloon * b = GetBookmarkBalloon();
b->setIsVisible(false);
m_work.DisablePlacemark();
m_work.Invalidate();
@@ -673,9 +674,9 @@ namespace android
void Framework::OnBalloonClick(gui::Element * e)
{
- gui::BookmarkBalloon * balloon = GetBookmarkBalloon();
+ BookmarkBalloon * balloon = GetBookmarkBalloon();
- BookmarkAndCategory bac = m_work.GetBookmark(m_work.GtoP(balloon->getBookmarkPivot()));
+ BookmarkAndCategory bac = m_work.GetBookmark(m_work.GtoP(balloon->glbPivot()));
if (ValidateBookmarkAndCategory(bac))
{
m_balloonClickListener(bac);
@@ -685,14 +686,14 @@ namespace android
BookmarkCategory * cat;
if (m_work.GetBmCategoriesCount() == 0)
{
- m_work.AddBookmark(m_work.GetStringsBundle().GetString("my_places"), Bookmark(balloon->getBookmarkPivot(), balloon->getBookmarkName(), "placemark-red"));
+ m_work.AddBookmark(m_work.GetStringsBundle().GetString("my_places"), Bookmark(balloon->glbPivot(), balloon->bookmarkName(), "placemark-red"));
cat = m_work.GetBmCategory(m_work.GetBmCategoriesCount()-1);
}
else
{
cat = m_work.GetBmCategory(m_work.GetBmCategoriesCount()-1);
- LOG(LDEBUG,("Paladin", (balloon->getBookmarkPivot(), balloon->getBookmarkName(), "placemark-red")));
- m_work.AddBookmark(cat->GetName(), Bookmark(balloon->getBookmarkPivot(), balloon->getBookmarkName(), "placemark-red"));
+ Bookmark bm(balloon->glbPivot(), balloon->bookmarkName(), "placemark-red");
+ m_work.AddBookmark(cat->GetName(), bm);
}
cat->SaveToKMLFile();
int catSize = cat->GetBookmarksCount() - 1;
@@ -714,28 +715,35 @@ namespace android
m_balloonClickListener.clear();
}
+ BookmarkBalloon * Framework::GetBookmarkBalloon()
+ {
+ if (!m_bmBaloon)
+ CreateBookmarkBalloon();
+ return m_bmBaloon.get();
+ }
+
void Framework::CreateBookmarkBalloon()
{
CHECK(m_work.GetGuiController(), ());
CHECK(m_work.GetRenderPolicy(), ());
- gui::Balloon::Params bp;
+ BookmarkBalloon::Params bp;
bp.m_position = graphics::EPosAbove;
- bp.m_depth = graphics::maxDepth;
+ bp.m_depth = graphics::maxDepth - 3;
bp.m_pivot = m2::PointD(0, 0);
bp.m_imageMarginBottom = 10;
- bp.m_imageMarginLeft = 10;
+ bp.m_imageMarginLeft = 0;
bp.m_imageMarginRight = 10;
- bp.m_imageMarginTop = 10;
+ bp.m_imageMarginTop = 7;
bp.m_textMarginBottom = 10;
bp.m_textMarginLeft = 10;
bp.m_textMarginRight = 10;
- bp.m_textMarginTop = 10;
- bp.m_image = graphics::Image::Info("arrow.png", m_work.GetRenderPolicy()->Density());
+ bp.m_textMarginTop = 7;
bp.m_text = "Bookmark";
+ bp.m_framework = &m_work;
- m_bmBaloon.reset(new gui::BookmarkBalloon(bp, &m_work));
+ m_bmBaloon.reset(new BookmarkBalloon(bp));
m_bmBaloon->setIsVisible(false);
m_bmBaloon->setOnClickListener(bind(&Framework::OnBalloonClick, this, _1));
m_work.GetGuiController()->AddElement(m_bmBaloon);
diff --git a/android/jni/com/mapswithme/maps/Framework.hpp b/android/jni/com/mapswithme/maps/Framework.hpp
index 34e328588c..2272488230 100644
--- a/android/jni/com/mapswithme/maps/Framework.hpp
+++ b/android/jni/com/mapswithme/maps/Framework.hpp
@@ -65,7 +65,7 @@ namespace android
bool HandleOnSmthClick(double x, double y);
bool AdditionalHandlingForLongClick(double x, double y);
- void ActivatePopup(m2::PointD const & bmkPosition, string const & name);
+ void ActivatePopup(m2::PointD const & bmkPosition, string const & name, string const & imageName);
void ActivatePopupWithAddressInfo(m2::PointD const & bmkPosition, ::Framework::AddressInfo const & adInfo);
void ToCamelCase(string & c);
@@ -75,16 +75,11 @@ namespace android
return (bac.first > -1 && bac.second > -1);
}
- shared_ptr<gui::BookmarkBalloon> m_bmBaloon;
+ shared_ptr<BookmarkBalloon> m_bmBaloon;
void OnBalloonClick(gui::Element * e);
void CreateBookmarkBalloon();
- inline gui::BookmarkBalloon * GetBookmarkBalloon()
- {
- if (!m_bmBaloon)
- CreateBookmarkBalloon();
- return m_bmBaloon.get();
- }
+ BookmarkBalloon * GetBookmarkBalloon();
public:
Framework();