Output preview widget (first part)

This commit is contained in:
Jakub Melka
2021-03-27 16:06:07 +01:00
parent 40bbdd531a
commit 019637f9f2
10 changed files with 485 additions and 37 deletions

View File

@ -989,12 +989,13 @@ void PDFTransparencyRenderer::beginPaint(QSize pixelSize)
Q_ASSERT(m_deviceColorSpace);
Q_ASSERT(m_processColorSpace);
m_originalProcessBitmap = PDFFloatBitmapWithColorSpace();
m_transparencyGroupDataStack.clear();
m_painterStateStack.push(PDFTransparencyPainterState());
// Initialize initial opaque soft mask
PDFFloatBitmap initialSoftMaskBitmap(pixelSize.width(), pixelSize.height(), PDFPixelFormat::createOpacityMask());
initialSoftMaskBitmap.makeOpaque();
PDFFloatBitmap initialSoftMaskBitmap;
createOpaqueSoftMask(initialSoftMaskBitmap, pixelSize.width(), pixelSize.height());
m_painterStateStack.top().softMask = PDFTransparencySoftMask(true, qMove(initialSoftMaskBitmap));
PDFPixelFormat pixelFormat = PDFPixelFormat::createFormat(uint8_t(m_deviceColorSpace->getColorComponentCount()),
@ -1033,6 +1034,7 @@ void PDFTransparencyRenderer::beginPaint(QSize pixelSize)
m_settings.activeColorMask != PDFPixelFormat::getAllColorsMask());
m_transparencyGroupDataStack.back().activeColorMask = m_settings.activeColorMask;
m_transparencyGroupDataStack.back().transformSpotsToDevice = m_settings.flags.testFlag(PDFTransparencyRendererSettings::SeparationSimulation);
m_transparencyGroupDataStack.back().saveOriginalImage = m_settings.flags.testFlag(PDFTransparencyRendererSettings::SaveOriginalProcessImage);
}
const PDFFloatBitmap& PDFTransparencyRenderer::endPaint()
@ -2524,6 +2526,11 @@ void PDFTransparencyRenderer::performEndTransparencyGroup(ProcessOrder order, co
}
}
if (sourceData.saveOriginalImage)
{
m_originalProcessBitmap = sourceData.immediateBackdrop;
}
// Collapse spot colors
if (sourceData.transformSpotsToDevice)
{