summaryrefslogtreecommitdiff
path: root/editeng
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2013-08-24 11:11:44 +0200
committerMiklos Vajna <vmiklos@suse.cz>2013-08-24 12:45:15 +0200
commit2a01c49f767353e6db58d59362dace2363b736bb (patch)
tree20fe1d11d0067fbaaa0171256f7094faef5161a3 /editeng
parent4bea3627327d2faba580701062160ea7892cd384 (diff)
sw: add ShadowTransparence UNO property for frames
drawinglayer has a separate property for the shadow transparency, too. One more step towards Writer frames have the same UNO API as drawinglayer shapes. Change-Id: I84617502e9beb9e077c783ee8eb771d79c6ee666
Diffstat (limited to 'editeng')
-rw-r--r--editeng/source/items/frmitems.cxx14
1 files changed, 14 insertions, 0 deletions
diff --git a/editeng/source/items/frmitems.cxx b/editeng/source/items/frmitems.cxx
index 5e93f619a07d..607ca27878cd 100644
--- a/editeng/source/items/frmitems.cxx
+++ b/editeng/source/items/frmitems.cxx
@@ -1315,6 +1315,8 @@ bool SvxShadowItem::QueryValue( uno::Any& rVal, sal_uInt8 nMemberId ) const
aShadow.IsTransparent = aShadowColor.GetTransparency() > 0;
aShadow.Color = aShadowColor.GetColor();
+ sal_Int8 nTransparence = rtl::math::round(float(aShadowColor.GetTransparency() * 100) / 255);
+
switch ( nMemberId )
{
case MID_LOCATION: rVal <<= aShadow.Location; break;
@@ -1322,6 +1324,7 @@ bool SvxShadowItem::QueryValue( uno::Any& rVal, sal_uInt8 nMemberId ) const
case MID_TRANSPARENT: rVal <<= aShadow.IsTransparent; break;
case MID_BG_COLOR: rVal <<= aShadow.Color; break;
case 0: rVal <<= aShadow; break;
+ case MID_SHADOW_TRANSPARENCE: rVal <<= nTransparence; break;
default: OSL_FAIL("Wrong MemberId!"); return false;
}
@@ -1355,6 +1358,17 @@ bool SvxShadowItem::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId )
case MID_TRANSPARENT: rVal >>= aShadow.IsTransparent; break;
case MID_BG_COLOR: rVal >>= aShadow.Color; break;
case 0: rVal >>= aShadow; break;
+ case MID_SHADOW_TRANSPARENCE:
+ {
+ sal_Int32 nTransparence = 0;
+ if (rVal >>= nTransparence)
+ {
+ Color aColor(aShadow.Color);
+ aColor.SetTransparency(rtl::math::round(float(nTransparence * 255) / 100));
+ aShadow.Color = aColor.GetColor();
+ }
+ break;
+ }
default: OSL_FAIL("Wrong MemberId!"); return sal_False;
}