#i119884# Fixed export of fontwork alignment.

Reported by: Li Feng Wang
Patch by: SunYing
Review by: Andre Fischer
This commit is contained in:
Andre Fischer 2012-07-06 13:02:06 +00:00 committed by Xisco Fauli
parent 8bfc664c61
commit 2003acca7b

View file

@ -70,6 +70,7 @@
#include <com/sun/star/drawing/ProjectionMode.hpp>
#include <com/sun/star/text/XSimpleText.hpp>
#include <com/sun/star/drawing/ShadeMode.hpp>
#include <com/sun/star/drawing/TextFitToSizeType.hpp>
#include <vcl/hatch.hxx>
#include <com/sun/star/awt/XGraphics.hpp>
#include <com/sun/star/awt/FontSlant.hpp>
@ -3033,6 +3034,42 @@ void EscherPropertyContainer::CreateCustomShapeProperties( const MSO_SPT eShapeT
nTextPathFlags &=~0x20;
}
}
//export gTextAlign attr
if ( EscherPropertyValueHelper::GetPropertyValue( aAny, aXPropSet, String( RTL_CONSTASCII_USTRINGPARAM( "TextHorizontalAdjust" ) ), sal_True ) )
{
MSO_GeoTextAlign gTextAlign = mso_alignTextCenter;
SdrFitToSizeType eFTS( ((SdrTextFitToSizeTypeItem&)pCustoShape->GetMergedItem( SDRATTR_TEXT_FITTOSIZE )).GetValue() );
drawing::TextHorizontalAdjust eHA( drawing::TextHorizontalAdjust_LEFT );
aAny >>= eHA;
switch( eHA )
{
case drawing::TextHorizontalAdjust_LEFT :
gTextAlign = mso_alignTextLeft;
break;
case drawing::TextHorizontalAdjust_CENTER:
gTextAlign = mso_alignTextCenter;
break;
case drawing::TextHorizontalAdjust_RIGHT:
gTextAlign = mso_alignTextRight;
break;
case drawing::TextHorizontalAdjust_BLOCK:
{
SdrFitToSizeType eFTS( ((SdrTextFitToSizeTypeItem&)pCustoShape->GetMergedItem( SDRATTR_TEXT_FITTOSIZE )).GetValue() );
if ( eFTS == SDRTEXTFIT_ALLLINES)
{
gTextAlign = mso_alignTextStretch;
}
else
{
gTextAlign = mso_alignTextWordJust;
}
break;
}
default:
break;
}
AddOpt(DFF_Prop_gtextAlign,gTextAlign);
}
}
if ( nTextPathFlags != nTextPathFlagsOrg )
AddOpt( DFF_Prop_gtextFStrikethrough, nTextPathFlags );