Kaydet (Commit) eeae7bf2 authored tarafından Miklos Vajna's avatar Miklos Vajna

VML import of mso-wrap-distance-{left,right,top,bottom}

Change-Id: Ib16be0bf83120ed7aeb01f29634d51421fc351c8
üst 682dff09
...@@ -97,6 +97,10 @@ struct OOX_DLLPUBLIC ShapeTypeModel ...@@ -97,6 +97,10 @@ struct OOX_DLLPUBLIC ShapeTypeModel
OptValue< ::rtl::OUString > moWrapType; ///< How to wrap the text around the object OptValue< ::rtl::OUString > moWrapType; ///< How to wrap the text around the object
OptValue< ::rtl::OUString > moWrapSide; ///< On which side to wrap the text around the object OptValue< ::rtl::OUString > moWrapSide; ///< On which side to wrap the text around the object
OUString maVTextAnchor; ///< How the text inside the shape is anchored vertically. OUString maVTextAnchor; ///< How the text inside the shape is anchored vertically.
OUString maWrapDistanceLeft; ///< Distance from the left side of the shape to the text that wraps around it.
OUString maWrapDistanceRight; ///< Distance from the right side of the shape to the text that wraps around it.
OUString maWrapDistanceTop; ///< Distance from the top of the shape to the text that wraps around it.
OUString maWrapDistanceBottom; ///< Distance from the bottom of the shape to the text that wraps around it.
explicit ShapeTypeModel(); explicit ShapeTypeModel();
......
...@@ -522,6 +522,25 @@ Reference< XShape > SimpleShape::implConvertAndInsert( const Reference< XShapes ...@@ -522,6 +522,25 @@ Reference< XShape > SimpleShape::implConvertAndInsert( const Reference< XShapes
Reference< XShape > xShape = mrDrawing.createAndInsertXShape( maService, rxShapes, aShapeRect ); Reference< XShape > xShape = mrDrawing.createAndInsertXShape( maService, rxShapes, aShapeRect );
convertShapeProperties( xShape ); convertShapeProperties( xShape );
// Handle left/right/top/bottom wrap distance.
const GraphicHelper& rGraphicHelper = mrDrawing.getFilter().getGraphicHelper();
sal_Int32 nWrapDistanceLeft = 0;
if (!maTypeModel.maWrapDistanceLeft.isEmpty())
nWrapDistanceLeft = ConversionHelper::decodeMeasureToHmm(rGraphicHelper, maTypeModel.maWrapDistanceLeft, 0, true, true);
PropertySet(xShape).setAnyProperty(PROP_LeftMargin, uno::makeAny(nWrapDistanceLeft));
sal_Int32 nWrapDistanceRight = 0;
if (!maTypeModel.maWrapDistanceRight.isEmpty())
nWrapDistanceRight = ConversionHelper::decodeMeasureToHmm(rGraphicHelper, maTypeModel.maWrapDistanceRight, 0, true, true);
PropertySet(xShape).setAnyProperty(PROP_RightMargin, uno::makeAny(nWrapDistanceRight));
sal_Int32 nWrapDistanceTop = 0;
if (!maTypeModel.maWrapDistanceTop.isEmpty())
nWrapDistanceTop = ConversionHelper::decodeMeasureToHmm(rGraphicHelper, maTypeModel.maWrapDistanceTop, 0, false, true);
PropertySet(xShape).setAnyProperty(PROP_TopMargin, uno::makeAny(nWrapDistanceTop));
sal_Int32 nWrapDistanceBottom = 0;
if (!maTypeModel.maWrapDistanceBottom.isEmpty())
nWrapDistanceBottom = ConversionHelper::decodeMeasureToHmm(rGraphicHelper, maTypeModel.maWrapDistanceBottom, 0, false, true);
PropertySet(xShape).setAnyProperty(PROP_BottomMargin, uno::makeAny(nWrapDistanceBottom));
if ( maService.equalsAscii( "com.sun.star.text.TextFrame" ) ) if ( maService.equalsAscii( "com.sun.star.text.TextFrame" ) )
{ {
PropertySet( xShape ).setAnyProperty( PROP_FrameIsAutomaticHeight, makeAny( maTypeModel.mbAutoHeight ) ); PropertySet( xShape ).setAnyProperty( PROP_FrameIsAutomaticHeight, makeAny( maTypeModel.mbAutoHeight ) );
......
...@@ -418,6 +418,10 @@ void ShapeTypeContext::setStyle( const OUString& rStyle ) ...@@ -418,6 +418,10 @@ void ShapeTypeContext::setStyle( const OUString& rStyle )
mrTypeModel.mbVisible = !aValue.equalsAscii( "hidden" ); mrTypeModel.mbVisible = !aValue.equalsAscii( "hidden" );
else if( aName == "mso-wrap-style" ) mrTypeModel.maWrapStyle = aValue; else if( aName == "mso-wrap-style" ) mrTypeModel.maWrapStyle = aValue;
else if ( aName == "v-text-anchor" ) mrTypeModel.maVTextAnchor = aValue; else if ( aName == "v-text-anchor" ) mrTypeModel.maVTextAnchor = aValue;
else if ( aName == "mso-wrap-distance-left" ) mrTypeModel.maWrapDistanceLeft = aValue;
else if ( aName == "mso-wrap-distance-right" ) mrTypeModel.maWrapDistanceRight = aValue;
else if ( aName == "mso-wrap-distance-top" ) mrTypeModel.maWrapDistanceTop = aValue;
else if ( aName == "mso-wrap-distance-bottom" ) mrTypeModel.maWrapDistanceBottom = aValue;
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment