Changeset 1595 for code/branches/hud/src/orxonox/hud/Navigation.cc
- Timestamp:
- Jun 12, 2008, 10:42:15 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/hud/src/orxonox/hud/Navigation.cc
r1590 r1595 54 54 , navMarker_(0) 55 55 , aimMarker_(0) 56 , navText_(0) 56 57 , focus_(0) 57 58 { … … 81 82 { 82 83 // create container 83 this->container_ = static_cast<OverlayContainer*>(Ogre::OverlayManager::getSingleton().createOverlayElement("Panel", getName() + "_navContainer"));84 this->container_->setMetricsMode(Ogre::GMM_RELATIVE);85 this->container_->setLeft(0.0);86 this->container_->setTop(0.0);87 this->container_->setWidth(1.0);88 this->container_->setHeight(1.0);84 container_ = static_cast<OverlayContainer*>(Ogre::OverlayManager::getSingleton().createOverlayElement("Panel", getName() + "_navContainer")); 85 container_->setMetricsMode(Ogre::GMM_RELATIVE); 86 container_->setLeft(0.0); 87 container_->setTop(0.0); 88 container_->setWidth(1.0); 89 container_->setHeight(1.0); 89 90 90 91 // create nav text 91 this->navText_ = static_cast<TextAreaOverlayElement*>(Ogre::OverlayManager::getSingleton().createOverlayElement("TextArea", getName() + "_navText"));92 this->navText_->setMetricsMode(Ogre::GMM_RELATIVE);93 this->navText_->setPosition(0.0f, 0.0f);94 this->navText_->setCharHeight(0.05f);95 this->navText_->setFontName("Monofur");92 navText_ = static_cast<TextAreaOverlayElement*>(Ogre::OverlayManager::getSingleton().createOverlayElement("TextArea", getName() + "_navText")); 93 navText_->setMetricsMode(Ogre::GMM_RELATIVE); 94 navText_->setPosition(0.0f, 0.0f); 95 navText_->setCharHeight(0.05f); 96 navText_->setFontName("Monofur"); 96 97 97 98 // create nav marker 98 99 navMarker_ = static_cast<PanelOverlayElement*>(OverlayManager::getSingleton().createOverlayElement("Panel", getName() + "_navMarker")); 99 100 navMarker_->setMetricsMode(GMM_RELATIVE); 100 navMarker_->setDimensions(0.05f, 0.05f);101 101 navMarker_->setMaterialName("Orxonox/NavArrows"); 102 this->navMarkerSize_ = 0.05; 102 103 this->wasOutOfView_ = true; // just a to ensure the material is changed right the first time.. 103 104 … … 105 106 aimMarker_ = static_cast<PanelOverlayElement*>(OverlayManager::getSingleton().createOverlayElement("Panel", getName() + "_aimMarker")); 106 107 aimMarker_->setMetricsMode(GMM_RELATIVE); 107 aimMarker_->setDimensions(0.05f, 0.05f);108 108 aimMarker_->setMaterialName("Orxonox/NavCrosshair"); 109 this->aimMarkerSize_ = 0.04; 109 110 110 111 container_->addChild(navMarker_); … … 121 122 XMLPortParam(Navigation, "navmarkersize", setNavMarkerSize, getNavMarkerSize, xmlElement, mode); 122 123 XMLPortParam(Navigation, "aimmarkersize", setAimMarkerSize, getAimMarkerSize, xmlElement, mode); 123 } 124 125 void Navigation::setNavMarkerSize(Vector2 size) 126 { 127 if (this->navMarker_ && size.squaredLength() >= 0.0f) 128 this->navMarker_->setDimensions(size.x, size.y); 129 } 130 131 Vector2 Navigation::getNavMarkerSize() const 132 { 133 if (this->navMarker_) 134 return Vector2(navMarker_->getWidth(), navMarker_->getHeight()); 135 else 136 return Vector2::ZERO; 137 } 138 139 void Navigation::setAimMarkerSize(Vector2 size) 140 { 141 if (this->aimMarker_ && size.squaredLength() >= 0.0f) 142 this->aimMarker_->setDimensions(size.x, size.y); 143 } 144 145 Vector2 Navigation::getAimMarkerSize() const 146 { 147 if (this->aimMarker_) 148 return Vector2(aimMarker_->getWidth(), aimMarker_->getHeight()); 149 else 150 return Vector2::ZERO; 124 125 if (mode == XMLPort::LoadObject) 126 { 127 this->sizeChanged(); 128 } 129 } 130 131 void Navigation::setNavMarkerSize(float size) 132 { 133 this->navMarkerSize_ = size; 134 } 135 136 float Navigation::getNavMarkerSize() const 137 { 138 return this->navMarkerSize_; 139 } 140 141 void Navigation::setAimMarkerSize(float size) 142 { 143 this->aimMarkerSize_ = size; 144 } 145 146 float Navigation::getAimMarkerSize() const 147 { 148 return this->aimMarkerSize_; 151 149 } 152 150 … … 208 206 pos.x = -pos.x; 209 207 pos.y = -pos.y; 210 pos.z = -pos.z;211 208 } 212 209 else … … 366 363 } 367 364 368 void Navigation::windowResized(int newWidth, int newHeight) 369 { 370 HUDOverlay::windowResized(newWidth, newHeight); 371 372 //if (this->navMarker_) 373 // navMarker_->setDimensions(0.05, 0.05); 374 365 void Navigation::sizeChanged() 366 { 367 float xScale = this->getActualSize().x; 368 float yScale = this->getActualSize().y; 369 if (this->navMarker_) 370 navMarker_->setDimensions(navMarkerSize_ * xScale, navMarkerSize_ * yScale); 371 if (this->aimMarker_) 372 aimMarker_->setDimensions(aimMarkerSize_ * xScale, aimMarkerSize_ * yScale); 373 if (this->navText_) 374 navText_->setCharHeight(navText_->getCharHeight() * yScale); 375 375 } 376 376 }
Note: See TracChangeset
for help on using the changeset viewer.