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 | |
parent | e7f0df6313dcbc212bfbfc776c236c9d054e37ff (diff) |
Extracted GLView.h from openscad.h
git-svn-id: http://svn.clifford.at/openscad/trunk@154 b57f626f-c46c-0410-a088-ec61d464b74c
-rw-r--r-- | GLView.h | 66 | ||||
-rw-r--r-- | glview.cc | 4 |
2 files changed, 69 insertions, 1 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 @@ -19,11 +19,13 @@ */ #include "openscad.h" +#include "GLView.h" #include <QApplication> #include <QWheelEvent> #include <QMouseEvent> #include <QMessageBox> +#include <QTimer> #define FAR_FAR_AWAY 100000.0 @@ -459,7 +461,7 @@ void GLView::mouseMoveEvent(QMouseEvent *event) object_trans_z += tm[11]; } updateGL(); - doAnimateUpdate(); + emit doAnimateUpdate(); } last_mouse_x = this_mouse_x; last_mouse_y = this_mouse_y; |