cThumbnailWidget::cThumbnailWidget(int _width, int _height, int _oversample, QWidget *parent) : QWidget(parent) { tWidth = _width; tHeight = _height; oversample = _oversample; image = new cImage(tWidth * oversample, tHeight * oversample); image->CreatePreview(1.0/oversample, tWidth, tWidth, this); progressBar = NULL; setFixedWidth(tWidth); setFixedHeight(tHeight); stopRequest = false; isRendered = false; hasParameters = false; disableTimer = false; disableThumbnailCache = false; connect(this, SIGNAL(renderRequest()), this, SLOT(slotRender())); params = new cParameterContainer; fractal = new cFractalContainer; useOneCPUCore = false; timer = new QTimer(parent); timer->setSingleShot(true); connect(timer, SIGNAL(timeout()), this, SLOT(slotRandomRender())); lastRenderTime = 0.0; instanceIndex = instanceCount; instanceCount++; //qDebug() << "cThumbnailWidget constructed" << instanceCount; }
void cThumbnailWidget::Init(QWidget *parent) { image = nullptr; tWidth = 0; tHeight = 0; oversample = 0; progressBar = nullptr; stopRequest = false; isRendered = false; hasParameters = false; disableTimer = false; disableThumbnailCache = false; connect(this, SIGNAL(renderRequest()), this, SLOT(slotRender())); params = new cParameterContainer; fractal = new cFractalContainer; useOneCPUCore = false; timer = new QTimer(parent); timer->setSingleShot(true); connect(timer, SIGNAL(timeout()), this, SLOT(slotRandomRender())); lastRenderTime = 0.0; instanceIndex = instanceCount; instanceCount++; // qDebug() << "cThumbnailWidget constructed" << instanceCount; }
void cThumbnailWidget::slotRandomRender() { if (cRenderJob::GetRunningJobCount() > systemData.numberOfThreads) { //if it's to busy, render later timer->start(Random(100000) * 10 + 1); } else { isRendered = true; slotRender(); } }