#include "glwidget.h"
#include "qwidget.h"
#include "ui_widget.h"
#include "QTOPENGL\glu.h"
#include <QtGui>
#include <QtOpenGL>
/*
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
*/
NeHeWidget::NeHeWidget(QGLWidget *parent,bool fs):
QGLWidget(parent)
// ui(new Ui::NeHeWidget)
{
// ui->setupUi(this);
fullscreen=fs;
setGeometry(100,200,640,480);
setWindowTitle("NeHe'OpenGL Framework");
if(fullscreen)
showFullScreen();
}
NeHeWidget::~NeHeWidget()
{
// delete ui;
}
void NeHeWidget::initializeGL()
{
glClearColor(0.5,0.5,0.0,0.0);
glShadeModel(GL_SMOOTH);
glClearDepth(1.0);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST);
}
void NeHeWidget::paintGL()
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BITS);
glLoadIdentity();
glBegin(GL_TRIANGLES);
glColor3f(1.0,0.0,0.0);
glVertex3f(0.0,1.0,0.0);
glVertex3f(-1.0,-1.0,0.0);
glVertex3f(1.0,-1.0,0.0);
glEnd();
}
void NeHeWidget::resizeGL(int width, int height)
{
if(height==0)
{
height=1;
}
glViewport(0,0,(GLint)width,(GLint)height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0,(GLfloat)width/(GLfloat)height,0.1,100.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void NeHeWidget::keyPressEvent(QKeyEvent*e)
{
switch(e->key())
{
case Qt::Key_F2:
fullscreen=!fullscreen;
if(fullscreen)
{
showFullScreen();
}
else
{
showNormal();
setGeometry(100,200,640,480);
}
updateGL();
break;
case Qt::Key_Escape:
close();
}
}