diff options
-rw-r--r-- | sd/qa/unit/tiledrendering/tiledrendering.cxx | 12 | ||||
-rw-r--r-- | sd/source/ui/inc/SlideshowLayerRenderer.hxx | 2 | ||||
-rw-r--r-- | sd/source/ui/tools/SlideshowLayerRenderer.cxx | 9 | ||||
-rw-r--r-- | sd/source/ui/unoidl/unomodel.cxx | 3 |
4 files changed, 15 insertions, 11 deletions
diff --git a/sd/qa/unit/tiledrendering/tiledrendering.cxx b/sd/qa/unit/tiledrendering/tiledrendering.cxx index 76c449705e01..17f55ae25122 100644 --- a/sd/qa/unit/tiledrendering/tiledrendering.cxx +++ b/sd/qa/unit/tiledrendering/tiledrendering.cxx @@ -3157,11 +3157,11 @@ CPPUNIT_TEST_FIXTURE(SdTiledRenderingTest, testSlideshowLayeredRendering_SlideNu { std::vector<sal_uInt8> pBuffer(nViewWidth * nViewHeight * 4); - bool bIsBitmapLayer = false; + bool bIsBitmapLayer = true; OUString aJson; double dScale = 1.0; CPPUNIT_ASSERT(!pXImpressDocument->renderNextSlideLayer(pBuffer.data(), bIsBitmapLayer, dScale, aJson)); - CPPUNIT_ASSERT(bIsBitmapLayer); + CPPUNIT_ASSERT(!bIsBitmapLayer); debugWriteImageToFile(1, pBuffer, nViewWidth, nViewHeight, aJson.toUtf8().getStr()); @@ -3180,11 +3180,11 @@ CPPUNIT_TEST_FIXTURE(SdTiledRenderingTest, testSlideshowLayeredRendering_SlideNu { std::vector<sal_uInt8> pBuffer(nViewWidth * nViewHeight * 4); - bool bIsBitmapLayer = false; + bool bIsBitmapLayer = true; OUString aJson; double dScale = 1.0; CPPUNIT_ASSERT(!pXImpressDocument->renderNextSlideLayer(pBuffer.data(), bIsBitmapLayer, dScale, aJson)); - CPPUNIT_ASSERT(bIsBitmapLayer); + CPPUNIT_ASSERT(!bIsBitmapLayer); debugWriteImageToFile(2, pBuffer, nViewWidth, nViewHeight, aJson.toUtf8().getStr()); @@ -3203,11 +3203,11 @@ CPPUNIT_TEST_FIXTURE(SdTiledRenderingTest, testSlideshowLayeredRendering_SlideNu { std::vector<sal_uInt8> pBuffer(nViewWidth * nViewHeight * 4); - bool bIsBitmapLayer = false; + bool bIsBitmapLayer = true; OUString aJson; double dScale = 1.0; CPPUNIT_ASSERT(!pXImpressDocument->renderNextSlideLayer(pBuffer.data(), bIsBitmapLayer, dScale, aJson)); - CPPUNIT_ASSERT(bIsBitmapLayer); + CPPUNIT_ASSERT(!bIsBitmapLayer); debugWriteImageToFile(3, pBuffer, nViewWidth, nViewHeight, aJson.toUtf8().getStr()); diff --git a/sd/source/ui/inc/SlideshowLayerRenderer.hxx b/sd/source/ui/inc/SlideshowLayerRenderer.hxx index d76367adee73..12a944b86377 100644 --- a/sd/source/ui/inc/SlideshowLayerRenderer.hxx +++ b/sd/source/ui/inc/SlideshowLayerRenderer.hxx @@ -158,7 +158,7 @@ public: * The properties of the layer are written to the input string in JSON format. * * @returns false, if nothing was rendered and rendering is done */ - bool render(unsigned char* pBuffer, double& scale, OString& rJsonMsg); + bool render(unsigned char* pBuffer, bool& bIsBitmapLayer, double& scale, OString& rJsonMsg); }; } // end of namespace sd diff --git a/sd/source/ui/tools/SlideshowLayerRenderer.cxx b/sd/source/ui/tools/SlideshowLayerRenderer.cxx index 08cdb1631e6c..8a4c7e6dfbbe 100644 --- a/sd/source/ui/tools/SlideshowLayerRenderer.cxx +++ b/sd/source/ui/tools/SlideshowLayerRenderer.cxx @@ -769,7 +769,8 @@ void SlideshowLayerRenderer::writeJSON(OString& rJsonMsg, RenderPass const& rRen maRenderState.incrementIndex(); } -bool SlideshowLayerRenderer::render(unsigned char* pBuffer, double& rScale, OString& rJsonMsg) +bool SlideshowLayerRenderer::render(unsigned char* pBuffer, bool& bIsBitmapLayer, double& rScale, + OString& rJsonMsg) { // We want to render one pass (one iteration through objects) @@ -783,6 +784,8 @@ bool SlideshowLayerRenderer::render(unsigned char* pBuffer, double& rScale, OStr createViewAndDraw(aRenderContext, &aRedirector); aRedirector.finalizeRenderPasses(); + bIsBitmapLayer = true; + // Write JSON for the Background layer writeBackgroundJSON(rJsonMsg); @@ -795,7 +798,9 @@ bool SlideshowLayerRenderer::render(unsigned char* pBuffer, double& rScale, OStr auto const& rRenderPass = maRenderState.maRenderPasses.front(); maRenderState.meStage = rRenderPass.meStage; - if (!rRenderPass.mbPlaceholder) // no need to render if placeholder + + bIsBitmapLayer = !rRenderPass.mbPlaceholder; + if (bIsBitmapLayer) // no need to render if placeholder { RenderPassObjectRedirector aRedirector(maRenderState, rRenderPass); createViewAndDraw(aRenderContext, &aRedirector); diff --git a/sd/source/ui/unoidl/unomodel.cxx b/sd/source/ui/unoidl/unomodel.cxx index 5a75fb1c005b..a2fff3370033 100644 --- a/sd/source/ui/unoidl/unomodel.cxx +++ b/sd/source/ui/unoidl/unomodel.cxx @@ -4790,12 +4790,11 @@ bool SdXImpressDocument::renderNextSlideLayer(unsigned char* pBuffer, bool& bIsB return bDone; OString sMsg; - bool bOK = mpSlideshowLayerRenderer->render(pBuffer, rScale, sMsg); + bool bOK = mpSlideshowLayerRenderer->render(pBuffer, bIsBitmapLayer, rScale, sMsg); if (bOK) { rJsonMsg = OUString::fromUtf8(sMsg); - bIsBitmapLayer = true; bDone = false; } |