You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
856 B
54 lines
856 B
#pragma once
|
|
|
|
#include <QWidget>
|
|
#include <QTimer>
|
|
#include <QGuiApplication>
|
|
#include <QOpenGLWidget>
|
|
#include <QOpenGLFunctions>
|
|
#include <QStackedLayout>
|
|
|
|
#include "ui/ui.hpp"
|
|
|
|
class MainWindow : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit MainWindow(QWidget *parent = 0);
|
|
|
|
private:
|
|
QStackedLayout *main_layout;
|
|
|
|
public slots:
|
|
void openSettings();
|
|
void closeSettings();
|
|
|
|
};
|
|
|
|
|
|
class GLWindow : public QOpenGLWidget, protected QOpenGLFunctions
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
using QOpenGLWidget::QOpenGLWidget;
|
|
explicit GLWindow(QWidget *parent = 0);
|
|
~GLWindow();
|
|
|
|
protected:
|
|
void mousePressEvent(QMouseEvent *e) override;
|
|
void initializeGL() override;
|
|
void resizeGL(int w, int h) override;
|
|
void paintGL() override;
|
|
|
|
|
|
private:
|
|
QTimer * timer;
|
|
UIState * ui_state;
|
|
|
|
public slots:
|
|
void timerUpdate();
|
|
|
|
signals:
|
|
void openSettings();
|
|
};
|
|
|