]> Shamusworld >> Repos - virtualjaguar/blob - src/gui/glwidget.h
Various changes to improve code readability, added mouse hiding.
[virtualjaguar] / src / gui / glwidget.h
1 // Implementation of OpenGL widget using Qt
2 //
3 // by James Hammons
4 // (C) 2010 Underground Software
5
6 #ifndef __GLWIDGET_H__
7 #define __GLWIDGET_H__
8
9 #include <QtGui>
10 #include <QGLWidget>
11
12 class GLWidget: public QGLWidget
13 {
14         Q_OBJECT
15
16         public:
17                 GLWidget(QWidget * parent = 0);
18                 ~GLWidget();
19
20 //              void HideMouseIfTimedOut(void);
21                 void HandleMouseHiding(void);
22                 void CheckAndRestoreMouseCursor(void);
23 //              QSize minimumSizeHint() const;
24 //              QSize sizeHint() const;
25
26 //      signals:
27 //              void clicked();
28
29         protected:
30                 void initializeGL(void);
31                 void paintGL(void);
32                 void resizeGL(int width, int height);
33                 void mouseMoveEvent(QMouseEvent *);
34 //              void mousePressEvent(QMouseEvent * event);
35 //              void mouseReleaseEvent(QMouseEvent * event);
36
37         private:
38                 void CreateTextures(void);
39
40         public:
41                 GLuint texture;
42                 int textureWidth, textureHeight;
43
44                 uint32_t * buffer;
45                 unsigned rasterWidth, rasterHeight;
46
47                 bool synchronize;
48                 unsigned filter;
49                 int offset;
50                 bool fullscreen;
51                 int outputWidth;
52                 int32_t hideMouseTimeout;
53 };
54
55 #endif  // __GLWIDGET_H__