paysages3d/src/interface/desktop/dialogrender.h

57 lines
1.1 KiB
C++

#ifndef _PAYSAGES_QT_DIALOGRENDER_H_
#define _PAYSAGES_QT_DIALOGRENDER_H_
#include "desktop_global.h"
#include <ctime>
#include <QDialog>
class QThread;
class QProgressBar;
class QSlider;
class QComboBox;
class QLabel;
class QScrollArea;
class QMutex;
class DialogRender : public QDialog
{
Q_OBJECT
public:
explicit DialogRender(QWidget *parent, SoftwareCanvasRenderer *renderer);
~DialogRender();
void tellRenderEnded();
void startRender();
void loadLastRender();
virtual void timerEvent(QTimerEvent *event) override;
QImage* pixbuf;
QMutex* pixbuf_lock;
private slots:
void saveRender();
void applyRenderEnded();
void toneMappingChanged();
signals:
void renderEnded();
private:
SoftwareCanvasRenderer* canvas_renderer;
WidgetPreviewCanvas* canvas_preview;
QWidget* _info;
QWidget* _actions;
QComboBox* _tonemapping_control;
QSlider* _exposure_control;
QPushButton* _save_button;
QThread* _render_thread;
QLabel* _timer;
QProgressBar* _progress;
time_t _started;
};
#endif