From c09c64ede6a395ad4cc5a263e88d5e180b890127 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Tue, 19 Mar 2013 15:46:25 +0200 Subject: fdo#46808, convert drawing::GraphicExportFilter to new style Change-Id: Icd456209406ee8f4dc4ea1f966058f71dce08d58 --- filter/Library_placeware.mk | 1 + filter/source/flash/swfexporter.cxx | 12 +++++------ filter/source/flash/swfexporter.hxx | 11 +++++----- filter/source/flash/swffilter.cxx | 16 +++++++-------- filter/source/placeware/exporter.cxx | 11 +++++----- filter/source/placeware/exporter.hxx | 12 +++++------ filter/source/placeware/filter.cxx | 13 ++++++------ filter/source/svg/svgexport.cxx | 39 +++++++++++++++++------------------- 8 files changed, 56 insertions(+), 59 deletions(-) (limited to 'filter') diff --git a/filter/Library_placeware.mk b/filter/Library_placeware.mk index 732c31f3bfa1..948ecf1060e8 100644 --- a/filter/Library_placeware.mk +++ b/filter/Library_placeware.mk @@ -24,6 +24,7 @@ $(eval $(call gb_Library_set_componentfile,placeware,filter/source/placeware/pla $(eval $(call gb_Library_use_sdk_api,placeware)) $(eval $(call gb_Library_use_libraries,placeware,\ + comphelper \ cppuhelper \ cppu \ sal \ diff --git a/filter/source/flash/swfexporter.cxx b/filter/source/flash/swfexporter.cxx index 81c7f762be08..8bc51b69b6dc 100644 --- a/filter/source/flash/swfexporter.cxx +++ b/filter/source/flash/swfexporter.cxx @@ -19,6 +19,7 @@ #include #include +#include #include #include #include @@ -45,7 +46,6 @@ using namespace ::com::sun::star::task; using namespace ::std; using namespace ::swf; -using com::sun::star::lang::XMultiServiceFactory; using com::sun::star::io::XOutputStream; using com::sun::star::beans::PropertyValue; using com::sun::star::container::XIndexAccess; @@ -90,8 +90,8 @@ void PageInfo::addShape( ShapeInfo* pShapeInfo ) // ----------------------------------------------------------------------------- -FlashExporter::FlashExporter(const Reference< XMultiServiceFactory > &rxMSF, sal_Int32 nJPEGCompressMode, sal_Bool bExportOLEAsJPEG) -: mxMSF( rxMSF ), +FlashExporter::FlashExporter(const Reference< XComponentContext > &rxContext, sal_Int32 nJPEGCompressMode, sal_Bool bExportOLEAsJPEG) +: mxContext( rxContext ), mpWriter( NULL ), mnJPEGcompressMode(nJPEGCompressMode), mbExportOLEAsJPEG(bExportOLEAsJPEG), @@ -638,9 +638,7 @@ void FlashExporter::exportShape( Reference< XShape >& xShape, bool bMaster ) bool FlashExporter::getMetaFile( Reference< XComponent >&xComponent, GDIMetaFile& rMtf, bool bOnlyBackground /* = false */, bool bExportAsJPEG /* = false */) { if( !mxGraphicExporter.is() ) - mxGraphicExporter = Reference< XExporter >::query( mxMSF->createInstance( "com.sun.star.drawing.GraphicExportFilter" ) ); - - Reference< XFilter > xFilter( mxGraphicExporter, UNO_QUERY ); + mxGraphicExporter = GraphicExportFilter::create( mxContext ); utl::TempFile aFile; aFile.EnableKillingFile(); @@ -675,7 +673,7 @@ bool FlashExporter::getMetaFile( Reference< XComponent >&xComponent, GDIMetaFile aDescriptor[3].Value <<= (sal_Bool)bOnlyBackground; } mxGraphicExporter->setSourceDocument( xComponent ); - xFilter->filter( aDescriptor ); + mxGraphicExporter->filter( aDescriptor ); if (bExportAsJPEG) { diff --git a/filter/source/flash/swfexporter.hxx b/filter/source/flash/swfexporter.hxx index 720c21425ff8..de8e87b4ed0e 100644 --- a/filter/source/flash/swfexporter.hxx +++ b/filter/source/flash/swfexporter.hxx @@ -21,10 +21,9 @@ #include #include -#include -#include -#include #include +#include +#include #include #include #include @@ -151,7 +150,7 @@ typedef ::std::map PageInfoMap; class FlashExporter { public: - FlashExporter( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rxMSF, sal_Int32 nJPEGCompressMode = -1, sal_Bool bExportOLEAsJPEG = false); + FlashExporter( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext, sal_Int32 nJPEGCompressMode = -1, sal_Bool bExportOLEAsJPEG = false); ~FlashExporter(); void Flush(); @@ -171,8 +170,8 @@ public: ChecksumCache gMetafileCache; private: - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > mxMSF; - ::com::sun::star::uno::Reference< ::com::sun::star::document::XExporter > mxGraphicExporter; + ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > mxContext; + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XGraphicExportFilter > mxGraphicExporter; PageInfoMap maPagesMap; diff --git a/filter/source/flash/swffilter.cxx b/filter/source/flash/swffilter.cxx index 210d1633d22b..d3d530677405 100644 --- a/filter/source/flash/swffilter.cxx +++ b/filter/source/flash/swffilter.cxx @@ -142,11 +142,11 @@ class FlashExportFilter : public cppu::WeakImplHelper4 > { Reference< XComponent > mxDoc; - Reference< XMultiServiceFactory > mxMSF; + Reference< XComponentContext > mxContext; Reference< XStatusIndicator> mxStatusIndicator; public: - FlashExportFilter( const Reference< XMultiServiceFactory > &rxMSF); + FlashExportFilter( const Reference< XComponentContext > &rxContext); // XFilter virtual sal_Bool SAL_CALL filter( const Sequence< PropertyValue >& aDescriptor ) throw(RuntimeException); @@ -170,8 +170,8 @@ public: // ----------------------------------------------------------------------------- -FlashExportFilter::FlashExportFilter(const Reference< XMultiServiceFactory > &rxMSF) -: mxMSF( rxMSF ) +FlashExportFilter::FlashExportFilter(const Reference< XComponentContext > &rxContext) +: mxContext( rxContext ) { } @@ -264,7 +264,7 @@ sal_Bool FlashExportFilter::ExportAsMultipleFiles(const Sequence< PropertyValue if(!xDrawPages.is()) return sal_False; - Reference< XDesktop2 > rDesktop = Desktop::create( comphelper::getComponentContext(mxMSF) ); + Reference< XDesktop2 > rDesktop = Desktop::create( mxContext ); Reference< XStorable > xStorable(rDesktop->getCurrentComponent(), UNO_QUERY); if (!xStorable.is()) @@ -324,7 +324,7 @@ sal_Bool FlashExportFilter::ExportAsMultipleFiles(const Sequence< PropertyValue // TODO: check for errors (void) err; - FlashExporter aFlashExporter( mxMSF, findPropertyValue(aFilterData, "CompressMode", 75), + FlashExporter aFlashExporter( mxContext, findPropertyValue(aFilterData, "CompressMode", 75), findPropertyValue(aFilterData, "ExportOLEAsJPEG", false)); const sal_Int32 nPageCount = xDrawPages->getCount(); @@ -416,7 +416,7 @@ sal_Bool FlashExportFilter::ExportAsSingleFile(const Sequence< PropertyValue >& return sal_False; } - FlashExporter aFlashExporter( mxMSF, findPropertyValue(aFilterData, "CompressMode", 75), + FlashExporter aFlashExporter( mxContext, findPropertyValue(aFilterData, "CompressMode", 75), findPropertyValue(aFilterData, "ExportOLEAsJPEG", false)); return aFlashExporter.exportAll( mxDoc, xOutputStream, mxStatusIndicator ); @@ -481,7 +481,7 @@ Sequence< OUString > SAL_CALL FlashExportFilter_getSupportedServiceNames( ) Reference< XInterface > SAL_CALL FlashExportFilter_createInstance( const Reference< XMultiServiceFactory > & rSMgr) throw( Exception ) { - return (cppu::OWeakObject*) new FlashExportFilter( rSMgr ); + return (cppu::OWeakObject*) new FlashExportFilter( comphelper::getComponentContext(rSMgr) ); } // ----------------------------------------------------------------------------- diff --git a/filter/source/placeware/exporter.cxx b/filter/source/placeware/exporter.cxx index ccc807093108..dcc051cc5e05 100644 --- a/filter/source/placeware/exporter.cxx +++ b/filter/source/placeware/exporter.cxx @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -57,8 +58,8 @@ using com::sun::star::task::XStatusIndicator; // ----------------------------------------------------------------------------- -PlaceWareExporter::PlaceWareExporter(const Reference< XMultiServiceFactory > &rxMSF) -: mxMSF( rxMSF ) +PlaceWareExporter::PlaceWareExporter(const Reference< XComponentContext > & rxContext) +: mxContext( rxContext ) { } @@ -290,7 +291,8 @@ sal_Bool PlaceWareExporter::doExport( Reference< XComponent > xDoc, Reference < { sal_Bool bRet = sal_False; - mxGraphicExporter = Reference< XExporter >::query( mxMSF->createInstance( OUString("com.sun.star.drawing.GraphicExportFilter") ) ); + mxGraphicExporter = GraphicExportFilter::create( mxContext ); + Reference< XDrawPagesSupplier > xDrawPagesSupplier(xDoc, UNO_QUERY); if(!xDrawPagesSupplier.is()) return sal_False; @@ -482,7 +484,6 @@ PageEntry* PlaceWareExporter::exportPage( Reference< XDrawPage >&xDrawPage ) } // create the gif - Reference< XFilter > xFilter( mxGraphicExporter, UNO_QUERY ); Sequence< PropertyValue > aFilterData( 2 ); aFilterData[0].Name = OUString("Width"); @@ -498,7 +499,7 @@ PageEntry* PlaceWareExporter::exportPage( Reference< XDrawPage >&xDrawPage ) aDescriptor[2].Name = OUString("FilterData"); aDescriptor[2].Value <<= aFilterData; mxGraphicExporter->setSourceDocument( xComp ); - xFilter->filter( aDescriptor ); + mxGraphicExporter->filter( aDescriptor ); return pEntry; } diff --git a/filter/source/placeware/exporter.hxx b/filter/source/placeware/exporter.hxx index 67cb8ca03054..d9405f6d9e6a 100644 --- a/filter/source/placeware/exporter.hxx +++ b/filter/source/placeware/exporter.hxx @@ -19,20 +19,20 @@ #ifndef _PLACEWARE_EXPORTER_HXX #define _PLACEWARE_EXPORTER_HXX +#include +#include #include #include -#include -#include -#include #include #include +#include class PageEntry; class PlaceWareExporter { public: - PlaceWareExporter( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rxMSF ); + PlaceWareExporter( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext ); ~PlaceWareExporter(); sal_Bool doExport( ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent > xDoc, @@ -44,8 +44,8 @@ public: private: PageEntry* exportPage( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >&xDrawPage ); - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > mxMSF; - ::com::sun::star::uno::Reference< ::com::sun::star::document::XExporter > mxGraphicExporter; + ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > mxContext; + ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XGraphicExportFilter > mxGraphicExporter; ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler > mxInteractionHandler; }; diff --git a/filter/source/placeware/filter.cxx b/filter/source/placeware/filter.cxx index 6ad7e8733d6c..7e860b481830 100644 --- a/filter/source/placeware/filter.cxx +++ b/filter/source/placeware/filter.cxx @@ -22,6 +22,7 @@ #include #include #include +#include #include "exporter.hxx" @@ -47,10 +48,10 @@ class PlaceWareExportFilter : public cppu::WeakImplHelper4 > { Reference< XComponent > mxDoc; - Reference< XMultiServiceFactory > mxMSF; + Reference< XComponentContext > mxContext; public: - PlaceWareExportFilter( const Reference< XMultiServiceFactory > &rxMSF); + PlaceWareExportFilter( const Reference< XComponentContext > &rxContext); // XFilter virtual sal_Bool SAL_CALL filter( const Sequence< PropertyValue >& aDescriptor ) throw(RuntimeException); @@ -70,8 +71,8 @@ public: // ----------------------------------------------------------------------------- -PlaceWareExportFilter::PlaceWareExportFilter(const Reference< XMultiServiceFactory > &rxMSF) -: mxMSF( rxMSF ) +PlaceWareExportFilter::PlaceWareExportFilter(const Reference< XComponentContext > &rxContext) +: mxContext( rxContext ) { } @@ -111,7 +112,7 @@ sal_Bool SAL_CALL PlaceWareExportFilter::filter( const ::com::sun::star::uno::Se return sal_False; } - PlaceWareExporter aExporter( mxMSF ); + PlaceWareExporter aExporter( mxContext ); return aExporter.doExport( mxDoc, xOutputStream, sURL, xInteractionHandler, xStatusIndicator ); } @@ -174,7 +175,7 @@ Sequence< OUString > SAL_CALL PlaceWareExportFilter_getSupportedServiceNames( ) Reference< XInterface > SAL_CALL PlaceWareExportFilter_createInstance( const Reference< XMultiServiceFactory > & rSMgr) throw( Exception ) { - return (cppu::OWeakObject*) new PlaceWareExportFilter( rSMgr ); + return (cppu::OWeakObject*) new PlaceWareExportFilter( comphelper::getComponentContext(rSMgr) ); } // ----------------------------------------------------------------------------- diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx index e1fea4f4d183..fdf12a736dae 100644 --- a/filter/source/svg/svgexport.cxx +++ b/filter/source/svg/svgexport.cxx @@ -23,8 +23,9 @@ #include "svgscript.hxx" #include "impsvgdialog.hxx" -#include +#include #include +#include #include #include @@ -2001,33 +2002,29 @@ sal_Bool SVGFilter::implCreateObjectsFromShape( const Reference< XDrawPage > & r sal_Bool SVGFilter::implCreateObjectsFromBackground( const Reference< XDrawPage >& rxDrawPage ) { - Reference< XExporter > xExporter( mxContext->getServiceManager()->createInstanceWithContext( "com.sun.star.drawing.GraphicExportFilter", mxContext ), UNO_QUERY ); + Reference< XGraphicExportFilter > xExporter = drawing::GraphicExportFilter::create( mxContext ); sal_Bool bRet = sal_False; - if( xExporter.is() ) - { - GDIMetaFile aMtf; - Reference< XFilter > xFilter( xExporter, UNO_QUERY ); + GDIMetaFile aMtf; - utl::TempFile aFile; - aFile.EnableKillingFile(); + utl::TempFile aFile; + aFile.EnableKillingFile(); - Sequence< PropertyValue > aDescriptor( 3 ); - aDescriptor[0].Name = "FilterName"; - aDescriptor[0].Value <<= OUString( "SVM" ); - aDescriptor[1].Name = "URL"; - aDescriptor[1].Value <<= OUString( aFile.GetURL() ); - aDescriptor[2].Name = "ExportOnlyBackground"; - aDescriptor[2].Value <<= (sal_Bool) sal_True; + Sequence< PropertyValue > aDescriptor( 3 ); + aDescriptor[0].Name = "FilterName"; + aDescriptor[0].Value <<= OUString( "SVM" ); + aDescriptor[1].Name = "URL"; + aDescriptor[1].Value <<= OUString( aFile.GetURL() ); + aDescriptor[2].Name = "ExportOnlyBackground"; + aDescriptor[2].Value <<= (sal_Bool) sal_True; - xExporter->setSourceDocument( Reference< XComponent >( rxDrawPage, UNO_QUERY ) ); - xFilter->filter( aDescriptor ); - aMtf.Read( *aFile.GetStream( STREAM_READ ) ); + xExporter->setSourceDocument( Reference< XComponent >( rxDrawPage, UNO_QUERY ) ); + xExporter->filter( aDescriptor ); + aMtf.Read( *aFile.GetStream( STREAM_READ ) ); - (*mpObjects)[ rxDrawPage ] = ObjectRepresentation( rxDrawPage, aMtf ); + (*mpObjects)[ rxDrawPage ] = ObjectRepresentation( rxDrawPage, aMtf ); - bRet = sal_True; - } + bRet = sal_True; return bRet; } -- cgit