From 1f0fd06bc0cfe5036661ce2c23911f34eccf678a Mon Sep 17 00:00:00 2001 From: Marco Cecchetti Date: Mon, 24 Jun 2024 15:26:18 +0900 Subject: sd: slideshow render interface and implementation Interface and implementation to expose the ability to render the slide's layers to a bitmap. Change-Id: I3da48585e498354592e163d84bd29659b233c255 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170214 Tested-by: Jenkins Reviewed-by: Miklos Vajna --- slideshow/source/inc/shapeimporter.hxx | 13 +++++++++++++ slideshow/source/inc/slide.hxx | 10 ++++++++++ 2 files changed, 23 insertions(+) (limited to 'slideshow/source/inc') diff --git a/slideshow/source/inc/shapeimporter.hxx b/slideshow/source/inc/shapeimporter.hxx index 37598aa476bf..f4463e39c425 100644 --- a/slideshow/source/inc/shapeimporter.hxx +++ b/slideshow/source/inc/shapeimporter.hxx @@ -95,6 +95,17 @@ public: const PolyPolygonVector& getPolygons() const; double getImportedShapesCount() const{ return mnAscendingPrio; } + + void setMasterPageObjectsOnly(bool bMasterPageObjectsOnly) + { + mbMasterPageObjectsOnly = bMasterPageObjectsOnly; + } + + void setTextFieldsOnly(bool bTextFieldsOnly) + { + mbTextFieldsOnly = bTextFieldsOnly; + } + private: bool isSkip( css::uno::Reference const& xPropSet, std::u16string_view shapeType, @@ -132,6 +143,8 @@ private: ::std::stack maShapesStack; double mnAscendingPrio; bool mbConvertingMasterPage; + bool mbMasterPageObjectsOnly; + bool mbTextFieldsOnly; }; } // namespace presentation::internal diff --git a/slideshow/source/inc/slide.hxx b/slideshow/source/inc/slide.hxx index ea460582d120..f49a4713d30f 100644 --- a/slideshow/source/inc/slide.hxx +++ b/slideshow/source/inc/slide.hxx @@ -44,6 +44,8 @@ namespace basegfx class B2IVector; } +class Size; + /* Definition of Slide interface */ namespace slideshow::internal @@ -141,6 +143,14 @@ namespace slideshow::internal virtual SlideBitmapSharedPtr getCurrentSlideBitmap( const UnoViewSharedPtr& rView ) const = 0; + virtual Size createLOKSlideRenderer(int nViewWidth, int nViewHeight, + bool bRenderBackground, + bool bRenderMasterPageObjects) = 0; + + virtual bool renderNextLOKSlideLayer(unsigned char* buffer, + bool& bIsBitmapLayer, + OString& rJsonMsg) = 0; + protected: ~Slide() {} }; -- cgit