diff options
Diffstat (limited to 'examples/opengl/overlay/glteapots.h')
-rw-r--r-- | examples/opengl/overlay/glteapots.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/examples/opengl/overlay/glteapots.h b/examples/opengl/overlay/glteapots.h new file mode 100644 index 0000000..11f4bef --- /dev/null +++ b/examples/opengl/overlay/glteapots.h @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved. +** +** This file is part of an example program for Qt. This example +** program may be used, distributed and modified without limitation. +** +*****************************************************************************/ + +/**************************************************************************** +** +** This is a QGLWidget displaying a group of teapots and a rubber-band +** in an overlay plane +** +****************************************************************************/ + +#ifndef GLBOX_H +#define GLBOX_H + +#include <qgl.h> + + +class GLTeapots : public QGLWidget +{ + Q_OBJECT + +public: + + GLTeapots( QWidget* parent, const char* name ); + ~GLTeapots(); + +protected: + + void initializeGL(); + void paintGL(); + void resizeGL( int w, int h ); + + void initializeOverlayGL(); + void paintOverlayGL(); + void resizeOverlayGL( int w, int h ); + + void mousePressEvent( QMouseEvent* e ); + void mouseMoveEvent( QMouseEvent* e ); + void mouseReleaseEvent( QMouseEvent* e ); + + void renderTeapot( GLfloat x, GLfloat y, GLfloat ambr, + GLfloat ambg, GLfloat ambb, GLfloat difr, + GLfloat difg, GLfloat difb, + GLfloat specr, GLfloat specg, + GLfloat specb, GLfloat shine ); + + void teapot(); + +private: + GLuint teapotList; + QPoint rubberP1; + QPoint rubberP2; + bool rubberOn; +}; + + +#endif // GLBOX_H |