diff options
author | Vinaya Mandke <vinaya.mandke@synerzip.com> | 2014-02-03 11:53:02 +0530 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2014-02-12 02:46:32 +0100 |
commit | ffb1053b287fddd2c96757e5c6825381afc43fa1 (patch) | |
tree | ab5104f314cd8a83feaceb525e0cb1b8ed952cd7 /oox/source/export/chartexport.cxx | |
parent | f38a223d6d455b07a4fdbfe842b2b367306544d5 (diff) |
fdo#74115 Fix for DOCX BitmapFill for Chart Wall
Fixed import and export for chart wall Bitmap Fill in DOCX
Added UT for the same.
Conflicts:
oox/source/export/chartexport.cxx
Change-Id: Id066b0e4c2007fcdfdbbfa67b40307463bf0cfe7
Diffstat (limited to 'oox/source/export/chartexport.cxx')
-rw-r--r-- | oox/source/export/chartexport.cxx | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx index 939e5a489a1b..19394de8c243 100644 --- a/oox/source/export/chartexport.cxx +++ b/oox/source/export/chartexport.cxx @@ -1166,11 +1166,40 @@ void ChartExport::exportFill( Reference< XPropertySet > xPropSet ) case FillStyle_GRADIENT : exportGradientFill( xPropSet ); break; + case FillStyle_BITMAP : + exportBitmapFill( xPropSet ); + break; default: WriteFill( xPropSet ); } } +void ChartExport::exportBitmapFill( Reference< XPropertySet > xPropSet ) +{ + if( xPropSet.is() ) + { + OUString sFillGradientName; + xPropSet->getPropertyValue("FillBitmapName") >>= sFillGradientName; + + uno::Reference< lang::XMultiServiceFactory > xFact( getModel(), uno::UNO_QUERY ); + try + { + uno::Reference< container::XNameAccess > xGradient( xFact->createInstance("com.sun.star.drawing.BitmapTable"), uno::UNO_QUERY ); + uno::Any rValue = xGradient->getByName( sFillGradientName ); + OUString sBitmapURL; + if( (rValue >>= sBitmapURL) ) + { + WriteBlipFill( xPropSet, sBitmapURL, XML_a, true, true ); + } + } + catch( const uno::Exception & rEx ) + { + DBG_WARNING( "Bitmap Property not Found; ChartExport::exportBitmapFill" ); + } + + } +} + void ChartExport::exportGradientFill( Reference< XPropertySet > xPropSet ) { if( xPropSet.is() ) @@ -1191,7 +1220,7 @@ void ChartExport::exportGradientFill( Reference< XPropertySet > xPropSet ) } catch( const uno::Exception & rEx ) { - DBG_WARNING( "Gradient Property not Found; ChartExport::exportPlotAreaGradientFill" ); + DBG_WARNING( "Gradient Property not Found; ChartExport::exportGradientFill" ); } } |