From dc173b7f2a550185404aacbc6da744cb6d1880fc Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Thu, 31 Jan 2013 12:05:50 +0100 Subject: export subpath sizes (these are for example in pptx custom shape presets) Change-Id: Iab21d0845d0cb6e4dadeffb5f7b9ebab1e4b955a --- xmloff/inc/EnhancedCustomShapeToken.hxx | 2 ++ xmloff/inc/xmloff/xmltoken.hxx | 1 + xmloff/source/core/xmltoken.cxx | 1 + xmloff/source/draw/EnhancedCustomShapeToken.cxx | 2 ++ xmloff/source/draw/shapeexport4.cxx | 18 +++++++++++ xmloff/source/draw/ximpcustomshape.cxx | 40 +++++++++++++++++++++++++ 6 files changed, 64 insertions(+) (limited to 'xmloff') diff --git a/xmloff/inc/EnhancedCustomShapeToken.hxx b/xmloff/inc/EnhancedCustomShapeToken.hxx index 39a5faf355fe..42d95abca597 100644 --- a/xmloff/inc/EnhancedCustomShapeToken.hxx +++ b/xmloff/inc/EnhancedCustomShapeToken.hxx @@ -84,6 +84,7 @@ namespace xmloff { namespace EnhancedCustomShapeToken { EAS_handle_polar, EAS_handle_radius_range_minimum, EAS_handle_radius_range_maximum, + EAS_sub_view_size, EAS_CustomShapeEngine, EAS_CustomShapeData, @@ -145,6 +146,7 @@ namespace xmloff { namespace EnhancedCustomShapeToken { EAS_SameLetterHeights, EAS_Position, EAS_AdjustmentValues, + EAS_SubViewSize, EAS_Last, EAS_NotFound diff --git a/xmloff/inc/xmloff/xmltoken.hxx b/xmloff/inc/xmloff/xmltoken.hxx index 238d0c36b3d5..c4dff1c69ae8 100644 --- a/xmloff/inc/xmloff/xmltoken.hxx +++ b/xmloff/inc/xmloff/xmltoken.hxx @@ -1740,6 +1740,7 @@ namespace xmloff { namespace token { XML_SUBTOTAL_FIELD, XML_SUBTOTAL_RULE, XML_SUBTOTAL_RULES, + XML_SUB_VIEW_SIZE, XML_SUFFIX, XML_SUM, XML_SVGLINEARGRADIENT, diff --git a/xmloff/source/core/xmltoken.cxx b/xmloff/source/core/xmltoken.cxx index 6a28cfce16ef..4011f4963c2e 100644 --- a/xmloff/source/core/xmltoken.cxx +++ b/xmloff/source/core/xmltoken.cxx @@ -1745,6 +1745,7 @@ namespace xmloff { namespace token { TOKEN( "subtotal-field", XML_SUBTOTAL_FIELD ), TOKEN( "subtotal-rule", XML_SUBTOTAL_RULE ), TOKEN( "subtotal-rules", XML_SUBTOTAL_RULES ), + TOKEN( "sub-view-size", XML_SUB_VIEW_SIZE ), TOKEN( "suffix", XML_SUFFIX ), TOKEN( "sum", XML_SUM ), TOKEN( "linearGradient", XML_SVGLINEARGRADIENT ), diff --git a/xmloff/source/draw/EnhancedCustomShapeToken.cxx b/xmloff/source/draw/EnhancedCustomShapeToken.cxx index 1e12ee2fe697..ba70abd924c5 100644 --- a/xmloff/source/draw/EnhancedCustomShapeToken.cxx +++ b/xmloff/source/draw/EnhancedCustomShapeToken.cxx @@ -112,6 +112,7 @@ static const TokenTable pTokenTableArray[] = { "handle-polar", EAS_handle_polar }, { "handle-radius-range-minimum", EAS_handle_radius_range_minimum }, { "handle-radius-range-maximum", EAS_handle_radius_range_maximum }, + { "sub-view-size", EAS_sub_view_size }, { "CustomShapeEngine", EAS_CustomShapeEngine }, { "CustomShapeData", EAS_CustomShapeData }, @@ -173,6 +174,7 @@ static const TokenTable pTokenTableArray[] = { "SameLetterHeights", EAS_SameLetterHeights }, { "Position", EAS_Position }, { "AdjustmentValues", EAS_AdjustmentValues }, + { "SubViewSize", EAS_SubViewSize }, { "Last", EAS_Last }, { "NotFound", EAS_NotFound } diff --git a/xmloff/source/draw/shapeexport4.cxx b/xmloff/source/draw/shapeexport4.cxx index d47b6bbd1a86..1bb54812714d 100644 --- a/xmloff/source/draw/shapeexport4.cxx +++ b/xmloff/source/draw/shapeexport4.cxx @@ -908,8 +908,26 @@ void ImpExportEnhancedGeometry( SvXMLExport& rExport, const uno::Reference< bean for ( i = 0; i < nCount; i++ ) { const beans::PropertyValue& rProp = aPathPropSeq[ i ]; + switch( EASGet( rProp.Name ) ) { + case EAS_SubViewSize: + { + uno::Sequence< awt::Size > aSubViewSizes; + rProp.Value >>= aSubViewSizes; + + for ( int nIdx = 0; nIdx < aSubViewSizes.getLength(); nIdx++ ) + { + if ( nIdx ) + aStrBuffer.append(' '); + ::sax::Converter::convertNumber( aStrBuffer, aSubViewSizes[nIdx].Width ); + aStrBuffer.append(' '); + ::sax::Converter::convertNumber( aStrBuffer, aSubViewSizes[nIdx].Height ); + } + aStr = aStrBuffer.makeStringAndClear(); + rExport.AddAttribute( XML_NAMESPACE_DRAW_EXT, XML_SUB_VIEW_SIZE, aStr ); + } + break; case EAS_ExtrusionAllowed : { sal_Bool bExtrusionAllowed = sal_Bool(); diff --git a/xmloff/source/draw/ximpcustomshape.cxx b/xmloff/source/draw/ximpcustomshape.cxx index 3b145ca526fc..a3406ed9ea9c 100644 --- a/xmloff/source/draw/ximpcustomshape.cxx +++ b/xmloff/source/draw/ximpcustomshape.cxx @@ -472,6 +472,43 @@ void GetDoubleSequence( std::vector< com::sun::star::beans::PropertyValue >& rDe } } +void GetSizeSequence( std::vector< com::sun::star::beans::PropertyValue >& rDest, + const rtl::OUString& rValue, const EnhancedCustomShapeTokenEnum eDestProp ) +{ + std::vector< sal_Int32 > vNum; + sal_Int32 nIndex = 0; + do + { + sal_Int32 n; + rtl::OUString aToken( rValue.getToken( 0, ' ', nIndex ) ); + if (!::sax::Converter::convertNumber( n, aToken )) + break; + else + vNum.push_back( n ); + } + while ( nIndex >= 0 ); + + if ( !vNum.empty() ) + { + uno::Sequence< awt::Size > aSizeSeq( vNum.size() / 2 ); + std::vector< sal_Int32 >::const_iterator aIter = vNum.begin(); + std::vector< sal_Int32 >::const_iterator aEnd = vNum.end(); + awt::Size* pValues = aSizeSeq.getArray(); + + while ( aIter != aEnd ) { + pValues->Width = *aIter++; + if ( aIter != aEnd ) + pValues->Height = *aIter++; + pValues ++; + } + + beans::PropertyValue aProp; + aProp.Name = EASGet( eDestProp ); + aProp.Value <<= aSizeSeq; + rDest.push_back( aProp ); + } +} + void GetEnhancedParameter( std::vector< com::sun::star::beans::PropertyValue >& rDest, // e.g. draw:handle-position const rtl::OUString& rValue, const EnhancedCustomShapeTokenEnum eDestProp ) { @@ -860,6 +897,9 @@ void XMLEnhancedCustomShapeContext::StartElement( const uno::Reference< xml::sax mrCustomShapeGeometry.push_back( aProp ); } break; + case EAS_sub_view_size: + GetSizeSequence( maPath, rValue, EAS_SubViewSize ); + break; case EAS_text_rotate_angle : GetDouble( mrCustomShapeGeometry, rValue, EAS_TextRotateAngle ); break; -- cgit 7-4'>distro/mimo/mimo-7-4 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/sccomp
AgeCommit message (Expand)Author
2020-03-12Revert "loplugin:constfields in scaddins,sccomp"Noel Grandin
2020-01-28remove some unused local varsNoel Grandin
2020-01-15tdf#88205 Adapt uses of css::uno::Sequence to use initializer_list ctorMesut Çifci
2020-01-12tdf88205 Adapt uses of css::uno::Sequence to use initializer_list ctorYusuf Keten
2019-11-22Extend loplugin:external to warn about classesStephan Bergmann
2019-09-26loplugin:constmethod in scNoel Grandin
2019-08-20loplugin:constvars in sccomp..sdNoel Grandin
2019-08-15loplugin:sequenceloop in scaddins..scriptingNoel Grandin
2019-07-31Improved loplugin:stringconstant (now that GCC 7 supports it): sccompStephan Bergmann
2019-07-30Simplify Sequence iterations in scaddins, sccomp, scriptingArkadiy Illarionov