Thumbnails rendering using OpenGL

This commit is contained in:
Jakub Melka
2019-12-15 16:45:49 +01:00
parent 1f09c83700
commit 618f334e5d
6 changed files with 277 additions and 7 deletions

View File

@ -52,6 +52,7 @@ PDFWidget::PDFWidget(RendererEngine engine, int samplesCount, QWidget* parent) :
connect(m_proxy, &PDFDrawWidgetProxy::renderingError, this, &PDFWidget::onRenderingError);
connect(m_proxy, &PDFDrawWidgetProxy::repaintNeeded, m_drawWidget->getWidget(), QOverload<>::of(&QWidget::update));
connect(m_proxy, &PDFDrawWidgetProxy::pageImageChanged, this, &PDFWidget::onPageImageChanged);
updateRendererImpl();
}
PDFWidget::~PDFWidget()
@ -92,6 +93,7 @@ void PDFWidget::updateRenderer(RendererEngine engine, int samplesCount)
openglDrawWidget->setFormat(format);
}
}
updateRendererImpl();
}
int PDFWidget::getPageRenderingErrorCount() const
@ -104,6 +106,12 @@ int PDFWidget::getPageRenderingErrorCount() const
return count;
}
void PDFWidget::updateRendererImpl()
{
PDFOpenGLDrawWidget* openglDrawWidget = qobject_cast<PDFOpenGLDrawWidget*>(m_drawWidget->getWidget());
m_proxy->updateRenderer(openglDrawWidget != nullptr, openglDrawWidget ? openglDrawWidget->format() : QSurfaceFormat::defaultFormat());
}
void PDFWidget::onRenderingError(PDFInteger pageIndex, const QList<PDFRenderError>& errors)
{
// Empty list of error should not be reported!