Kaydet (Commit) 6928759a authored tarafından Radek Doulik's avatar Radek Doulik

odf: export old path without unsupported commands in draw namespace as well

 - to preserve at least some data for older versions of Libre Office

Change-Id: I2a33706c2a2344e45b57a00469a7387072f8602b
üst 3442913a
...@@ -323,13 +323,14 @@ void ImpExportHandles( SvXMLExport& rExport, const uno::Sequence< beans::Propert ...@@ -323,13 +323,14 @@ void ImpExportHandles( SvXMLExport& rExport, const uno::Sequence< beans::Propert
} }
void ImpExportEnhancedPath( SvXMLExport& rExport, void ImpExportEnhancedPath( SvXMLExport& rExport,
const uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeParameterPair >& rCoordinates, const uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeParameterPair >& rCoordinates,
const uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeSegment >& rSegments ) const uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeSegment >& rSegments,
bool bExtended = false )
{ {
rtl::OUString aStr; rtl::OUString aStr;
rtl::OUStringBuffer aStrBuffer; rtl::OUStringBuffer aStrBuffer;
sal_uInt16 aNamespace = XML_NAMESPACE_DRAW; bool bNeedExtended = false;
sal_Int32 i, j, k, l; sal_Int32 i, j, k, l;
...@@ -415,8 +416,15 @@ void ImpExportEnhancedPath( SvXMLExport& rExport, ...@@ -415,8 +416,15 @@ void ImpExportEnhancedPath( SvXMLExport& rExport,
case com::sun::star::drawing::EnhancedCustomShapeSegmentCommand::QUADRATICCURVETO : case com::sun::star::drawing::EnhancedCustomShapeSegmentCommand::QUADRATICCURVETO :
aStrBuffer.append( (sal_Unicode)'Q' ); nParameter = 2; break; aStrBuffer.append( (sal_Unicode)'Q' ); nParameter = 2; break;
case com::sun::star::drawing::EnhancedCustomShapeSegmentCommand::ARCANGLETO : case com::sun::star::drawing::EnhancedCustomShapeSegmentCommand::ARCANGLETO :
aStrBuffer.append( (sal_Unicode)'G' ); nParameter = 2; aNamespace = XML_NAMESPACE_DRAW_EXT; break; if ( bExtended ) {
aStrBuffer.append( (sal_Unicode)'G' );
nParameter = 2;
} else {
aStrBuffer.setLength( aStrBuffer.getLength() - 1);
bNeedExtended = true;
i += 2;
}
break;
default : // ups, seems to be something wrong default : // ups, seems to be something wrong
{ {
aSegment.Count = 1; aSegment.Count = 1;
...@@ -445,7 +453,9 @@ void ImpExportEnhancedPath( SvXMLExport& rExport, ...@@ -445,7 +453,9 @@ void ImpExportEnhancedPath( SvXMLExport& rExport,
} }
} }
aStr = aStrBuffer.makeStringAndClear(); aStr = aStrBuffer.makeStringAndClear();
rExport.AddAttribute( aNamespace, XML_ENHANCED_PATH, aStr ); rExport.AddAttribute( bExtended ? XML_NAMESPACE_DRAW_EXT : XML_NAMESPACE_DRAW, XML_ENHANCED_PATH, aStr );
if ( !bExtended && bNeedExtended )
ImpExportEnhancedPath( rExport, rCoordinates, rSegments, true );
} }
void ImpExportEnhancedGeometry( SvXMLExport& rExport, const uno::Reference< beans::XPropertySet >& xPropSet ) void ImpExportEnhancedGeometry( SvXMLExport& rExport, const uno::Reference< beans::XPropertySet >& xPropSet )
......
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