sd/IwyuFilter_sd.yaml                       |    2 +-
 sd/inc/SlideRenderer.hxx                    |   13 +++----------
 sd/source/console/PresenterSlidePreview.cxx |   11 +++--------
 sd/source/console/PresenterSlidePreview.hxx |    3 ++-
 sd/source/ui/presenter/SlideRenderer.cxx    |   25 +------------------------
 sd/util/sd.component                        |    4 ----
 solenv/bin/native-code.py                   |    1 -
 solenv/clang-format/excludelist             |    2 +-
 vcl/workben/cgmfuzzer.cxx                   |    2 --
 9 files changed, 11 insertions(+), 52 deletions(-)

New commits:
commit af60b4cb84fd02768f5ebf9eb254371d15bed0a1
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Sat Jun 14 14:08:13 2025 +0200
Commit:     Noel Grandin <noelgran...@gmail.com>
CommitDate: Sun Jun 15 08:17:29 2025 +0200

    no need for SlideRenderer to be an UNO service anymore
    
    now that the slide console is not a separate component
    anymore.
    
    Change-Id: I85b219b43752596a67633f8a793d139b739316e0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186497
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/sd/IwyuFilter_sd.yaml b/sd/IwyuFilter_sd.yaml
index b725b89ce25a..6b0c52bd7a02 100644
--- a/sd/IwyuFilter_sd.yaml
+++ b/sd/IwyuFilter_sd.yaml
@@ -274,7 +274,7 @@ excludelist:
     - com/sun/star/rendering/XSpriteCanvas.hpp
     - com/sun/star/rendering/XBitmap.hpp
     - com/sun/star/awt/XWindowListener.hpp
-    sd/source/ui/presenter/SlideRenderer.hxx:
+    sd/inc/SlideRenderer.hxx:
     # base class has to be a complete type
     - com/sun/star/drawing/XSlideRenderer.hpp
     - com/sun/star/lang/XInitialization.hpp
diff --git a/sd/source/ui/presenter/SlideRenderer.hxx b/sd/inc/SlideRenderer.hxx
similarity index 89%
rename from sd/source/ui/presenter/SlideRenderer.hxx
rename to sd/inc/SlideRenderer.hxx
index d39434421233..34afc67696e2 100644
--- a/sd/source/ui/presenter/SlideRenderer.hxx
+++ b/sd/inc/SlideRenderer.hxx
@@ -19,10 +19,10 @@
 
 #pragma once
 
+#include "sddllapi.h"
 #include <PreviewRenderer.hxx>
 #include <com/sun/star/drawing/XSlideRenderer.hpp>
 #include <com/sun/star/lang/XInitialization.hpp>
-#include <com/sun/star/lang/XServiceInfo.hpp>
 
 #include <comphelper/compbase.hxx>
 
