aboutsummaryrefslogtreecommitdiff
path: root/src/frontend/qt_sdl/main.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/qt_sdl/main.h')
-rw-r--r--src/frontend/qt_sdl/main.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/frontend/qt_sdl/main.h b/src/frontend/qt_sdl/main.h
index a244907..8a8c041 100644
--- a/src/frontend/qt_sdl/main.h
+++ b/src/frontend/qt_sdl/main.h
@@ -24,7 +24,12 @@
#include <QMainWindow>
#include <QImage>
#include <QActionGroup>
+
#include <QOpenGLWidget>
+#include <QOpenGLContext>
+#include <QOpenGLFunctions>
+#include <QOpenGLFunctions_3_2_Core>
+#include <QOpenGLShaderProgram>
class EmuThread : public QThread
@@ -115,7 +120,7 @@ private:
};
-class ScreenPanelGL : public QOpenGLWidget, public ScreenHandler
+class ScreenPanelGL : public QOpenGLWidget, public ScreenHandler, protected QOpenGLFunctions_3_2_Core
{
Q_OBJECT
@@ -124,9 +129,12 @@ public:
~ScreenPanelGL();
protected:
- void paintEvent(QPaintEvent* event) override;
+ void initializeGL() override;
+
+ void paintGL() override;
void resizeEvent(QResizeEvent* event) override;
+ void resizeGL(int w, int h) override;
void mousePressEvent(QMouseEvent* event) override;
void mouseReleaseEvent(QMouseEvent* event) override;
@@ -138,7 +146,10 @@ private slots:
private:
void setupScreenLayout();
- //
+ QOpenGLShaderProgram* screenShader;
+ GLuint screenVertexBuffer;
+ GLuint screenVertexArray;
+ GLuint screenTexture;
};