diff options
author | Andras Timar <andras.timar@collabora.com> | 2013-11-19 11:08:09 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2013-11-21 11:52:52 +0100 |
commit | 797d1f2aca0e1474da3985458ba1b9864616f298 (patch) | |
tree | 7fdcc3bcf6b713a32507e5f9b30673ef5d7db509 /filter | |
parent | 62c5e71292d8c9589cd99e1060238a3a5bb25a66 (diff) |
fdo#66854 keep shadow distance of non-supported MSO shadow type
this is a slight improvement of d7367b709dc4e97714fb2084b872a96389e768fb
the rendering of star from #i119634# bugdoc was kept
the rendering of the yellow circle shadows from fdo#66854 bugdoc
was improved
Change-Id: Ife53328ef665131fb954eb33c2e8269ad10da0fe
Reviewed-on: https://gerrit.libreoffice.org/6719
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'filter')
-rw-r--r-- | filter/source/msfilter/msdffimp.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx index b02d5995eaef..dfbcab16e4cc 100644 --- a/filter/source/msfilter/msdffimp.cxx +++ b/filter/source/msfilter/msdffimp.cxx @@ -2521,6 +2521,7 @@ void DffPropertyReader::ApplyAttributes( SvStream& rIn, SfxItemSet& rSet ) const void DffPropertyReader::ApplyAttributes( SvStream& rIn, SfxItemSet& rSet, DffObjData& rObjData ) const { sal_Bool bHasShadow = sal_False; + bool bNonZeroShadowOffset = false; if ( IsProperty( DFF_Prop_gtextSize ) ) rSet.Put( SvxFontHeightItem( rManager.ScalePt( GetPropertyValue( DFF_Prop_gtextSize ) ), 100, EE_CHAR_FONTHEIGHT ) ); @@ -2553,12 +2554,14 @@ void DffPropertyReader::ApplyAttributes( SvStream& rIn, SfxItemSet& rSet, DffObj sal_Int32 nVal = static_cast< sal_Int32 >( GetPropertyValue( DFF_Prop_shadowOffsetX ) ); rManager.ScaleEmu( nVal ); rSet.Put( SdrShadowXDistItem( nVal ) ); + bNonZeroShadowOffset = ( nVal > 0 ); } if ( IsProperty( DFF_Prop_shadowOffsetY ) ) { sal_Int32 nVal = static_cast< sal_Int32 >( GetPropertyValue( DFF_Prop_shadowOffsetY ) ); rManager.ScaleEmu( nVal ); rSet.Put( SdrShadowYDistItem( nVal ) ); + bNonZeroShadowOffset = ( nVal > 0 ); } if ( IsProperty( DFF_Prop_fshadowObscured ) ) { @@ -2574,7 +2577,7 @@ void DffPropertyReader::ApplyAttributes( SvStream& rIn, SfxItemSet& rSet, DffObj if ( IsProperty( DFF_Prop_shadowType ) ) { MSO_ShadowType eShadowType = static_cast< MSO_ShadowType >( GetPropertyValue( DFF_Prop_shadowType ) ); - if( eShadowType != mso_shadowOffset ) + if( eShadowType != mso_shadowOffset && !bNonZeroShadowOffset ) { //0.12" == 173 twip == 302 100mm sal_uInt32 nDist = rManager.pSdrModel->GetScaleUnit() == MAP_TWIP ? 173: 302; |