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());

Reply via email to