[Orxonox-commit 2164] r6880 - code/branches/hudelements/src/modules/overlays/hud
rgrieder at orxonox.net
rgrieder at orxonox.net
Mon May 10 15:58:08 CEST 2010
Author: rgrieder
Date: 2010-05-10 15:58:08 +0200 (Mon, 10 May 2010)
New Revision: 6880
Modified:
code/branches/hudelements/src/modules/overlays/hud/HUDNavigation.cc
Log:
HUDNavigation: Fixed a few bugs, add to background and fixed size issues.
Modified: code/branches/hudelements/src/modules/overlays/hud/HUDNavigation.cc
===================================================================
--- code/branches/hudelements/src/modules/overlays/hud/HUDNavigation.cc 2010-05-10 13:50:27 UTC (rev 6879)
+++ code/branches/hudelements/src/modules/overlays/hud/HUDNavigation.cc 2010-05-10 13:58:08 UTC (rev 6880)
@@ -250,7 +250,7 @@
{
// down
float position = -pos.x / pos.y + 1.0f;
- tempRadarViewable->second.first->setPosition((position - tempRadarViewable->second.first->getWidth()) * 0.5f, 1.0f - navMarker_->getHeight());
+ tempRadarViewable->second.first->setPosition((position - tempRadarViewable->second.first->getWidth()) * 0.5f, 1.0f - tempRadarViewable->second.first->getHeight());
tempRadarViewable->second.first->setUV(0.0f, 0.5f, 0.5f, 1.0f);
tempRadarViewable->second.second->setLeft((position - textLength) * 0.5f);
tempRadarViewable->second.second->setTop(1.0f - tempRadarViewable->second.first->getHeight() - tempRadarViewable->second.second->getCharHeight());
@@ -295,10 +295,9 @@
tempRadarViewable->second.second->setTop((-pos.y + 1.0f + tempRadarViewable->second.first->getHeight()) * 0.5f);
}
- tempRadarViewable->second.first->show();
- tempRadarViewable->second.second->show();
- COUT(0) << "ShowGUITest z300" << std::endl;
- }
+ tempRadarViewable->second.first->show();
+ tempRadarViewable->second.second->show();
+ }
}
@@ -359,18 +358,34 @@
Ogre::TextAreaOverlayElement* text = static_cast<Ogre::TextAreaOverlayElement*>(Ogre::OverlayManager::getSingleton()
.createOverlayElement("TextArea", "HUDNavigation_navText_" + getUniqueNumberString()));
-
+ float xScale = this->getActualSize().x;
+ float yScale = this->getActualSize().y;
+ panel->setDimensions(navMarkerSize_ * xScale, navMarkerSize_ * yScale);
+ text->setCharHeight(text->getCharHeight() * yScale);
+
activeObjectList_[object] = std::make_pair (panel, text) ;
+ this->background_->addChild(panel);
+ this->background_->addChild(text);
+
// background_->addChild(activeObjectList_[object].first);
// background_->addChild(activeObjectList_[object].second);
COUT(0) << "check 357" << std::endl;
}
-void HUDNavigation::removeObject(RadarViewable* viewable) {
- assert(activeObjectList_.find(viewable)!=activeObjectList_.end());
- activeObjectList_.erase(viewable);
+void HUDNavigation::removeObject(RadarViewable* viewable)
+{
+ activeObjectListType::iterator it = activeObjectList_.find(viewable);
+
+ if (activeObjectList_.find(viewable) != activeObjectList_.end())
+ {
+ // Remove overlays from Ogre
+ this->background_->removeChild(it->second.first->getName());
+ this->background_->removeChild(it->second.second->getName());
+
+ activeObjectList_.erase(viewable);
+ }
}
// void updateActiveObjectList(map activeObjectList_){}
More information about the Orxonox-commit
mailing list