diff options
author | Miklos Vajna <vmiklos@suse.cz> | 2013-08-24 11:11:44 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2013-08-24 12:45:15 +0200 |
commit | 2a01c49f767353e6db58d59362dace2363b736bb (patch) | |
tree | 20fe1d11d0067fbaaa0171256f7094faef5161a3 /editeng | |
parent | 4bea3627327d2faba580701062160ea7892cd384 (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.cxx | 14 |
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; } |