Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
May 17, 2008, 3:05:27 PM (17 years ago)
Author:
FelixSchulthess
Message:

added speedometer.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/hud3/src/orxonox/hud/BarOverlayElement.cc

    r1283 r1314  
    2929#include <OgreOverlayElement.h>
    3030#include <OgrePanelOverlayElement.h>
    31 
    32 
     31#include "GraphicsEngine.h"
    3332#include "BarOverlayElement.h"
    3433
     
    5150
    5251
    53     void BarOverlayElement::initBarOverlayElement(Real left, Real top, Real width, Real height,
    54        int dir,  int colour){
    55          setMetricsMode(Ogre::GMM_PIXELS);
    56          dir_ = dir;
    57          left_ = left;
    58          top_ = top;
    59          width_ = width;
    60          height_ = height;
    61          setPosition(left_,top_);
    62          setDimensions(width_,height_);
    63          setColour(colour);
     52    void BarOverlayElement::initBarOverlayElement(Real leftRel, Real topRel, Real widthRel, Real heightRel, int dir,  int colour){
     53        windowW_ = GraphicsEngine::getSingleton().getWindowWidth();
     54        windowH_ = GraphicsEngine::getSingleton().getWindowHeight();
     55
     56        dir_ = dir;
     57        leftRel_ = leftRel;
     58        topRel_ = topRel;
     59        widthRel_ = widthRel;
     60        heightRel_ = heightRel;
     61
     62        left_ = leftRel_ * windowW_;
     63        top_ = topRel_ * windowH_;
     64        width_ = widthRel_ * windowW_;
     65        height_ = heightRel_ * windowH_;
     66
     67        setMetricsMode(Ogre::GMM_PIXELS);
     68        setPosition(left_,top_);
     69        setDimensions(width_,height_);
     70        setColour(colour);
    6471    }
    6572
    6673
    6774   void BarOverlayElement::reset(int percentage){
    68       switch(dir_){
     75        switch(dir_){
    6976        case 1:
    70           setPosition(left_,top_);
    71           setDimensions(width_,height_*percentage/100);
    72           break;
    73         case 2:
    74           setPosition(left_+width_-width_*percentage/100,top_);
    75           setDimensions(width_*percentage/100,height_);
    76           break;
    77         case 3:
    78           setPosition(left_,top_+height_-height_*percentage/100);
    79           setDimensions(width_,height_*percentage/100);
    80           break;
    81         default:
    82           setPosition(left_,top_);
    83           setDimensions(width_*percentage/100,height_);
    84       }
     77            setPosition(left_,top_);
     78            setDimensions(width_,height_*percentage/100);
     79            break;
     80        case 2:
     81            setPosition(left_+width_-width_*percentage/100,top_);
     82            setDimensions(width_*percentage/100,height_);
     83            break;
     84        case 3:
     85            setPosition(left_,top_+height_-height_*percentage/100);
     86            setDimensions(width_,height_*percentage/100);
     87            break;
     88        default:
     89            setPosition(left_,top_);
     90            setDimensions(width_*percentage/100,height_);
     91        }
    8592    }
    86        
    87        
     93
     94
    8895    void BarOverlayElement::setColour(int colour){
    89       switch(colour){
    90         case 0:
    91           setMaterialName("Orxonox/Red");
    92           break;
    93         case 1:
    94           setMaterialName("Orxonox/Yellow");
    95           break;
    96         case 2:
    97           setMaterialName("Orxonox/Green");
    98       }
     96        switch(colour){
     97        case 0:
     98            setMaterialName("Orxonox/Red");
     99            break;
     100        case 1:
     101            setMaterialName("Orxonox/Yellow");
     102            break;
     103        case 2:
     104            setMaterialName("Orxonox/Green");
     105        }
    99106    }
    100107
     
    103110
    104111    SmartBarOverlayElement::~SmartBarOverlayElement(void){}
    105    
    106    
     112
     113
    107114    void SmartBarOverlayElement::initialise(){
    108115      PanelOverlayElement::initialise();
     
    112119      setMetricsMode(Ogre::GMM_PIXELS);
    113120*/  }
    114    
     121
    115122    void SmartBarOverlayElement::initSmartBarOverlayElement(Real left, Real top, Real width, Real height, int dir)
    116123    {
Note: See TracChangeset for help on using the changeset viewer.