summaryrefslogtreecommitdiffstats
path: root/examples/demo/opengl/glcontrolwidget.h
diff options
context:
space:
mode:
Diffstat (limited to 'examples/demo/opengl/glcontrolwidget.h')
-rw-r--r--examples/demo/opengl/glcontrolwidget.h56
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