goat3d

annotate goatview/src/goatview.h @ 88:7941e89798e5

selections
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 15 May 2014 06:52:01 +0300
parents 91e3aa1a60c3
children 8b156bc5205b
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@85 8 #include "scenemodel.h"
nuclear@74 9
nuclear@88 10 void post_redisplay();
nuclear@88 11
nuclear@74 12 extern goat3d *scene;
nuclear@73 13
nuclear@82 14 class GoatViewport;
nuclear@76 15
nuclear@73 16 class GoatView : public QMainWindow {
nuclear@83 17 private:
nuclear@73 18 Q_OBJECT
nuclear@83 19
nuclear@82 20 GoatViewport *glview;
nuclear@85 21 QTreeView *treeview;
nuclear@85 22 SceneModel *scene_model;
nuclear@82 23
nuclear@75 24 void closeEvent(QCloseEvent *ev);
nuclear@73 25 bool make_menu();
nuclear@73 26 bool make_dock();
nuclear@73 27 bool make_center();
nuclear@73 28
nuclear@73 29 private slots:
nuclear@73 30 void open_scene();
nuclear@73 31 void open_anim();
nuclear@73 32
nuclear@73 33 public:
nuclear@73 34 GoatView();
nuclear@73 35 ~GoatView();
nuclear@82 36
nuclear@82 37 bool load_scene(const char *fname);
nuclear@83 38
nuclear@83 39 void show_about();
nuclear@73 40 };
nuclear@73 41
nuclear@73 42 class GoatViewport : public QGLWidget {
nuclear@82 43 private:
nuclear@73 44 Q_OBJECT
nuclear@82 45
nuclear@82 46 QWidget *main_win;
nuclear@82 47 bool initialized;
nuclear@82 48
nuclear@73 49 public:
nuclear@82 50 GoatViewport(QWidget *main_win);
nuclear@73 51 ~GoatViewport();
nuclear@73 52
nuclear@73 53 QSize sizeHint() const;
nuclear@73 54
nuclear@73 55 void initializeGL();
nuclear@73 56 void resizeGL(int xsz, int ysz);
nuclear@73 57 void paintGL();
nuclear@78 58
nuclear@83 59 void toggle_lighting();
nuclear@83 60
nuclear@78 61 void mousePressEvent(QMouseEvent *ev);
nuclear@78 62 void mouseMoveEvent(QMouseEvent *ev);
nuclear@73 63 };
nuclear@73 64
nuclear@73 65 #endif // GOATVIEW_H_