diff options
author | kintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c> | 2009-12-09 14:23:22 (GMT) |
---|---|---|
committer | kintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c> | 2009-12-09 14:23:22 (GMT) |
commit | c8baf2b227a23b1361a4fa160ef1c183ef24f431 (patch) | |
tree | 86db0274562d87b451dc81a11d9ac3fe1b95e8e9 /GLView.h | |
parent | e7f0df6313dcbc212bfbfc776c236c9d054e37ff (diff) |
Extracted GLView.h from openscad.h
git-svn-id: http://svn.clifford.at/openscad/trunk@154 b57f626f-c46c-0410-a088-ec61d464b74c
Diffstat (limited to 'GLView.h')
-rw-r--r-- | GLView.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/GLView.h b/GLView.h new file mode 100644 index 0000000..ca269ce --- /dev/null +++ b/GLView.h @@ -0,0 +1,66 @@ +#ifndef GLVIEW_H_ +#define GLVIEW_H_ + +#ifdef ENABLE_OPENCSG +// this must be included before the GL headers +# include <GL/glew.h> +#endif + +#include <QGLWidget> +#include <QLabel> + +class GLView : public QGLWidget +{ + Q_OBJECT + +public: + void (*renderfunc)(void*); + void *renderfunc_vp; + + bool orthomode; + bool showaxes; + bool showcrosshairs; + + double viewer_distance; + double object_rot_x; + double object_rot_y; + double object_rot_z; + double object_trans_x; + double object_trans_y; + double object_trans_z; + + double w_h_ratio; + GLint shaderinfo[11]; + + QLabel *statusLabel; +#ifdef ENABLE_OPENCSG + bool opencsg_support; +#endif + + GLView(QWidget *parent = NULL); + +protected: + bool mouse_drag_active; + int last_mouse_x; + int last_mouse_y; + + void keyPressEvent(QKeyEvent *event); + void wheelEvent(QWheelEvent *event); + void mousePressEvent(QMouseEvent *event); + void mouseMoveEvent(QMouseEvent *event); + void mouseReleaseEvent(QMouseEvent *event); + + void initializeGL(); + void resizeGL(int w, int h); + void paintGL(); + +#ifdef ENABLE_OPENCSG +private slots: + void display_opengl20_warning(); +#endif + +signals: + void doAnimateUpdate(); +}; + +#endif |