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_