@@ -32,13 +32,12 @@ namespace sd::presenter {
 
 typedef comphelper::WeakComponentImplHelper <
     css::drawing::XSlideRenderer,
-    css::lang::XInitialization,
-    css::lang::XServiceInfo
+    css::lang::XInitialization
 > SlideRendererInterfaceBase;
 
 /** Render single slides into bitmaps.
 */
-class SlideRenderer final
+class SD_DLLPUBLIC SlideRenderer final
     : public SlideRendererInterfaceBase
 {
 public:
@@ -51,12 +50,6 @@ public:
 
     virtual void SAL_CALL initialize (const css::uno::Sequence<css::uno::Any>& 
rArguments) override;
 
-    OUString SAL_CALL getImplementationName() override;
-
-    sal_Bool SAL_CALL supportsService(OUString const & ServiceName) override;
-
-    css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override;
-
     // XSlideRenderer
 
     virtual css::uno::Reference<css::awt::XBitmap> SAL_CALL createPreview (
diff --git a/sd/source/console/PresenterSlidePreview.cxx 
b/sd/source/console/PresenterSlidePreview.cxx
index 8e06d0a72fa5..a31990fea1bb 100644
--- a/sd/source/console/PresenterSlidePreview.cxx
+++ b/sd/source/console/PresenterSlidePreview.cxx
@@ -80,11 +80,7 @@ PresenterSlidePreview::PresenterSlidePreview (
 
     Reference<lang::XMultiComponentFactory> xFactory = 
rxContext->getServiceManager();
     if (xFactory.is())
-        mxPreviewRenderer.set(
-            xFactory->createInstanceWithContext(
-                u"com.sun.star.drawing.SlideRenderer"_ustr,
-                rxContext),
-            UNO_QUERY);
+        mxPreviewRenderer = new sd::presenter::SlideRenderer();
     mpBitmaps = std::make_shared<PresenterBitmapContainer>(
             "PresenterScreenSettings/ScrollBar/Bitmaps",
             std::shared_ptr<PresenterBitmapContainer>(),
@@ -107,9 +103,8 @@ void SAL_CALL PresenterSlidePreview::disposing()
         mxCanvas = nullptr;
     }
 
-    Reference<lang::XComponent> xComponent (mxPreviewRenderer, UNO_QUERY);
-    if (xComponent.is())
-        xComponent->dispose();
+    if (mxPreviewRenderer.is())
+        mxPreviewRenderer->dispose();
 }
 
 //----- XResourceId -----------------------------------------------------------
diff --git a/sd/source/console/PresenterSlidePreview.hxx 
b/sd/source/console/PresenterSlidePreview.hxx
index 85107693a9fa..78bd6565c0c3 100644
--- a/sd/source/console/PresenterSlidePreview.hxx
+++ b/sd/source/console/PresenterSlidePreview.hxx
@@ -22,6 +22,7 @@
 
 #include "PresenterController.hxx"
 
+#include <SlideRenderer.hxx>
 #include <com/sun/star/awt/XPaintListener.hpp>
 #include <com/sun/star/awt/XWindowListener.hpp>
 #include <com/sun/star/drawing/XDrawPage.hpp>
@@ -99,7 +100,7 @@ protected:
 
 private:
     css::uno::Reference<css::drawing::framework::XResourceId> mxViewId;
-    css::uno::Reference<css::drawing::XSlideRenderer> mxPreviewRenderer;
+    rtl::Reference<sd::presenter::SlideRenderer> mxPreviewRenderer;
 
     /** This Image holds the preview of the current slide.  After resize
         requests the image may be empty.  This results eventually in a call
diff --git a/sd/source/ui/presenter/SlideRenderer.cxx 
b/sd/source/ui/presenter/SlideRenderer.cxx
index 707b50b90fe4..43d85d880dad 100644
--- a/sd/source/ui/presenter/SlideRenderer.cxx
+++ b/sd/source/ui/presenter/SlideRenderer.cxx
@@ -17,7 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include "SlideRenderer.hxx"
+#include <SlideRenderer.hxx>
 #include <sdpage.hxx>
 #include <toolkit/helper/vclunohelper.hxx>
 #include <vcl/svapp.hxx>
@@ -52,21 +52,6 @@ void SAL_CALL SlideRenderer::initialize (const 
Sequence<Any>& rArguments)
     }
 }
 
-OUString SlideRenderer::getImplementationName()
-{
-    return u"com.sun.star.comp.Draw.SlideRenderer"_ustr;
-}
-
-sal_Bool SlideRenderer::supportsService(OUString const & ServiceName)
-{
-    return cppu::supportsService(this, ServiceName);
-}
-
-css::uno::Sequence<OUString> SlideRenderer::getSupportedServiceNames()
-{
-    return {u"com.sun.star.drawing.SlideRenderer"_ustr};
-}
-
 //----- XSlideRenderer --------------------------------------------------------
 
 Reference<awt::XBitmap> SlideRenderer::createPreview (
@@ -190,12 +175,4 @@ void SlideRenderer::ThrowIfDisposed()
 } // end of namespace ::sd::presenter
 
 
-extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
-com_sun_star_comp_Draw_SlideRenderer_get_implementation(css::uno::XComponentContext*,
-                                                        
css::uno::Sequence<css::uno::Any> const &)
-{
-    return cppu::acquire(new sd::presenter::SlideRenderer);
-}
-
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sd/util/sd.component b/sd/util/sd.component
index 83daaadc9fca..9bf50c31a992 100644
--- a/sd/util/sd.component
+++ b/sd/util/sd.component
@@ -37,10 +37,6 @@
       
constructor="com_sun_star_comp_Draw_PresenterPreviewCache_get_implementation">
     <service name="com.sun.star.drawing.PresenterPreviewCache"/>
   </implementation>
-  <implementation name="com.sun.star.comp.Draw.SlideRenderer"
-      constructor="com_sun_star_comp_Draw_SlideRenderer_get_implementation">
-    <service name="com.sun.star.drawing.SlideRenderer"/>
-  </implementation>
   <implementation name="com.sun.star.comp.Draw.framework.ResourceId"
       
constructor="com_sun_star_comp_Draw_framework_ResourceID_get_implementation">
     <service name="com.sun.star.drawing.framework.ResourceId"/>
diff --git a/solenv/bin/native-code.py b/solenv/bin/native-code.py
index 8671942bf7aa..156c28d20121 100755
--- a/solenv/bin/native-code.py
+++ b/solenv/bin/native-code.py
@@ -695,7 +695,6 @@ draw_constructor_list = [
     "com_sun_star_comp_Draw_DrawingModule_get_implementation",
     "sd_PresentationDocument_get_implementation",
     "com_sun_star_comp_Draw_PresenterPreviewCache_get_implementation",
-    "com_sun_star_comp_Draw_SlideRenderer_get_implementation",
     "com_sun_star_comp_sd_InsertSlideController_get_implementation",
     "com_sun_star_comp_sd_SlideLayoutController_get_implementation",
     "com_sun_star_comp_sd_DisplayModeController_get_implementation",
diff --git a/solenv/clang-format/excludelist b/solenv/clang-format/excludelist
index 4c5c190a82e2..451de681b84c 100644
--- a/solenv/clang-format/excludelist
+++ b/solenv/clang-format/excludelist
@@ -9209,6 +9209,7 @@ sd/inc/EffectMigration.hxx
 sd/inc/FactoryIds.hxx
 sd/inc/OutlinerIterator.hxx
 sd/inc/PresenterHelper.hxx
+sd/inc/SlideRenderer.hxx
 sd/inc/TransitionPreset.hxx
 sd/inc/animations.hxx
 sd/inc/anminfo.hxx
@@ -9712,7 +9713,6 @@ sd/source/ui/presenter/PresenterPreviewCache.hxx
 sd/source/ui/presenter/PresenterTextView.cxx
 sd/source/ui/presenter/PresenterTextView.hxx
 sd/source/ui/presenter/SlideRenderer.cxx
-sd/source/ui/presenter/SlideRenderer.hxx
 sd/source/ui/remotecontrol/AvahiNetworkService.cxx
 sd/source/ui/remotecontrol/AvahiNetworkService.hxx
 sd/source/ui/remotecontrol/BluetoothServer.cxx
diff --git a/vcl/workben/cgmfuzzer.cxx b/vcl/workben/cgmfuzzer.cxx
index f2f3ae968f57..6a9c819ae1f2 100644
--- a/vcl/workben/cgmfuzzer.cxx
+++ b/vcl/workben/cgmfuzzer.cxx
@@ -59,7 +59,6 @@ void sd_DrawingDocument_get_implementation( void );
 void com_sun_star_comp_Draw_DrawingModule_get_implementation( void );
 void sd_PresentationDocument_get_implementation( void );
 void com_sun_star_comp_Draw_PresenterPreviewCache_get_implementation( void );
-void com_sun_star_comp_Draw_SlideRenderer_get_implementation( void );
 void com_sun_star_comp_sd_InsertSlideController_get_implementation( void );
 void com_sun_star_comp_sd_SlideLayoutController_get_implementation( void );
 void com_sun_star_comp_sd_DisplayModeController_get_implementation( void );
@@ -128,7 +127,6 @@ lo_get_constructor_map(void)
         { "com_sun_star_comp_Draw_DrawingModule_get_implementation", 
com_sun_star_comp_Draw_DrawingModule_get_implementation },
         { "sd_PresentationDocument_get_implementation", 
sd_PresentationDocument_get_implementation },
         { "com_sun_star_comp_Draw_PresenterPreviewCache_get_implementation", 
com_sun_star_comp_Draw_PresenterPreviewCache_get_implementation },
-        { "com_sun_star_comp_Draw_SlideRenderer_get_implementation", 
com_sun_star_comp_Draw_SlideRenderer_get_implementation },
         { "com_sun_star_comp_sd_InsertSlideController_get_implementation", 
com_sun_star_comp_sd_InsertSlideController_get_implementation },
         { "com_sun_star_comp_sd_SlideLayoutController_get_implementation", 
com_sun_star_comp_sd_SlideLayoutController_get_implementation },
         { "com_sun_star_comp_sd_DisplayModeController_get_implementation", 
com_sun_star_comp_sd_DisplayModeController_get_implementation },

Reply via email to