summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sd/qa/unit/tiledrendering/tiledrendering.cxx12
-rw-r--r--sd/source/ui/inc/SlideshowLayerRenderer.hxx2
-rw-r--r--sd/source/ui/tools/SlideshowLayerRenderer.cxx9
-rw-r--r--sd/source/ui/unoidl/unomodel.cxx3
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;
}