slideshow/source/engine/slide/slideimpl.cxx | 30 ++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
New commits: commit 99f9d663a26da00bebd8595f1e0819ebc6c3e4f0 Author: Tomaž Vajngerl <[email protected]> AuthorDate: Tue Jul 23 12:16:16 2024 +0200 Commit: Tomaž Vajngerl <[email protected]> CommitDate: Tue Jul 23 16:24:29 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). Change-Id: I88b6f0287482ad1ee498b0bbda8e19d015649879 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170897 Reviewed-by: Tomaž Vajngerl <[email protected]> Reviewed-by: Szymon Kłos <[email protected]> Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-by: vivek javiya <[email protected]> diff --git a/slideshow/source/engine/slide/slideimpl.cxx b/slideshow/source/engine/slide/slideimpl.cxx index 2c9b922ee07f..083ff31bc267 100644 --- a/slideshow/source/engine/slide/slideimpl.cxx +++ b/slideshow/source/engine/slide/slideimpl.cxx @@ -619,6 +619,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());
