Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/cd/src/lib/gui/gl_gui/glgui_bar.cc @ 7422

Last change on this file since 7422 was 7073, checked in by bensch, 19 years ago

bar gets rendered correctly

File size: 1.4 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
20using namespace std;
21
22/**
23 * @brief standard constructor
24*/
25GLGuiBar::GLGuiBar ()
26{
27  this->init();
28
29}
30
31
32/**
33 * @brief standard deconstructor
34 */
35GLGuiBar::~GLGuiBar()
36{
37
38}
39
40/**
41 * @brief initializes the GUI-element
42 */
43void GLGuiBar::init()
44{
45  this->setClassID(CL_GLGUI_BAR, "GLGuiBar");
46
47  this->frontMat.setDiffuse(1,1,1);
48
49  this->setSize2D(50, 10);
50
51  this->value = 0.5f;
52  this->minimum = 0.0f;
53  this->maximum = 1.0f;
54}
55
56/**
57 * @brief draws the GLGuiBar
58 */
59void GLGuiBar::draw() const
60{
61  this->startDraw();
62
63  GLGuiWidget::draw();
64
65  this->frontMat.select();
66  glBegin(GL_QUADS);
67
68  glTexCoord2f(0,0);
69  glVertex2f(3.0, 3.0);
70  glTexCoord2f(0, value/maximum);
71  glVertex2f(3.0, (this->getSizeY2D()-3.0)* (value/maximum));
72  glTexCoord2f(1, value/maximum);
73  glVertex2f(this->getSizeX2D()-3.0, (this->getSizeY2D()-3.0) * (value/maximum));
74  glTexCoord2f(1,0);
75  glVertex2f(this->getSizeX2D()-3.0, 3.0);
76
77  glEnd();
78  this->endDraw();
79}
Note: See TracBrowser for help on using the repository browser.