slideshow/source/engine/slide/slideimpl.cxx | 30 ++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
New commits: commit cdfa19a797da82aa238ba21cef92682d9a069a0c Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Tue Jul 23 12:16:16 2024 +0200 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Tue Sep 24 14:33:52 2024 +0200 lok: render the whole slide temporary (with bg and master content) This changes the rendering of the main slide layer content to also render the master page and the background. This is needed because of the issue with the white background (instead of transaprent). (cherry picked from commit 99f9d663a26da00bebd8595f1e0819ebc6c3e4f0) Change-Id: I88b6f0287482ad1ee498b0bbda8e19d015649879 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173853 Reviewed-by: Miklos Vajna <vmik...@collabora.com> Tested-by: Jenkins diff --git a/slideshow/source/engine/slide/slideimpl.cxx b/slideshow/source/engine/slide/slideimpl.cxx index 6bb05bb874f6..ff796e011bda 100644 --- a/slideshow/source/engine/slide/slideimpl.cxx +++ b/slideshow/source/engine/slide/slideimpl.cxx @@ -620,6 +620,36 @@ void LOKSlideRenderer::renderDrawPageImpl(VirtualDevice& rDevice) aJsonWriter.put("index", mnDPLayerIndex); bool bDoRendering = false; + + std::shared_ptr<ShapeImporter> pMasterShapeImporter = std::make_shared<ShapeImporter>(mxMasterPage, mxDrawPage, mxDrawPagesSupplier, mrContext, 0, true); + + ShapeSharedPtr const& rBGShape(pMasterShapeImporter->importBackgroundShape()); + if (rBGShape) + { + bDoRendering = true; + mpLayerManager->addShape(rBGShape); + } + + while (!pMasterShapeImporter->isImportDone()) + { + ShapeSharedPtr const& rShape(pMasterShapeImporter->importShape()); + if (!rShape) + continue; + + rShape->setIsForeground(false); + + uno::Reference<drawing::XShape> xShape = rShape->getXShape(); + if (xShape.is()) + { + + mpLayerManager->addShape(rShape); + bDoRendering = true; + } + } + + auto nCurrCount = static_cast<sal_Int32>(pMasterShapeImporter->getImportedShapesCount()); + mpShapesFunctor = std::make_shared<ShapeImporter>(mxDrawPage, mxDrawPage, mxDrawPagesSupplier, mrContext, nCurrCount, false); + while (!mpShapesFunctor->isImportDone()) { ShapeSharedPtr const& rShape(mpShapesFunctor->importShape());