Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 6441 in orxonox.OLD for trunk/src/util


Ignore:
Timestamp:
Jan 8, 2006, 4:02:30 PM (19 years ago)
Author:
bensch
Message:

orxonox/trunk: the Hud now scales the Widgets itself

Location:
trunk/src/util
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/util/hud.cc

    r6440 r6441  
    1818#include "hud.h"
    1919
     20#include "state.h"
     21
    2022using namespace std;
    2123
     
    2931  this->setClassID(CL_HUD, "Hud");
    3032
    31 
     33  //this->setSize2D(
    3234  this->energyWidget = NULL;
    3335  this->shieldWidget = NULL;
    3436  this->armorWidget = NULL;
     37  this->resX = 1;
     38  this->resY = 1;
    3539}
    3640
     
    6771  {
    6872    this->energyWidget->show();
    69     this->energyWidget->setAbsCoor2D(10,80);
    70     this->energyWidget->setSize2D(20,300);
    7173  }
    7274
    73 
     75  this->updateResolution();
    7476}
    7577
     
    9496}
    9597
    96 void setResolution(unsigned int resX, unsigned int resY);
     98void Hud::updateResolution()
     99{
     100  this->resX = State::resX();
     101  this->resY = State::resY();
     102  if (this->energyWidget != NULL)
     103  {
     104    this->energyWidget->setAbsCoor2D(.02 * this->resX, .4 * this->resY);
     105    this->energyWidget->setSize2D(.05 * this->resX, .55 * this->resY);
     106  }
     107}
     108
     109
     110void Hud::tick(float dt)
     111{
     112  if (this->resY != State::resY() || this->resX != State::resY())
     113    this->updateResolution();
     114}
     115
     116void Hud::draw() const
     117{
     118  GLGuiWidget::draw();
     119}
     120
     121
  • trunk/src/util/hud.h

    r6438 r6441  
    1515
    1616//! A class that renders a HUD.
    17 class Hud : private GLGuiWidget
     17class Hud : public GLGuiWidget
    1818{
    1919
     
    2121  Hud();
    2222  virtual ~Hud();
     23
    2324
    2425  void loadParams(const TiXmlElement* root);
     
    3233  void removeWeaponWidget(GLGuiWidget* widget);
    3334
    34   void setResolution(unsigned int resX, unsigned int resY);
     35  void tick(float dt);
     36  void draw() const;
    3537
     38  private:
     39    void updateResolution();
    3640private:
    37   unsigned int             resX;          //!< The X-Resolution needed for resizing the Hud.
    38   unsigned int             resY;          //!< The Y-Resolution needed for resizing the Hud.
     41  unsigned int             resX;
     42  unsigned int             resY;
    3943
    4044  GLGuiWidget*             energyWidget;
  • trunk/src/util/state.cc

    r6222 r6441  
    3131ObjectManager* State::objectManager = NULL;
    3232
     33unsigned int State::_resX = 1;
     34unsigned int State::_resY = 1;
     35
    3336/**
    3437 *  sets camera and target of the current Camera
  • trunk/src/util/state.h

    r6222 r6441  
    3939  static inline ObjectManager* getObjectManager() { return State::objectManager; };
    4040
     41  static inline void setResolution(unsigned int resX, unsigned int resY) { State::_resX = resX; State::_resY = resY; };
     42  static inline unsigned int resX() { return State::_resX; };
     43  static inline unsigned int resY() { return State::_resY; };
     44
    4145  /////////////////////////
    4246  /// WORLD_ENTITY_LIST ///
     
    5155  static ObjectManager*         objectManager;      //!< A referenct to the current ObjectManager
    5256
     57  static unsigned int           _resX;              //!< The X Resolution of the screen.
     58  static unsigned int           _resY;              //!< The Y Resolution of the screen.
    5359};
    5460
Note: See TracChangeset for help on using the changeset viewer.