2013-01-14 00:29:42 +01:00
|
|
|
#include "qtemugl.h"
|
|
|
|
|
|
|
|
QtEmuGL::QtEmuGL(QWidget *parent) :
|
|
|
|
QGLWidget(parent),
|
|
|
|
running_(false),
|
|
|
|
thread()
|
|
|
|
{
|
|
|
|
setAutoBufferSwap(false);
|
|
|
|
}
|
|
|
|
|
|
|
|
void QtEmuGL::init(InputState *inputState)
|
|
|
|
{
|
2013-01-16 02:16:07 +10:00
|
|
|
thread.init(inputState);
|
2013-01-14 00:29:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
void QtEmuGL::SetRunning(bool value)
|
|
|
|
{
|
|
|
|
running_ = value;
|
|
|
|
}
|
|
|
|
|
|
|
|
void QtEmuGL::initializeGL()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
void QtEmuGL::paintGL()
|
|
|
|
{
|
|
|
|
update();
|
|
|
|
}
|
|
|
|
|
|
|
|
void QtEmuGL::start_rendering()
|
|
|
|
{
|
|
|
|
thread.start();
|
|
|
|
}
|
|
|
|
|
|
|
|
void QtEmuGL::stop_rendering()
|
|
|
|
{
|
|
|
|
thread.setRunning(false);
|
|
|
|
thread.wait();
|
|
|
|
thread.Shutdown();
|
|
|
|
}
|
|
|
|
|
2013-02-05 22:22:14 +01:00
|
|
|
void QtEmuGL::start_game(QString filename)
|
|
|
|
{
|
|
|
|
thread.startGame(filename);
|
|
|
|
}
|
|
|
|
|
|
|
|
void QtEmuGL::stop_game()
|
|
|
|
{
|
|
|
|
thread.stopGame();
|
|
|
|
}
|
|
|
|
|
|
|
|
void QtEmuGL::LockDraw(bool value)
|
|
|
|
{
|
|
|
|
if(value)
|
|
|
|
{
|
|
|
|
thread.gameMutex.lock();
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
thread.gameMutex.unlock();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2013-01-14 00:29:42 +01:00
|
|
|
void QtEmuGL::resizeEvent(QResizeEvent *evt)
|
|
|
|
{
|
|
|
|
// TODO
|
|
|
|
//glt.resizeViewport(evt->size());
|
|
|
|
}
|
|
|
|
|
|
|
|
void QtEmuGL::paintEvent(QPaintEvent *)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
void QtEmuGL::closeEvent(QCloseEvent *evt)
|
|
|
|
{
|
|
|
|
//TODO stopRendering();
|
|
|
|
QGLWidget::closeEvent(evt);
|
|
|
|
}
|