summaryrefslogtreecommitdiff
path: root/sd/source
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source')
-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
3 files changed, 9 insertions, 5 deletions
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;
}