summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2014-08-01 21:39:49 -0400
committerAndras Timar <andras.timar@collabora.com>2014-08-21 21:24:29 +0200
commit63f995d77cd03a8c396d7f49af229a4961fdd379 (patch)
treec8c3d0a0485d432705f52103f89a5584153929ed
parent40fa8aa1229b1b4b45653ad76e88a5bd63e17f0a (diff)
bnc#886540: Default chart background for pptx docs should be transparent.
Charts in docx and xlsx OTOH use solid white as the default fill style. (cherry picked from commit 4a8f2431718f99de6fd9ee3461d703d007261c03) Conflicts: oox/source/drawingml/chart/chartspaceconverter.cxx oox/source/ppt/pptimport.cxx Change-Id: Ic4351fe65cabc12d60214b67c7026a317841f2c7 Reviewed-on: https://gerrit.libreoffice.org/10737 Reviewed-by: Matúš Kukan <matus.kukan@collabora.com> Tested-by: Matúš Kukan <matus.kukan@collabora.com>
-rw-r--r--include/oox/helper/graphichelper.hxx3
-rw-r--r--oox/source/drawingml/chart/chartspaceconverter.cxx9
-rw-r--r--oox/source/helper/graphichelper.cxx5
-rw-r--r--oox/source/ppt/pptimport.cxx6
4 files changed, 22 insertions, 1 deletions
diff --git a/include/oox/helper/graphichelper.hxx b/include/oox/helper/graphichelper.hxx
index d72daa991c3f..761156fd56cc 100644
--- a/include/oox/helper/graphichelper.hxx
+++ b/include/oox/helper/graphichelper.hxx
@@ -24,6 +24,7 @@
#include <map>
#include <rtl/ustring.hxx>
#include <com/sun/star/awt/DeviceInfo.hpp>
+#include <com/sun/star/drawing/FillStyle.hpp>
#include <com/sun/star/uno/Reference.hxx>
#include <oox/helper/binarystreambase.hxx>
#include <oox/helper/storagebase.hxx>
@@ -75,6 +76,8 @@ public:
/** Derived classes may implement to resolve a palette index to an RGB color. */
virtual sal_Int32 getPaletteColor( sal_Int32 nPaletteIdx ) const;
+ virtual css::drawing::FillStyle getDefaultChartAreaFillStyle() const;
+
// Device info and device dependent unit conversion -----------------------
/** Returns information about the output device. */
diff --git a/oox/source/drawingml/chart/chartspaceconverter.cxx b/oox/source/drawingml/chart/chartspaceconverter.cxx
index db0421585aac..eeba446470cc 100644
--- a/oox/source/drawingml/chart/chartspaceconverter.cxx
+++ b/oox/source/drawingml/chart/chartspaceconverter.cxx
@@ -25,12 +25,14 @@
#include <com/sun/star/chart2/XTitled.hpp>
#include <com/sun/star/chart2/data/XDataReceiver.hpp>
#include <com/sun/star/drawing/XDrawPageSupplier.hpp>
+#include <com/sun/star/drawing/FillStyle.hpp>
#include "oox/core/xmlfilterbase.hxx"
#include "oox/drawingml/chart/chartconverter.hxx"
#include "oox/drawingml/chart/chartdrawingfragment.hxx"
#include "oox/drawingml/chart/chartspacemodel.hxx"
#include "oox/drawingml/chart/plotareaconverter.hxx"
#include "oox/drawingml/chart/titleconverter.hxx"
+#include <oox/helper/graphichelper.hxx>
using namespace ::com::sun::star;
using ::com::sun::star::uno::Reference;
@@ -90,8 +92,13 @@ void ChartSpaceConverter::convertFromModel( const Reference< XShapes >& rxExtern
{
}
- // formatting of the chart background
+ // formatting of the chart background. The default fill style varies with applications.
PropertySet aBackPropSet( getChartDocument()->getPageBackground() );
+
+ aBackPropSet.setProperty(
+ PROP_FillStyle,
+ uno::makeAny(getFilter().getGraphicHelper().getDefaultChartAreaFillStyle()));
+
getFormatter().convertFrameFormatting( aBackPropSet, mrModel.mxShapeProp, OBJECTTYPE_CHARTSPACE );
// convert plot area (container of all chart type groups)
diff --git a/oox/source/helper/graphichelper.cxx b/oox/source/helper/graphichelper.cxx
index 759409604e1c..62d0dd58f7f5 100644
--- a/oox/source/helper/graphichelper.cxx
+++ b/oox/source/helper/graphichelper.cxx
@@ -158,6 +158,11 @@ sal_Int32 GraphicHelper::getPaletteColor( sal_Int32 /*nPaletteIdx*/ ) const
return API_RGB_TRANSPARENT;
}
+drawing::FillStyle GraphicHelper::getDefaultChartAreaFillStyle() const
+{
+ return drawing::FillStyle_SOLID;
+}
+
// Device info and device dependent unit conversion ---------------------------
const awt::DeviceInfo& GraphicHelper::getDeviceInfo() const
diff --git a/oox/source/ppt/pptimport.cxx b/oox/source/ppt/pptimport.cxx
index fc9dadf863c0..d294b7969dc0 100644
--- a/oox/source/ppt/pptimport.cxx
+++ b/oox/source/ppt/pptimport.cxx
@@ -185,6 +185,7 @@ class PptGraphicHelper : public GraphicHelper
public:
explicit PptGraphicHelper( const PowerPointImport& rFilter );
virtual sal_Int32 getSchemeColor( sal_Int32 nToken ) const;
+ virtual drawing::FillStyle getDefaultChartAreaFillStyle() const;
private:
const PowerPointImport& mrFilter;
};
@@ -200,6 +201,11 @@ sal_Int32 PptGraphicHelper::getSchemeColor( sal_Int32 nToken ) const
return mrFilter.getSchemeColor( nToken );
}
+drawing::FillStyle PptGraphicHelper::getDefaultChartAreaFillStyle() const
+{
+ return drawing::FillStyle_NONE;
+}
+
} // namespace
GraphicHelper* PowerPointImport::implCreateGraphicHelper() const