diff --git a/canvas/source/opengl/ogl_spritecanvas.cxx b/canvas/source/opengl/ogl_spritecanvas.cxx index 1c48812463f3..de5caf716778 100644 --- a/canvas/source/opengl/ogl_spritecanvas.cxx +++ b/canvas/source/opengl/ogl_spritecanvas.cxx @@ -11,7 +11,6 @@ #include #include -#include #include #include #include @@ -19,14 +18,8 @@ #include "ogl_canvascustomsprite.hxx" #include "ogl_spritecanvas.hxx" -#define SPRITECANVAS_SERVICE_NAME "com.sun.star.rendering.SpriteCanvas.OGL" -#define SPRITECANVAS_IMPLEMENTATION_NAME "com.sun.star.comp.rendering.SpriteCanvas.OGL" - - using namespace ::com::sun::star; -namespace sdecl = comphelper::service_decl; - namespace oglcanvas { SpriteCanvas::SpriteCanvas( const uno::Sequence< uno::Any >& aArguments, @@ -134,7 +127,7 @@ namespace oglcanvas OUString SAL_CALL SpriteCanvas::getServiceName( ) { - return SPRITECANVAS_SERVICE_NAME; + return "com.sun.star.rendering.SpriteCanvas.OGL"; } void SpriteCanvas::show( const ::rtl::Reference< CanvasCustomSprite >& xSprite ) @@ -154,26 +147,17 @@ namespace oglcanvas maCanvasHelper.renderRecordedActions(); } - static uno::Reference initCanvas( SpriteCanvas* pCanvas ) - { - uno::Reference xRet(static_cast(pCanvas)); - pCanvas->initialize(); - return xRet; - } - - sdecl::class_ > const serviceImpl(&initCanvas); - const sdecl::ServiceDecl oglSpriteCanvasDecl( - serviceImpl, - SPRITECANVAS_IMPLEMENTATION_NAME, - SPRITECANVAS_SERVICE_NAME ); } -// The C shared lib entry points -extern "C" -SAL_DLLPUBLIC_EXPORT void* oglcanvas_component_getFactory( char const* pImplName, - void*, void* ) + +extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface* +com_sun_star_comp_rendering_SpriteCanvas_OGL_get_implementation( + css::uno::XComponentContext* context, css::uno::Sequence const& args) { - return sdecl::component_getFactoryHelper( pImplName, {&oglcanvas::oglSpriteCanvasDecl} ); + auto p = new oglcanvas::SpriteCanvas(args, context); + cppu::acquire(p); + p->initialize(); + return static_cast(p); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/canvas/source/opengl/oglcanvas.component b/canvas/source/opengl/oglcanvas.component index af3dfebaf4a8..f6c9af43fdae 100644 --- a/canvas/source/opengl/oglcanvas.component +++ b/canvas/source/opengl/oglcanvas.component @@ -9,8 +9,9 @@ --> - + xmlns="http://openoffice.org/2010/uno-components"> +