diff options
Diffstat (limited to 'examples/demo/opengl/glcontrolwidget.h')
-rw-r--r-- | examples/demo/opengl/glcontrolwidget.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/examples/demo/opengl/glcontrolwidget.h b/examples/demo/opengl/glcontrolwidget.h new file mode 100644 index 000000000..7a1b6174b --- /dev/null +++ b/examples/demo/opengl/glcontrolwidget.h @@ -0,0 +1,56 @@ +#ifndef GLCONTROLWIDGET_H +#define GLCONTROLWIDGET_H + +#include <qgl.h> + +class GLControlWidget : public TQGLWidget +{ + Q_OBJECT + +public: + GLControlWidget( TQWidget *parent, const char *name = 0, TQGLWidget *share = 0, WFlags f = 0 ); + + virtual void transform(); + +public slots: + void setXRotation( double degrees ); + void setYRotation( double degrees ); + void setZRotation( double degrees ); + + void setScale( double s ); + + void setXTrans( double x ); + void setYTrans( double y ); + void setZTrans( double z ); + + virtual void setRotationImpulse( double x, double y, double z ); + virtual void setTranslationImpulse( double x, double y, double z ); + void drawText(); + +protected: + void setAnimationDelay( int ms ); + void mousePressEvent( TQMouseEvent *e ); + void mouseReleaseEvent( TQMouseEvent *e ); + void mouseMoveEvent( TQMouseEvent * ); + void mouseDoubleClickEvent( TQMouseEvent * ); + void wheelEvent( TQWheelEvent * ); + + void showEvent( TQShowEvent * ); + void hideEvent( TQHideEvent * ); + + GLfloat xRot, yRot, zRot; + GLfloat xTrans, yTrans, zTrans; + GLfloat scale; + bool animation; + +protected slots: + virtual void animate(); + +private: + bool wasAnimated; + TQPoint oldPos; + TQTimer* timer; + int delay; +}; + +#endif |