filter/source/svg/presentation_engine.js | 14 - filter/source/svg/svgexport.cxx | 41 --- filter/source/svg/svgwriter.cxx | 381 ++++++++++++++++++++----------- 3 files changed, 262 insertions(+), 174 deletions(-)
New commits: commit b42e10c2d8001f6fde3171f7b2d2f94367043b22 Author: Marco Cecchetti <mrcek...@gmail.com> Date: Fri Aug 24 10:55:30 2012 +0200 Now debugging code is conditionally compiled and JavaScript debug log are turned off. diff --git a/filter/source/svg/presentation_engine.js b/filter/source/svg/presentation_engine.js index 7d98d5d..91110b7 100644 --- a/filter/source/svg/presentation_engine.js +++ b/filter/source/svg/presentation_engine.js @@ -341,7 +341,7 @@ function mouseClickHelper( aEvt ) var sSelectedText = aTextSelection.toString(); if( sSelectedText ) { - log( 'text selection: ' + sSelectedText ); + DBGLOG( 'text selection: ' + sSelectedText ); if( sLastSelectedText !== sSelectedText ) { bTextHasBeenSelected = true; @@ -1682,6 +1682,10 @@ DebugPrinter.prototype.print = function( sMessage, nTime ) // - Debug Printers - +var aGenericDebugPrinter = new DebugPrinter(); +aGenericDebugPrinter.on(); +var DBGLOG = bind2( DebugPrinter.prototype.print, aGenericDebugPrinter ); + var NAVDBG = new DebugPrinter(); NAVDBG.off(); @@ -9663,7 +9667,7 @@ AnimatedTextElement.prototype.setToElement = function( aElement ) AnimatedTextElement.prototype.notifySlideStart = function( aSlideShowContext ) { - log( 'AnimatedTextElement.notifySlideStart' ); + DBGLOG( 'AnimatedTextElement.notifySlideStart' ); AnimatedTextElement.superclass.notifySlideStart.call( this, aSlideShowContext ); this.aGraphicGroupElement = getElementByClassName( this.aActiveElement, 'GraphicGroup' ); this.restoreBaseTextParagraph(); @@ -9671,7 +9675,7 @@ AnimatedTextElement.prototype.notifySlideStart = function( aSlideShowContext ) AnimatedTextElement.prototype.notifySlideEnd = function() { - log( 'AnimatedTextElement.notifySlideEnd' ); + DBGLOG( 'AnimatedTextElement.notifySlideEnd' ); this.aGraphicGroupElement.setAttribute( 'visibility', 'inherit' ); }; @@ -9709,7 +9713,7 @@ AnimatedTextElement.prototype.restoreBaseTextParagraph = function() AnimatedTextElement.prototype.notifyAnimationStart = function() { - log( 'AnimatedTextElement.notifyAnimationStart' ); + DBGLOG( 'AnimatedTextElement.notifyAnimationStart' ); if( this.nRunningAnimations === 0 ) { var sVisibilityAttr = this.aParagraphElement.getAttribute( 'visibility' ); @@ -9724,7 +9728,7 @@ AnimatedTextElement.prototype.notifyAnimationStart = function() AnimatedTextElement.prototype.notifyAnimationEnd = function() { - log( 'AnimatedTextElement.notifyAnimationEnd' ); + DBGLOG( 'AnimatedTextElement.notifyAnimationEnd' ); --this.nRunningAnimations; if( this.nRunningAnimations === 0 ) { diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx index 8f8d727..cf76b91 100644 --- a/filter/source/svg/svgexport.cxx +++ b/filter/source/svg/svgexport.cxx @@ -1749,42 +1749,6 @@ sal_Bool SVGFilter::implExportShape( const Reference< XShape >& rxShape ) { // for text field shapes we set up text-adjust attributes // and set visibility to hidden OUString aShapeClass = implGetClassFromShape( rxShape ); - - - - { -// Reference< XPropertySetInfo > xPropSetInfo = xShapePropSet->getPropertySetInfo(); -// Sequence< Property > aPropSeq = xPropSetInfo->getProperties(); -// sal_Int32 nLength = aPropSeq.getLength(); -// OUString sGraphicPropList; -// for( sal_Int32 i = 0; i < nLength; ++i ) -// { -// sGraphicPropList += aPropSeq[i].Name; -// sGraphicPropList += B2UCONST( ": " ); -// sGraphicPropList += aPropSeq[i].Type.getTypeName(); -// sGraphicPropList += B2UCONST( "; " ); -// } -// mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "class", B2UCONST( "Graphic" ) ); -// mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "property-list", sGraphicPropList ); -// SvXMLElementExport aExp2( *mpSVGExport, XML_NAMESPACE_NONE, "desc", sal_True, sal_True ); - -// if( xPropSetInfo->hasPropertyByName( B2UCONST( "GraphicURL" ) ) ) -// { -// OUString sGraphicURL; -// if( xShapePropSet->getPropertyValue( B2UCONST( "GraphicURL" ) ) >>= sGraphicURL ) -// { -// if( !sGraphicURL.isEmpty() ) -// { -// mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "class", B2UCONST( "GraphicURL" ) ); -// mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "xlink:ref", sGraphicURL ); -// SvXMLElementExport aExp2( *mpSVGExport, XML_NAMESPACE_NONE, "desc", sal_True, sal_True ); -// } -// } -// } - } - - - if( mbPresentation ) { sal_Bool bIsPageNumber = ( aShapeClass == "Slide_Number" ); @@ -1859,7 +1823,6 @@ sal_Bool SVGFilter::implExportShape( const Reference< XShape >& rxShape ) if( !rShapeId.isEmpty() ) { mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "id", rShapeId ); - } const GDIMetaFile* pEmbeddedBitmapsMtf = NULL; @@ -1968,7 +1931,6 @@ sal_Bool SVGFilter::implCreateObjectsFromShapes( const Reference< XDrawPage > & sal_Bool SVGFilter::implCreateObjectsFromShape( const Reference< XDrawPage > & rxPage, const Reference< XShape >& rxShape ) { sal_Bool bRet = sal_False; - if( rxShape->getShapeType().lastIndexOf( B2UCONST( "drawing.GroupShape" ) ) != -1 ) { Reference< XShapes > xShapes( rxShape, UNO_QUERY ); @@ -2075,8 +2037,8 @@ sal_Bool SVGFilter::implCreateObjectsFromShape( const Reference< XDrawPage > & r } } (*mpObjects)[ rxShape ] = ObjectRepresentation( rxShape, aGraphic.GetGDIMetaFile() ); - bRet = sal_True; } + bRet = sal_True; } } } @@ -2183,7 +2145,6 @@ OUString SVGFilter::implGetInterfaceName( const Reference< XInterface >& rxIf ) IMPL_LINK( SVGFilter, CalcFieldHdl, EditFieldInfo*, pInfo ) { sal_Bool bFieldProcessed = sal_False; - if( pInfo && mbPresentation ) { bFieldProcessed = true; diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx index d13ac78..ab7efe3 100644 --- a/filter/source/svg/svgwriter.cxx +++ b/filter/source/svg/svgwriter.cxx @@ -109,8 +109,6 @@ static sal_Char const XML_UNO_NAME_NRULE_BULLET_CHAR[] = "BulletChar"; // ----------------------------------------------------------------------------- - - // ---------------------- // - SVGAttributeWriter - // ---------------------- @@ -949,6 +947,8 @@ sal_Bool SVGTextWriter::nextParagraph() mrCurrentTextParagraph.clear(); mbIsNewListItem = sal_False; mbIsListLevelStyleImage = sal_False; + +#if OSL_DEBUG_LEVEL > 0 if( mrParagraphEnumeration.is() && mrParagraphEnumeration->hasMoreElements() ) { Reference < XTextContent > xTextContent( mrParagraphEnumeration->nextElement(), UNO_QUERY_THROW ); @@ -960,21 +960,6 @@ sal_Bool SVGTextWriter::nextParagraph() OUString sInfo; if( xServiceInfo->supportsService( B2UCONST( "com.sun.star.text.Paragraph" ) ) ) { -// { -// Reference < XEnumeration> xContentEnum; -// Reference < XContentEnumerationAccess > xCEA( xTextContent, UNO_QUERY ); -// if( xCEA.is() ) -// xContentEnum.set(xCEA->createContentEnumeration( B2UCONST( "com.sun.star.text.Paragraph" ) )); -// const sal_Bool bHasContentEnum = xContentEnum.is() && -// xContentEnum->hasMoreElements(); -// -// if( bHasContentEnum ) -// { -// sInfo = B2UCONST( "true" ); -// mrExport.AddAttribute( XML_NAMESPACE_NONE, "has-content-enum", sInfo ); -// } -// } - mrCurrentTextParagraph.set( xTextContent ); Reference< XPropertySet > xPropSet( xTextContent, UNO_QUERY_THROW ); Reference< XPropertySetInfo > xPropSetInfo = xPropSet->getPropertySetInfo(); @@ -1049,7 +1034,6 @@ sal_Bool SVGTextWriter::nextParagraph() cBullet = 0xF000 + 149; } mcBulletChar = cBullet; - // text:bullet-char="..." sInfo = OUString::valueOf( (sal_Int32) cBullet ); mrExport.AddAttribute( XML_NAMESPACE_NONE, "bullet-char", sInfo ); } @@ -1072,6 +1056,7 @@ sal_Bool SVGTextWriter::nextParagraph() } else if( xServiceInfo->supportsService( B2UCONST( "com.sun.star.text.Table" ) ) ) { + OSL_FAIL( "SVGTextWriter::nextParagraph: text tables are not handled." ); sInfo = B2UCONST( "Table" ); } else @@ -1097,6 +1082,126 @@ sal_Bool SVGTextWriter::nextParagraph() return sal_True; } } +#else + if( mrParagraphEnumeration.is() && mrParagraphEnumeration->hasMoreElements() ) + { + Reference < XTextContent > xTextContent( mrParagraphEnumeration->nextElement(), UNO_QUERY_THROW ); + if( xTextContent.is() ) + { + Reference< XServiceInfo > xServiceInfo( xTextContent, UNO_QUERY_THROW ); + if( xServiceInfo.is() ) + { + if( xServiceInfo->supportsService( B2UCONST( "com.sun.star.text.Paragraph" ) ) ) + { + mrCurrentTextParagraph.set( xTextContent ); + Reference< XPropertySet > xPropSet( xTextContent, UNO_QUERY_THROW ); + Reference< XPropertySetInfo > xPropSetInfo = xPropSet->getPropertySetInfo(); + if( xPropSetInfo->hasPropertyByName( B2UCONST( "NumberingLevel" ) ) ) + { + sal_Int16 nListLevel = 0; + if( xPropSet->getPropertyValue( B2UCONST( "NumberingLevel" ) ) >>= nListLevel ) + { + mbIsNewListItem = sal_True; + + Reference< XIndexReplace > xNumRules; + if( xPropSetInfo->hasPropertyByName( B2UCONST( "NumberingRules" ) ) ) + { + xPropSet->getPropertyValue( B2UCONST( "NumberingRules" ) ) >>= xNumRules; + } + if( xNumRules.is() && ( nListLevel < xNumRules->getCount() ) ) + { + sal_Bool bIsNumbered = sal_True; + OUString msNumberingIsNumber(RTL_CONSTASCII_USTRINGPARAM("NumberingIsNumber")); + if( xPropSetInfo->hasPropertyByName( msNumberingIsNumber ) ) + { + if( !(xPropSet->getPropertyValue( msNumberingIsNumber ) >>= bIsNumbered ) ) + { + OSL_FAIL( "numbered paragraph without number info" ); + bIsNumbered = sal_False; + } + } + mbIsNewListItem = bIsNumbered; + + if( bIsNumbered ) + { + Sequence<PropertyValue> aProps; + if( xNumRules->getByIndex( nListLevel ) >>= aProps ) + { + sal_Int16 eType = NumberingType::CHAR_SPECIAL; + sal_Unicode cBullet = 0xf095; + const sal_Int32 nCount = aProps.getLength(); + const PropertyValue* pPropArray = aProps.getConstArray(); + for( sal_Int32 i = 0; i < nCount; ++i ) + { + const PropertyValue& rProp = pPropArray[i]; + if( rProp.Name.equalsAsciiL( XML_UNO_NAME_NRULE_NUMBERINGTYPE, sizeof(XML_UNO_NAME_NRULE_NUMBERINGTYPE)-1 ) ) + { + rProp.Value >>= eType; + } + else if( rProp.Name.equalsAsciiL( XML_UNO_NAME_NRULE_BULLET_CHAR, sizeof(XML_UNO_NAME_NRULE_BULLET_CHAR)-1 ) ) + { + OUString sValue; + rProp.Value >>= sValue; + if( !sValue.isEmpty() ) + { + cBullet = (sal_Unicode)sValue[0]; + } + } + } + meNumberingType = eType; + mbIsListLevelStyleImage = ( NumberingType::BITMAP == meNumberingType ); + if( NumberingType::CHAR_SPECIAL == meNumberingType ) + { + if( cBullet ) + { + if( cBullet < ' ' ) + { + cBullet = 0xF000 + 149; + } + mcBulletChar = cBullet; + } + + } + } + } + } + + } + } + + Reference< XEnumerationAccess > xEnumerationAccess( xTextContent, UNO_QUERY_THROW ); + Reference< XEnumeration > xEnumeration( xEnumerationAccess->createEnumeration(), UNO_QUERY_THROW ); + if( xEnumeration.is() && xEnumeration->hasMoreElements() ) + { + mrTextPortionEnumeration.set( xEnumeration ); + } + } + else if( xServiceInfo->supportsService( B2UCONST( "com.sun.star.text.Table" ) ) ) + { + OSL_FAIL( "SVGTextWriter::nextParagraph: text tables are not handled." ); + } + else + { + OSL_FAIL( "SVGTextWriter::nextParagraph: Unknown text content." ); + return sal_False; + } + } + else + { + OSL_FAIL( "SVGTextWriter::nextParagraph: no XServiceInfo interface available for text content." ); + return sal_False; + } + + Reference< XInterface > xRef( xTextContent, UNO_QUERY ); + const OUString& rParagraphId = implGetValidIDFromInterface( xRef ); + if( !rParagraphId.isEmpty() ) + { + mrExport.AddAttribute( XML_NAMESPACE_NONE, "id", rParagraphId ); + } + return sal_True; + } + } +#endif return sal_False; } @@ -1107,6 +1212,7 @@ sal_Bool SVGTextWriter::nextTextPortion() mrCurrentTextPortion.clear(); mbIsURLField = sal_False; mbIsPlacehlolderShape = sal_False; +#if OSL_DEBUG_LEVEL > 0 if( mrTextPortionEnumeration.is() && mrTextPortionEnumeration->hasMoreElements() ) { OUString sInfo; @@ -1221,6 +1327,96 @@ sal_Bool SVGTextWriter::nextTextPortion() return sal_True; } } +#else + if( mrTextPortionEnumeration.is() && mrTextPortionEnumeration->hasMoreElements() ) + { + OUString sInfo; + Reference< XPropertySet > xPortionPropSet( mrTextPortionEnumeration->nextElement(), UNO_QUERY ); + Reference< XPropertySetInfo > xPortionPropInfo( xPortionPropSet->getPropertySetInfo() ); + Reference < XTextRange > xPortionTextRange( xPortionPropSet, UNO_QUERY); + if( xPortionPropSet.is() && xPortionPropInfo.is() + && xPortionPropInfo->hasPropertyByName( B2UCONST( "TextPortionType" ) ) ) + { + if( xPortionTextRange.is() ) + { + mrCurrentTextPortion.set( xPortionTextRange ); + + Reference < XPropertySet > xRangePropSet( xPortionTextRange, UNO_QUERY ); + if( xRangePropSet.is() && xRangePropSet->getPropertySetInfo()->hasPropertyByName( B2UCONST( "TextField" ) ) ) + { + Reference < XTextField > xTextField( xRangePropSet->getPropertyValue( B2UCONST( "TextField" ) ), UNO_QUERY ); + if( xTextField.is() ) + { + const ::rtl::OUString sServicePrefix( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.text.textfield.") ); + const ::rtl::OUString sPresentationServicePrefix( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.presentation.TextField.") ); + + Reference< XServiceInfo > xService( xTextField, UNO_QUERY ); + const Sequence< OUString > aServices = xService->getSupportedServiceNames(); + + const OUString* pNames = aServices.getConstArray(); + sal_Int32 nCount = aServices.getLength(); + + OUString sFieldName; // service name postfix of current field + + // search for TextField service name + while( nCount-- ) + { + if ( pNames->matchIgnoreAsciiCase( sServicePrefix ) ) + { + // TextField found => postfix is field type! + sFieldName = pNames->copy( sServicePrefix.getLength() ); + break; + } + else if( 0 == pNames->compareTo( sPresentationServicePrefix, sPresentationServicePrefix.getLength() ) ) + { + // TextField found => postfix is field type! + sFieldName = pNames->copy( sPresentationServicePrefix.getLength() ); + break; + } + + ++pNames; + } + + if( sFieldName.equalsAscii( "DateTime" ) || sFieldName.equalsAscii( "Header" ) + || sFieldName.equalsAscii( "Footer" ) || sFieldName.equalsAscii( "PageNumber" ) ) + { + mbIsPlacehlolderShape = sal_True; + } + else + { + mbIsURLField = sFieldName.equalsAscii( "URL" ); + if( mbIsURLField ) + { + Reference<XPropertySet> xTextFieldPropSet(xTextField, UNO_QUERY); + if( xTextFieldPropSet.is() ) + { + OUString sURL; + if( ( xTextFieldPropSet->getPropertyValue( sFieldName ) ) >>= sURL ) + { + msUrl = mrExport.GetRelativeReference( sURL ); + if( !msUrl.isEmpty() ) + { + implRegisterInterface( xPortionTextRange ); + + Reference< XInterface > xRef( xPortionTextRange, UNO_QUERY ); + const OUString& rTextPortionId = implGetValidIDFromInterface( xRef ); + if( !rTextPortionId.isEmpty() ) + { + msHyperlinkIdList += rTextPortionId; + msHyperlinkIdList += B2UCONST( " " ); + } + } + } + } + } + } + } + } + } + return sal_True; + } + } +#endif return sal_False; } @@ -1472,7 +1668,7 @@ void SVGTextWriter::implWriteEmbeddedBitmaps() const GDIMetaFile& rMtf = *mpTextEmbeddedBitmapMtf; OUString sId, sRefId; - sal_uLong nId, nChecksum; + sal_uLong nId, nChecksum = 0; Point aPt; Size aSz; sal_uLong nCount = rMtf.GetActionSize(); @@ -1555,45 +1751,42 @@ void SVGTextWriter::writeTextPortion( const Point& rPos, bool bNotSync = true; OUString sContent; sal_Int32 nStartPos; -// do -// { - while( bNotSync ) + while( bNotSync ) + { + if( mnLeftTextPortionLength <= 0 ) { - if( mnLeftTextPortionLength <= 0 ) - { - if( !nextTextPortion() ) - break; - else - { - sContent = mrCurrentTextPortion->getString(); - if( mbIsURLField && sContent.isEmpty() ) - { - Reference < XPropertySet > xPropSet( mrCurrentTextPortion, UNO_QUERY ); - Reference < XTextField > xTextField( xPropSet->getPropertyValue( B2UCONST( "TextField" ) ), UNO_QUERY ); - sContent = xTextField->getPresentation( /* show command: */ sal_False ); - if( sContent.isEmpty() ) - OSL_FAIL( "SVGTextWriter::writeTextPortion: content of URL TextField is empty." ); - } - mnLeftTextPortionLength = sContent.getLength(); - } - } + if( !nextTextPortion() ) + break; else { sContent = mrCurrentTextPortion->getString(); + if( mbIsURLField && sContent.isEmpty() ) + { + Reference < XPropertySet > xPropSet( mrCurrentTextPortion, UNO_QUERY ); + Reference < XTextField > xTextField( xPropSet->getPropertyValue( B2UCONST( "TextField" ) ), UNO_QUERY ); + sContent = xTextField->getPresentation( /* show command: */ sal_False ); + if( sContent.isEmpty() ) + OSL_FAIL( "SVGTextWriter::writeTextPortion: content of URL TextField is empty." ); + } + mnLeftTextPortionLength = sContent.getLength(); } + } + else + { + sContent = mrCurrentTextPortion->getString(); + } - nStartPos = sContent.getLength() - mnLeftTextPortionLength; - if( nStartPos < 0 ) nStartPos = 0; - mnLeftTextPortionLength -= rText.Len(); + nStartPos = sContent.getLength() - mnLeftTextPortionLength; + if( nStartPos < 0 ) nStartPos = 0; + mnLeftTextPortionLength -= rText.Len(); - if( sContent.isEmpty() ) - continue; - if( sContent.equalsAscii( "\n" ) ) - mbLineBreak = sal_True; - if( sContent.match( rText, nStartPos ) ) - bNotSync = false; - } -// } while( bNotSync && nextParagraph() ); + if( sContent.isEmpty() ) + continue; + if( sContent.equalsAscii( "\n" ) ) + mbLineBreak = sal_True; + if( sContent.match( rText, nStartPos ) ) + bNotSync = false; + } } if( !mpVDev ) @@ -1607,82 +1800,10 @@ void SVGTextWriter::writeTextPortion( const Point& rPos, { implWriteTextPortion( rPos, rText, mpVDev->GetTextColor(), bApplyMapping ); } -// else -// { -// if( aMetric.GetRelief() != RELIEF_NONE ) -// { -// Color aReliefColor( COL_LIGHTGRAY ); -// Color aTextColor( mpVDev->GetTextColor() ); -// -// if ( aTextColor.GetColor() == COL_BLACK ) -// aTextColor = Color( COL_WHITE ); -// -// if ( aTextColor.GetColor() == COL_WHITE ) -// aReliefColor = Color( COL_BLACK ); -// -// -// Point aPos( rPos ); -// Point aOffset( 6, 6 ); -// -// if ( aMetric.GetRelief() == RELIEF_ENGRAVED ) -// { -// aPos -= aOffset; -// } -// else -// { -// aPos += aOffset; -// } -// -// ImplWriteText( aPos, rText, pDXArray, nWidth, aReliefColor, bApplyMapping ); -// ImplWriteText( rPos, rText, pDXArray, nWidth, aTextColor, bApplyMapping ); -// } -// else -// { -// if( aMetric.IsShadow() ) -// { -// long nOff = 1 + ((aMetric.GetLineHeight()-24)/24); -// if ( aMetric.IsOutline() ) -// nOff += 6; -// -// Color aTextColor( mpVDev->GetTextColor() ); -// Color aShadowColor = Color( COL_BLACK ); -// -// if ( (aTextColor.GetColor() == COL_BLACK) || (aTextColor.GetLuminance() < 8) ) -// aShadowColor = Color( COL_LIGHTGRAY ); -// -// Point aPos( rPos ); -// aPos += Point( nOff, nOff ); -// ImplWriteText( aPos, rText, pDXArray, nWidth, aShadowColor, bApplyMapping ); -// -// if( !aMetric.IsOutline() ) -// { -// ImplWriteText( rPos, rText, pDXArray, nWidth, aTextColor, bApplyMapping ); -// } -// } -// -// if( aMetric.IsOutline() ) -// { -// Point aPos = rPos + Point( -6, -6 ); -// ImplWriteText( aPos, rText, pDXArray, nWidth, mpVDev->GetTextColor(), bApplyMapping ); -// aPos = rPos + Point( +6, +6); -// ImplWriteText( aPos, rText, pDXArray, nWidth, mpVDev->GetTextColor(), bApplyMapping ); -// aPos = rPos + Point( -6, +0); -// ImplWriteText( aPos, rText, pDXArray, nWidth, mpVDev->GetTextColor(), bApplyMapping ); -// aPos = rPos + Point( -6, +6); -// ImplWriteText( aPos, rText, pDXArray, nWidth, mpVDev->GetTextColor(), bApplyMapping ); -// aPos = rPos + Point( +0, +6); -// ImplWriteText( aPos, rText, pDXArray, nWidth, mpVDev->GetTextColor(), bApplyMapping ); -// aPos = rPos + Point( +0, -6); -// ImplWriteText( aPos, rText, pDXArray, nWidth, mpVDev->GetTextColor(), bApplyMapping ); -// aPos = rPos + Point( +6, -1); -// ImplWriteText( aPos, rText, pDXArray, nWidth, mpVDev->GetTextColor(), bApplyMapping ); -// aPos = rPos + Point( +6, +0); -// ImplWriteText( aPos, rText, pDXArray, nWidth, mpVDev->GetTextColor(), bApplyMapping ); -// -// ImplWriteText( rPos, rText, pDXArray, nWidth, Color( COL_WHITE ), bApplyMapping ); -// } -// } -// } + else + { + // to be implemented + } } @@ -2784,13 +2905,14 @@ void SVGActionWriter::ImplWriteActions( const GDIMetaFile& rMtf, nWriteFlags |= SVGWRITER_NO_SHAPE_COMMENTS; +#if OSL_DEBUG_LEVEL > 0 bool bIsTextShape = false; if( !mrExport.IsUsePositionedCharacters() && pxShape && Reference< XText >( *pxShape, UNO_QUERY ).is() ) { bIsTextShape = true; } - +#endif mbIsPlacehlolderShape = false; if( ( pElementId != NULL ) && ( *pElementId == sPlaceholderTag ) ) { @@ -2804,6 +2926,7 @@ void SVGActionWriter::ImplWriteActions( const GDIMetaFile& rMtf, const MetaAction* pAction = rMtf.GetAction( nCurAction ); const sal_uInt16 nType = pAction->GetType(); +#if OSL_DEBUG_LEVEL > 0 if( bIsTextShape ) { try @@ -2848,7 +2971,7 @@ void SVGActionWriter::ImplWriteActions( const GDIMetaFile& rMtf, } } - +#endif switch( nType ) { case( META_PIXEL_ACTION ): _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits