Editor plugin: Color convertor

This commit is contained in:
Jakub Melka
2024-06-21 18:34:06 +02:00
parent c52e487b04
commit 1ffd5c6a16
28 changed files with 200 additions and 88 deletions

View File

@ -784,6 +784,11 @@ void PDFDrawWidgetProxy::drawPages(QPainter* painter, QRect rect, PDFRenderer::F
// Use current paper color (it can be a bit different from white)
QColor paperColor = getPaperColor();
// Color management system
PDFCMSPointer cms = getCMSManager()->getCurrentCMS();
PDFColorConvertor convertor = cms->getColorConvertor();
PDFRenderer::applyFeaturesToColorConvertor(features, convertor);
// Iterate trough pages and display them on the painter device
for (const LayoutItem& item : m_layout.items)
{
@ -879,7 +884,7 @@ void PDFDrawWidgetProxy::drawPages(QPainter* painter, QRect rect, PDFRenderer::F
for (IDocumentDrawInterface* drawInterface : m_drawInterfaces)
{
painter->save();
drawInterface->drawPage(painter, item.pageIndex, compiledPage, layoutGetter, matrix, drawInterfaceErrors);
drawInterface->drawPage(painter, item.pageIndex, compiledPage, layoutGetter, matrix, convertor, drawInterfaceErrors);
painter->restore();
}
}
@ -1623,6 +1628,7 @@ void IDocumentDrawInterface::drawPage(QPainter* painter,
const PDFPrecompiledPage* compiledPage,
PDFTextLayoutGetter& layoutGetter,
const QTransform& pagePointToDevicePointMatrix,
const pdf::PDFColorConvertor& convertor,
QList<PDFRenderError>& errors) const
{
Q_UNUSED(painter);
@ -1630,6 +1636,7 @@ void IDocumentDrawInterface::drawPage(QPainter* painter,
Q_UNUSED(compiledPage);
Q_UNUSED(layoutGetter);
Q_UNUSED(pagePointToDevicePointMatrix);
Q_UNUSED(convertor);
Q_UNUSED(errors);
}