#ifndef GAME_SCREEN_VIEW_H
#define GAME_SCREEN_VIEW_H


#include <QGLWidget>
#include <ctime>
#include "GameScreen.h"
#include "GameAudio.h"
#include "SystemInformation.h"


class GameScreenView : public QGLWidget
{
public:
    GameScreenView();
    ~GameScreenView();

    void initializeGL() override;
    void paintGL() override;
    void keyPressEvent(QKeyEvent *event) override;
    void mouseMoveEvent(QMouseEvent *event) override;
    void mousePressEvent(QMouseEvent *event) override;
    void mouseReleaseEvent(QMouseEvent *event) override;

private:
    GameAudioRenderer m_audio;
    GameScreen        m_gameScreen;
    struct timespec   m_lastFrameTime;
    SystemInformation m_sysInfo;
};


#endif // GAME_SCREEN_VIEW_H

