summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorChr. Rossmanith <ChrRossmanith@gmx.de>2013-01-01 21:38:06 +0100
committerChr. Rossmanith <ChrRossmanith@gmx.de>2013-01-07 19:39:46 +0100
commit6eb0522395c236ae6930a300992ad092449f9592 (patch)
tree0302cf16978c9cc6b91af9735b2ecc0f49b79422 /svx
parentf1043aaed082824ca423eee10be5802873e058f3 (diff)
dummy commit (WIP)
Change-Id: Ibeee6553312323b75b2403ad6832595f228e0e3c
Diffstat (limited to 'svx')
-rw-r--r--svx/inc/svx/xflgrit.hxx5
-rw-r--r--svx/source/xoutdev/xattr.cxx19
2 files changed, 19 insertions, 5 deletions
diff --git a/svx/inc/svx/xflgrit.hxx b/svx/inc/svx/xflgrit.hxx
index b4318cf1dc2c..62c04db4c78b 100644
--- a/svx/inc/svx/xflgrit.hxx
+++ b/svx/inc/svx/xflgrit.hxx
@@ -23,6 +23,7 @@
#include <svx/xit.hxx>
#include <svx/xgrad.hxx>
#include "svx/svxdllapi.h"
+#include <com/sun/star/awt/SvgGradient.hpp>
class SdrModel;
@@ -31,8 +32,8 @@ class SdrModel;
//------------------------
class SVX_DLLPUBLIC XFillGradientItem : public NameOrIndex
{
- XGradient aGradient;
-
+ XGradient aGradient;
+ ::com::sun::star::awt::SvgGradient aSvgGradient;
public:
TYPEINFO();
XFillGradientItem() : NameOrIndex(XATTR_FILLGRADIENT, -1) {}
diff --git a/svx/source/xoutdev/xattr.cxx b/svx/source/xoutdev/xattr.cxx
index ce3f1de6c077..097a34d49f9f 100644
--- a/svx/source/xoutdev/xattr.cxx
+++ b/svx/source/xoutdev/xattr.cxx
@@ -3443,6 +3443,7 @@ bool XFillGradientItem::PutValue( const ::com::sun::star::uno::Any& rVal, sal_uI
{
if ( aPropSeq[n].Value >>= aGradient2 )
bGradient = true;
+
}
}
@@ -3483,11 +3484,19 @@ bool XFillGradientItem::PutValue( const ::com::sun::star::uno::Any& rVal, sal_uI
case MID_FILLGRADIENT:
{
::com::sun::star::awt::Gradient aGradient2;
- if(!(rVal >>= aGradient2))
- return false;
+ ::com::sun::star::awt::SvgGradient aSvgGradient2;
+ bool bIsSvgGradient(false);
+
+ if( !(rVal >>= aGradient2) )
+ {
+ if( !(rVal >>= aSvgGradient2) )
+ return false;
+ bIsSvgGradient=true;
+ }
XGradient aXGradient;
+ if ( !bIsSvgGradient ) {
aXGradient.SetGradientStyle( (XGradientStyle) aGradient2.Style );
aXGradient.SetStartColor( aGradient2.StartColor );
aXGradient.SetEndColor( aGradient2.EndColor );
@@ -3498,7 +3507,11 @@ bool XFillGradientItem::PutValue( const ::com::sun::star::uno::Any& rVal, sal_uI
aXGradient.SetStartIntens( aGradient2.StartIntensity );
aXGradient.SetEndIntens( aGradient2.EndIntensity );
aXGradient.SetSteps( aGradient2.StepCount );
-
+ }
+ else {
+ aXGradient.SetStartColor( aSvgGradient2.StopColor[0] );
+ aXGradient.SetEndColor( aSvgGradient2.StopColor[1] );
+ }
SetGradientValue( aXGradient );
break;
}