Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/lib/gui/gl_gui/glgui_bar.cc @ 8035

Last change on this file since 8035 was 8035, checked in by bensch, 18 years ago

gui: merged the gui back to the trunk

File size: 1.5 KB
Line 
1/*
2   orxonox - the future of 3D-vertical-scrollers
3
4   Copyright (C) 2004 orx
5
6   This program is free software; you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 2, or (at your option)
9   any later version.
10
11   ### File Specific:
12   main-programmer: Benjamin Grauer
13   co-programmer: ...
14*/
15
16#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_GUI
17
18#include "glgui_bar.h"
19
20
21namespace OrxGui
22{
23
24  /**
25   * @brief standard constructor
26  */
27  GLGuiBar::GLGuiBar ()
28  {
29    this->init();
30
31  }
32
33
34  /**
35   * @brief standard deconstructor
36   */
37  GLGuiBar::~GLGuiBar()
38  {
39  }
40
41  /**
42   * @brief initializes the GUI-element
43   */
44  void GLGuiBar::init()
45  {
46    this->setClassID(CL_GLGUI_BAR, "GLGuiBar");
47
48    this->frontMaterial().setDiffuse(1,1,1);
49
50    this->setSize2D(50, 10);
51
52    this->value = 0.5f;
53    this->minimum = 0.0f;
54    this->maximum = 1.0f;
55  }
56
57  /**
58   * @brief draws the GLGuiBar
59   */
60  void GLGuiBar::draw() const
61  {
62    this->beginDraw();
63
64    GLGuiWidget::draw();
65
66    this->frontMaterial().select();
67    glBegin(GL_QUADS);
68
69    glTexCoord2f(0,0);
70    glVertex2f(3.0, 3.0);
71    glTexCoord2f(0, value/maximum);
72    glVertex2f(3.0, (this->getSizeY2D()-3.0)* (value/maximum));
73    glTexCoord2f(1, value/maximum);
74    glVertex2f(this->getSizeX2D()-3.0, (this->getSizeY2D()-3.0) * (value/maximum));
75    glTexCoord2f(1,0);
76    glVertex2f(this->getSizeX2D()-3.0, 3.0);
77
78    glEnd();
79    this->endDraw();
80  }
81}
Note: See TracBrowser for help on using the repository browser.