goat3d
annotate goatview/src/goatview.h @ 83:57e745dd13c2
almost working
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Mon, 12 May 2014 07:22:52 +0300 |
parents | 70b7c41a4f17 |
children | 91e3aa1a60c3 |
rev | line source |
---|---|
nuclear@73 | 1 #ifndef GOATVIEW_H_ |
nuclear@73 | 2 #define GOATVIEW_H_ |
nuclear@73 | 3 |
nuclear@75 | 4 #include <QtCore/QtCore> |
nuclear@73 | 5 #include <QtWidgets/QtWidgets> |
nuclear@73 | 6 #include <QtOpenGL/QGLWidget> |
nuclear@74 | 7 #include "goat3d.h" |
nuclear@74 | 8 |
nuclear@74 | 9 extern goat3d *scene; |
nuclear@73 | 10 |
nuclear@82 | 11 class GoatViewport; |
nuclear@76 | 12 |
nuclear@73 | 13 class GoatView : public QMainWindow { |
nuclear@83 | 14 private: |
nuclear@73 | 15 Q_OBJECT |
nuclear@83 | 16 |
nuclear@82 | 17 GoatViewport *glview; |
nuclear@82 | 18 QTreeWidget *scntree; |
nuclear@82 | 19 |
nuclear@75 | 20 void closeEvent(QCloseEvent *ev); |
nuclear@73 | 21 bool make_menu(); |
nuclear@73 | 22 bool make_dock(); |
nuclear@73 | 23 bool make_center(); |
nuclear@73 | 24 |
nuclear@73 | 25 private slots: |
nuclear@73 | 26 void open_scene(); |
nuclear@73 | 27 void open_anim(); |
nuclear@73 | 28 |
nuclear@73 | 29 public: |
nuclear@73 | 30 GoatView(); |
nuclear@73 | 31 ~GoatView(); |
nuclear@82 | 32 |
nuclear@82 | 33 bool load_scene(const char *fname); |
nuclear@83 | 34 |
nuclear@83 | 35 void show_about(); |
nuclear@73 | 36 }; |
nuclear@73 | 37 |
nuclear@73 | 38 class GoatViewport : public QGLWidget { |
nuclear@82 | 39 private: |
nuclear@73 | 40 Q_OBJECT |
nuclear@82 | 41 |
nuclear@82 | 42 QWidget *main_win; |
nuclear@82 | 43 bool initialized; |
nuclear@82 | 44 |
nuclear@73 | 45 public: |
nuclear@82 | 46 GoatViewport(QWidget *main_win); |
nuclear@73 | 47 ~GoatViewport(); |
nuclear@73 | 48 |
nuclear@73 | 49 QSize sizeHint() const; |
nuclear@73 | 50 |
nuclear@73 | 51 void initializeGL(); |
nuclear@73 | 52 void resizeGL(int xsz, int ysz); |
nuclear@73 | 53 void paintGL(); |
nuclear@78 | 54 |
nuclear@83 | 55 void toggle_lighting(); |
nuclear@83 | 56 |
nuclear@78 | 57 void mousePressEvent(QMouseEvent *ev); |
nuclear@78 | 58 void mouseMoveEvent(QMouseEvent *ev); |
nuclear@73 | 59 }; |
nuclear@73 | 60 |
nuclear@73 | 61 #endif // GOATVIEW_H_ |