diff -r 11202097584f -r 745c73e0e644 qmlfrontend/gameview.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qmlfrontend/gameview.h Tue Nov 06 17:00:35 2018 +0100 @@ -0,0 +1,51 @@ +#ifndef GAMEVIEW_H +#define GAMEVIEW_H + +#include + +#include +#include + +class GameViewRenderer : public QObject, protected QOpenGLFunctions { + Q_OBJECT + public: + GameViewRenderer() : m_delta(0) {} + ~GameViewRenderer(); + + void tick(quint32 delta) { m_delta = delta; } + void setViewportSize(const QSize& size); + + public slots: + void paint(); + + private: + quint32 m_delta; +}; + +class GameView : public QQuickItem { + Q_OBJECT + + public: + GameView(); + + Q_INVOKABLE void tick(quint32 delta); + + signals: + void tChanged(); + + public slots: + void sync(); + void cleanup(); + + private slots: + void handleWindowChanged(QQuickWindow* win); + + private: + quint32 m_delta; + GameViewRenderer* m_renderer; + bool m_windowChanged; + qint32 m_centerX; + qint32 m_centerY; +}; + +#endif // GAMEVIEW_H