paysages3d/src/interface/modeler/quickapp/RenderProcess.h

73 lines
1.3 KiB
C
Raw Normal View History

2014-09-09 15:56:52 +00:00
#ifndef RENDERPROCESS_H
#define RENDERPROCESS_H
#include "modeler_global.h"
#include <QObject>
namespace paysages {
namespace modeler {
class RenderProcess: public QObject
{
Q_OBJECT
public:
2015-07-22 17:23:22 +00:00
RenderProcess(MainModelerWindow *window, RenderPreviewProvider *destination);
2014-09-09 15:56:52 +00:00
virtual ~RenderProcess();
/**
* Start the rendering process in a separate thread.
*/
void startRender(Scenery *scenery, const RenderConfig &config);
/**
* Stop any currently running render.
*/
void stopRender();
/**
* Get the size of the preview image.
*/
const QSize getPreviewSize();
inline bool isRendering() const {return rendering;}
public slots:
/**
* Start a quick render.
*/
void startQuickRender();
/**
* Start a medium render.
*/
void startMediumRender();
/**
* Start a final render.
*/
void startFinalRender();
/**
* Show the previous rendering.
*/
void showPreviousRender();
2014-09-09 15:56:52 +00:00
protected:
virtual void timerEvent(QTimerEvent *event) override;
private:
2015-07-22 17:23:22 +00:00
MainModelerWindow *window;
2014-09-09 15:56:52 +00:00
RenderPreviewProvider *destination;
bool has_render;
2014-09-09 15:56:52 +00:00
bool rendering;
SoftwareCanvasRenderer *renderer;
Thread *render_thread;
};
}
}
#endif // RENDERPROCESS_H