ooo-build r12154 - in trunk: . patches/src680
- From: strba svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r12154 - in trunk: . patches/src680
- Date: Fri, 11 Apr 2008 13:57:45 +0100 (BST)
Author: strba
Date: Fri Apr 11 13:57:45 2008
New Revision: 12154
URL: http://svn.gnome.org/viewvc/ooo-build?rev=12154&view=rev
Log:
uint8_t -> unsigned char in WPXSvStream.cxx; initial parsing of gradients in SVG import
Modified:
trunk/ChangeLog
trunk/patches/src680/svg-import-filter.diff
trunk/patches/src680/writerperfect-testing.diff
Modified: trunk/patches/src680/svg-import-filter.diff
==============================================================================
--- trunk/patches/src680/svg-import-filter.diff (original)
+++ trunk/patches/src680/svg-import-filter.diff Fri Apr 11 13:57:45 2008
@@ -1,5 +1,5 @@
---- filter/source/config/fragments/fcfg_drawgraphics.mk 2008-03-03 11:43:33.000000000 +0100
-+++ filter/source/config/fragments/fcfg_drawgraphics.mk 2008-02-29 10:27:32.000000000 +0100
+--- filter/source/config/fragments/fcfg_drawgraphics.mk 2008-04-11 08:49:31.000000000 +0200
++++ filter/source/config/fragments/fcfg_drawgraphics.mk 2008-04-11 00:09:55.000000000 +0200
@@ -54,6 +54,7 @@
SGF___StarOffice_Writer_SGF \
SGV___StarDraw_2_0 \
@@ -9,7 +9,7 @@
TIF___Tag_Image_File \
WMF___MS_Windows_Metafile \
--- filter/source/config/fragments/filters/SVG___Scalable_Vector_Graphics.xcu 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/config/fragments/filters/SVG___Scalable_Vector_Graphics.xcu 2008-02-29 10:27:32.000000000 +0100
++++ filter/source/config/fragments/filters/SVG___Scalable_Vector_Graphics.xcu 2008-04-11 00:09:55.000000000 +0200
@@ -0,0 +1,13 @@
+ <node oor:name="SVG - Scalable Vector Graphics" oor:op="replace">
+ <prop oor:name="Flags"><value>IMPORT ALIEN USESOPTIONS 3RDPARTYFILTER PREFERRED</value></prop>
@@ -24,8 +24,8 @@
+ <prop oor:name="TemplateName"/>
+ <prop oor:name="DocumentService"><value>com.sun.star.drawing.DrawingDocument</value></prop>
+ </node>
---- filter/source/config/fragments/types/svg_Scalable_Vector_Graphics.xcu 2008-03-03 11:43:33.000000000 +0100
-+++ filter/source/config/fragments/types/svg_Scalable_Vector_Graphics.xcu 2008-02-29 10:27:32.000000000 +0100
+--- filter/source/config/fragments/types/svg_Scalable_Vector_Graphics.xcu 2008-04-11 08:49:31.000000000 +0200
++++ filter/source/config/fragments/types/svg_Scalable_Vector_Graphics.xcu 2008-04-11 00:09:55.000000000 +0200
@@ -1,12 +1,12 @@
<node oor:name="svg_Scalable_Vector_Graphics" oor:op="replace" >
- <prop oor:name="DetectService"/>
@@ -44,7 +44,7 @@
+ <prop oor:name="ClipboardFormat"><value>doctype:xmlns="http://www.w3.org/2000/svg"</value></prop>
</node>
--- filter/source/svg/b2dellipse.cxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/b2dellipse.cxx 2008-02-29 10:27:32.000000000 +0100
++++ filter/source/svg/b2dellipse.cxx 2008-04-11 00:09:55.000000000 +0200
@@ -0,0 +1,139 @@
+/*************************************************************************
+ *
@@ -186,7 +186,7 @@
+//////////////////////////////////////////////////////////////////////////////
+// eof
--- filter/source/svg/b2dellipse.hxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/b2dellipse.hxx 2008-02-29 10:27:32.000000000 +0100
++++ filter/source/svg/b2dellipse.hxx 2008-04-11 00:09:55.000000000 +0200
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
@@ -265,8 +265,8 @@
+//////////////////////////////////////////////////////////////////////////////
+
+#endif /* _BASEGFX_B2DELLIPSE_HXX */
---- filter/source/svg/exports.map 2008-03-03 11:43:33.000000000 +0100
-+++ filter/source/svg/exports.map 2008-02-29 10:27:32.000000000 +0100
+--- filter/source/svg/exports.map 2008-04-11 08:49:31.000000000 +0200
++++ filter/source/svg/exports.map 2008-04-11 00:09:55.000000000 +0200
@@ -1,4 +1,4 @@
-PDFFILTER_1_0 {
+SVGFILTER_1_0 {
@@ -281,7 +281,7 @@
\ No newline at end of file
+};
--- filter/source/svg/gentoken.pl 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/gentoken.pl 2008-02-29 10:27:32.000000000 +0100
++++ filter/source/svg/gentoken.pl 2008-04-11 00:09:55.000000000 +0200
@@ -0,0 +1,58 @@
+# from oox/source/token - should really put this into solenv
+
@@ -342,8 +342,8 @@
+close ( HXX );
+close ( GPERF );
--- filter/source/svg/gfxtypes.hxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/gfxtypes.hxx 2008-02-29 10:27:32.000000000 +0100
-@@ -0,0 +1,309 @@
++++ filter/source/svg/gfxtypes.hxx 2008-04-11 00:09:55.000000000 +0200
+@@ -0,0 +1,317 @@
+/*************************************************************************
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
@@ -368,6 +368,7 @@
+
+#include <hash_set>
+#include <hash_map>
++#include <rtl/ustring.hxx>
+
+namespace svgi
+{
@@ -408,24 +409,31 @@
+
+struct GradientStop
+{
-+ GradientStop() : maStopColor(), mnStopPosition(0.0)
++ GradientStop() : maStopColor(), mnStopPosition(0.0), msId()
+ {}
-+ ARGBColor maStopColor;
-+ double mnStopPosition;
++ ARGBColor maStopColor;
++ double mnStopPosition;
++ rtl::OUString msId;
+};
+inline bool operator==( const GradientStop& rLHS, const GradientStop& rRHS )
+{ return rLHS.mnStopPosition==rRHS.mnStopPosition && rLHS.maStopColor==rRHS.maStopColor; }
+
+struct Gradient
+{
-+ Gradient() : maStops(), mbBoundingBoxUnits(false)
++ Gradient() : maStops(), mbBoundingBoxUnits(false), msId(), msLinkedTo(), mfX1(0.0f), mfX2(0.0f), mfY1(0.0f), mfY2(0.0f)
+ {}
+ std::vector<GradientStop> maStops;
+ bool mbBoundingBoxUnits;
++ rtl::OUString msId, msLinkedTo;
++ double mfX1, mfX2, mfY1, mfY2;
+};
+
+inline bool operator==( const Gradient& rLHS, const Gradient& rRHS )
-+{ return rLHS.mbBoundingBoxUnits==rRHS.mbBoundingBoxUnits && rLHS.maStops==rRHS.maStops; }
++{
++ return rLHS.mbBoundingBoxUnits==rRHS.mbBoundingBoxUnits && rLHS.maStops==rRHS.maStops &&
++ rLHS.msId.equals(rRHS.msId) && rLHS.msLinkedTo.equals(rRHS.msLinkedTo) &&
++ rLHS.mfX1 == rRHS.mfX1 && rLHS.mfX2 == rRHS.mfX2 && rLHS.mfY1 == rRHS.mfY1 && rLHS.mfY2 == rRHS.mfY2;
++}
+
+enum PaintType
+{
@@ -653,8 +661,8 @@
+} // namespace svgi
+
+#endif
---- filter/source/svg/makefile.mk 2008-03-03 11:43:33.000000000 +0100
-+++ filter/source/svg/makefile.mk 2008-02-29 10:27:32.000000000 +0100
+--- filter/source/svg/makefile.mk 2008-04-11 08:49:31.000000000 +0200
++++ filter/source/svg/makefile.mk 2008-04-11 00:09:55.000000000 +0200
@@ -34,24 +34,35 @@
#*************************************************************************
@@ -744,8 +752,8 @@
+$(SLO)$/svgreader.obj : $(INCCOM)$/tokens.cxx $(INCCOM)$/tokens.hxx
+
--- filter/source/svg/parserfragments.cxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/parserfragments.cxx 2008-03-03 12:47:08.000000000 +0100
-@@ -0,0 +1,518 @@
++++ filter/source/svg/parserfragments.cxx 2008-04-11 00:09:55.000000000 +0200
+@@ -0,0 +1,536 @@
+/*************************************************************************
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
@@ -1065,6 +1073,24 @@
+ }
+}
+
++bool parseOpacity (const char* sOpacity, ARGBColor& rColor )
++{
++ using namespace ::boost::spirit;
++
++
++ if( parse(sOpacity,
++ // Begin grammar
++ (
++ real_p[assign_a(rColor.a)]
++ ) >> end_p,
++ // End grammar
++ space_p).full )
++ {
++ return true;
++ }
++ return false;
++}
++
+//////////////////////////////////////////////////////////////
+
+bool parseTransform( const char* sTransform, basegfx::B2DHomMatrix& rTransform )
@@ -1265,8 +1291,8 @@
+
+} // namespace svgi
--- filter/source/svg/parserfragments.hxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/parserfragments.hxx 2008-02-29 10:27:32.000000000 +0100
-@@ -0,0 +1,49 @@
++++ filter/source/svg/parserfragments.hxx 2008-04-11 00:09:55.000000000 +0200
+@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
@@ -1300,6 +1326,7 @@
+
+ /// Parse given string for one of the SVG color grammars
+ bool parseColor( const char* sColor, ARGBColor& rColor );
++ bool parseOpacity( const char* sOpacity, ARGBColor& rColor );
+
+ /// Parse given string for one of the SVG transformation grammars
+ bool parseTransform( const char* sTransform, basegfx::B2DHomMatrix& rTransform );
@@ -1317,7 +1344,7 @@
+
+#endif
--- filter/source/svg/spirit_supplements.hxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/spirit_supplements.hxx 2008-02-29 10:27:32.000000000 +0100
++++ filter/source/svg/spirit_supplements.hxx 2008-04-11 00:09:55.000000000 +0200
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
@@ -1413,8 +1440,8 @@
+
+# endif
+#endif
---- filter/source/svg/svgfilter.cxx 2008-03-03 11:43:33.000000000 +0100
-+++ filter/source/svg/svgfilter.cxx 2008-02-29 10:27:32.000000000 +0100
+--- filter/source/svg/svgfilter.cxx 2008-04-11 08:49:31.000000000 +0200
++++ filter/source/svg/svgfilter.cxx 2008-04-11 00:09:55.000000000 +0200
@@ -96,11 +96,9 @@
if( pFocusWindow )
pFocusWindow->EnterWait();
@@ -1478,8 +1505,8 @@
// -----------------------------------------------------------------------------
---- filter/source/svg/svgfilter.hxx 2008-03-03 11:43:33.000000000 +0100
-+++ filter/source/svg/svgfilter.hxx 2008-02-29 10:27:32.000000000 +0100
+--- filter/source/svg/svgfilter.hxx 2008-04-11 08:49:31.000000000 +0200
++++ filter/source/svg/svgfilter.hxx 2008-04-11 00:09:55.000000000 +0200
@@ -57,11 +57,9 @@
#ifndef _COM_SUN_STAR_DOCUMENT_XFILTER_HPP_
#include <com/sun/star/document/XFilter.hpp>
@@ -1554,8 +1581,8 @@
// XExporter
virtual void SAL_CALL setSourceDocument( const Reference< XComponent >& xDoc ) throw(IllegalArgumentException, RuntimeException);
---- filter/source/svg/svgimport.cxx 2008-03-03 11:43:33.000000000 +0100
-+++ filter/source/svg/svgimport.cxx 2008-02-29 10:27:32.000000000 +0100
+--- filter/source/svg/svgimport.cxx 2008-04-11 08:49:32.000000000 +0200
++++ filter/source/svg/svgimport.cxx 2008-04-11 00:09:55.000000000 +0200
@@ -37,160 +37,59 @@
#include "precompiled_filter.hxx"
@@ -1766,8 +1793,8 @@
}
--- filter/source/svg/svgreader.cxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/svgreader.cxx 2008-02-29 10:27:32.000000000 +0100
-@@ -0,0 +1,1402 @@
++++ filter/source/svg/svgreader.cxx 2008-04-11 09:33:30.000000000 +0200
+@@ -0,0 +1,1499 @@
+/*************************************************************************
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
@@ -1813,6 +1840,7 @@
+
+#include <boost/bind.hpp>
+#include <hash_set>
++#include <map>
+#include <string.h>
+
+#define USTR(x) rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( x ) )
@@ -1882,7 +1910,10 @@
+ maParentStates(),
+ mrStates(rStatePool),
+ mrStateMap(rStateMap),
-+ mxDocumentHandler(xDocumentHandler)
++ mxDocumentHandler(xDocumentHandler),
++ mpCurrentGradient(NULL),
++ mpCurrentGradientStop(NULL),
++ mxGradientVector()
+ {
+ State aState;
+ aState.maCTM = aState.maTransform;
@@ -1895,58 +1926,89 @@
+ void operator()( const uno::Reference<xml::dom::XElement>& xElem,
+ const uno::Reference<xml::dom::XNamedNodeMap>& xAttributes )
+ {
-+ // init state. inherit defaults from parent.
-+ maCurrState = maParentStates.back();
-+ maCurrState.maTransform.identity();
-+
-+ OSL_TRACE("the CTM is currently #1: %f %f %f %f %f %f",
-+ maCurrState.maCTM.get(0,0),
-+ maCurrState.maCTM.get(0,1),
-+ maCurrState.maCTM.get(0,2),
-+ maCurrState.maCTM.get(1,0),
-+ maCurrState.maCTM.get(1,1),
-+ maCurrState.maCTM.get(1,2));
-+
-+ // scan for style info
-+ const sal_Int32 nNumElems( xAttributes->getLength() );
-+ rtl::OUString sAttributeValue;
-+ for( sal_Int32 i=0; i<nNumElems; ++i )
-+ {
-+ sAttributeValue = xAttributes->item(i)->getNodeValue();
-+ const sal_Int32 nTokenId(
-+ getTokenId(xAttributes->item(i)->getNodeName()));
-+ if( XML_STYLE == nTokenId )
-+ parseStyle(sAttributeValue);
-+ else
-+ parseAttribute(nTokenId,
-+ xAttributes->item(i)->getNodeName(),
-+ sAttributeValue);
-+ }
-+
-+ // all attributes parsed, can calc total CTM now
-+ if( !maCurrState.maViewBox.isEmpty() &&
-+ maCurrState.maViewBox.getWidth() != 0.0 &&
-+ maCurrState.maViewBox.getHeight() != 0.0 )
-+ {
-+ // transform aViewBox into viewport, such that they
-+ // coincide
-+ maCurrState.maTransform.translate(-maCurrState.maViewBox.getMinX(),
-+ -maCurrState.maViewBox.getMinY());
-+ maCurrState.maTransform.scale(maCurrState.maViewport.getWidth()/maCurrState.maViewBox.getWidth(),
-+ maCurrState.maViewport.getHeight()/maCurrState.maViewBox.getHeight());
-+ }
-+ maCurrState.maCTM *= maCurrState.maTransform;
-+
-+ OSL_TRACE("the CTM is currently #2: %f %f %f %f %f %f",
-+ maCurrState.maCTM.get(0,0),
-+ maCurrState.maCTM.get(0,1),
-+ maCurrState.maCTM.get(0,2),
-+ maCurrState.maCTM.get(1,0),
-+ maCurrState.maCTM.get(1,1),
-+ maCurrState.maCTM.get(1,2));
++ sal_Int32 nTagId(getTokenId(xElem->getTagName()));
++ switch (nTagId)
++ {
++ case XML_LINEARGRADIENT:
++ {
++ const sal_Int32 nNumAttrs( xAttributes->getLength() );
++ rtl::OUString sAttributeValue;
++ mxGradientVector.push_back(Gradient());
++ mpCurrentGradient = &(mxGradientVector.back());
++ for( sal_Int32 i=0; i<nNumAttrs; ++i )
++ {
++ parseGradientData( getTokenId(xAttributes->item(i)->getNodeName()), xAttributes->item(i)->getNodeValue() );
++ }
++ break;
++ }
++ case XML_STOP:
++ {
++
++ const sal_Int32 nNumAttrs( xAttributes->getLength() );
++ rtl::OUString sAttributeValue;
++ mpCurrentGradient->maStops.push_back(GradientStop());
++ mpCurrentGradientStop = &(mpCurrentGradient->maStops.back());
++ for( sal_Int32 i=0; i<nNumAttrs; ++i )
++ {
++ parseGradientStop( getTokenId(xAttributes->item(i)->getNodeName()), xAttributes->item(i)->getNodeValue() );
++ }
++ break;
++ }
++ default:
++ {
++ // init state. inherit defaults from parent.
++ maCurrState = maParentStates.back();
++ maCurrState.maTransform.identity();
++
++ OSL_TRACE("the CTM is currently #1: %f %f %f %f %f %f",
++ maCurrState.maCTM.get(0,0),
++ maCurrState.maCTM.get(0,1),
++ maCurrState.maCTM.get(0,2),
++ maCurrState.maCTM.get(1,0),
++ maCurrState.maCTM.get(1,1),
++ maCurrState.maCTM.get(1,2));
++
++ // scan for style info
++ const sal_Int32 nNumAttrs( xAttributes->getLength() );
++ rtl::OUString sAttributeValue;
++ for( sal_Int32 i=0; i<nNumAttrs; ++i )
++ {
++ sAttributeValue = xAttributes->item(i)->getNodeValue();
++ const sal_Int32 nTokenId(
++ getTokenId(xAttributes->item(i)->getNodeName()));
++ if( XML_STYLE == nTokenId )
++ parseStyle(sAttributeValue);
++ else
++ parseAttribute(nTokenId,
++ sAttributeValue);
++ }
++
++ // all attributes parsed, can calc total CTM now
++ if( !maCurrState.maViewBox.isEmpty() &&
++ maCurrState.maViewBox.getWidth() != 0.0 &&
++ maCurrState.maViewBox.getHeight() != 0.0 )
++ {
++ // transform aViewBox into viewport, such that they
++ // coincide
++ maCurrState.maTransform.translate(-maCurrState.maViewBox.getMinX(),
++ -maCurrState.maViewBox.getMinY());
++ maCurrState.maTransform.scale(maCurrState.maViewport.getWidth()/maCurrState.maViewBox.getWidth(),
++ maCurrState.maViewport.getHeight()/maCurrState.maViewBox.getHeight());
++ }
++ maCurrState.maCTM *= maCurrState.maTransform;
++
++ OSL_TRACE("the CTM is currently #2: %f %f %f %f %f %f",
++ maCurrState.maCTM.get(0,0),
++ maCurrState.maCTM.get(0,1),
++ maCurrState.maCTM.get(0,2),
++ maCurrState.maCTM.get(1,0),
++ maCurrState.maCTM.get(1,1),
++ maCurrState.maCTM.get(1,2));
+
-+ // if necessary, serialize to automatic-style section
-+ writeStyle(xElem);
++ // if necessary, serialize to automatic-style section
++ writeStyle(xElem);
++ }
++ }
+ }
+
+ rtl::OUString getStyleName( const char* sPrefix, sal_Int32 nId )
@@ -2102,9 +2164,64 @@
+ {
+ maParentStates.pop_back();
+ }
-+
++
++ void parseGradientData( const sal_Int32 nTokenId,
++ const rtl::OUString& sValue )
++ {
++ switch(nTokenId)
++ {
++ case XML_X1:
++ mpCurrentGradient->mfX1 = convLength(sValue);
++ break;
++ case XML_X2:
++ mpCurrentGradient->mfX2 = convLength(sValue);
++ break;
++ case XML_Y1:
++ mpCurrentGradient->mfY1 = convLength(sValue);
++ break;
++ case XML_Y2:
++ mpCurrentGradient->mfY2 = convLength(sValue);
++ break;
++ case XML_ID:
++ mpCurrentGradient->msId = sValue;
++ break;
++ case XML_GRADIENTUNITS:
++ if (getTokenId(sValue) == XML_OBJECTBOUNDINGBOX)
++ mpCurrentGradient->mbBoundingBoxUnits = true;
++ else
++ mpCurrentGradient->mbBoundingBoxUnits = false;
++ break;
++ case XML_XLINK_HREF:
++ if (sValue.copy(0,1).equalsAscii("#"))
++ mpCurrentGradient->msLinkedTo = sValue.copy(1);
++ else
++ mpCurrentGradient->msLinkedTo = sValue;
++ break;
++ default:
++ break;
++ }
++ }
++
++ void parseGradientStop( const sal_Int32 nTokenId,
++ const rtl::OUString& sValue )
++ {
++ switch(nTokenId)
++ {
++ case XML_ID:
++ mpCurrentGradientStop->msId = sValue;
++ break;
++ case XML_OFFSET:
++ mpCurrentGradientStop->mnStopPosition = sValue.toDouble();
++ break;
++ case XML_STYLE:
++ parseStyle( sValue );
++ break;
++ default:
++ break;
++ }
++ }
++
+ void parseAttribute( const sal_Int32 nTokenId,
-+ const rtl::OUString& sAttribute,
+ const rtl::OUString& sValue )
+ {
+ rtl::OString aValueUtf8( sValue.getStr(),
@@ -2256,12 +2373,14 @@
+ case XML_FONT_VARIANT:
+ maCurrState.meFontVariant=VARIANT_SMALLCAPS; // TODO: sValue.toDouble();
+ break;
++ case XML_STOP_COLOR:
++ parseColor( aValueUtf8, mpCurrentGradientStop->maStopColor );
++ break;
++ case XML_STOP_OPACITY:
++ parseOpacity( aValueUtf8, mpCurrentGradientStop->maStopColor );
++ break;
+ default:
-+ OSL_TRACE("unhandled token %s (detected as %s)",
-+ rtl::OUStringToOString(
-+ sAttribute,
-+ RTL_TEXTENCODING_UTF8 ).getStr(),
-+ getTokenName(nTokenId));
++ OSL_TRACE("unhandled token %s", getTokenName(nTokenId));
+ break;
+ }
+ }
@@ -2287,7 +2406,6 @@
+
+ // recurse into normal attribute parsing
+ parseAttribute( getTokenId(aCurrAttrib),
-+ aCurrAttrib,
+ aCurrValue );
+ }
+ while( nIndex != -1 );
@@ -2314,6 +2432,9 @@
+ rColor = rInheritColor;
+ rGradient = rInheritGradient;
+ }
++ else if( strncmp(sValue,"url",3) == 0)
++ {
++ }
+ else
+ {
+ rType = SOLID;
@@ -2327,6 +2448,9 @@
+ StatePool& mrStates;
+ StateMap& mrStateMap;
+ uno::Reference<xml::sax::XDocumentHandler> mxDocumentHandler;
++ Gradient* mpCurrentGradient;
++ GradientStop* mpCurrentGradientStop;
++ std::vector< Gradient > mxGradientVector;
+};
+
+/// Annotate svg styles with unique references to state pool
@@ -2383,10 +2507,10 @@
+ case XML_LINE:
+ {
+ // collect attributes
-+ const sal_Int32 nNumElems( xAttributes->getLength() );
++ const sal_Int32 nNumAttrs( xAttributes->getLength() );
+ rtl::OUString sAttributeValue;
+ double x1=0.0,y1=0.0,x2=0.0,y2=0.0;
-+ for( sal_Int32 i=0; i<nNumElems; ++i )
++ for( sal_Int32 i=0; i<nNumAttrs; ++i )
+ {
+ sAttributeValue = xAttributes->item(i)->getNodeValue();
+ const sal_Int32 nAttribId(
@@ -2448,11 +2572,11 @@
+ case XML_RECT:
+ {
+ // collect attributes
-+ const sal_Int32 nNumElems( xAttributes->getLength() );
++ const sal_Int32 nNumAttrs( xAttributes->getLength() );
+ rtl::OUString sAttributeValue;
+ bool bRxSeen=false, bRySeen=false;
+ double x=0.0,y=0.0,width=0.0,height=0.0,rx=0.0,ry=0.0;
-+ for( sal_Int32 i=0; i<nNumElems; ++i )
++ for( sal_Int32 i=0; i<nNumAttrs; ++i )
+ {
+ sAttributeValue = xAttributes->item(i)->getNodeValue();
+ const sal_Int32 nAttribId(
@@ -2523,10 +2647,10 @@
+ case XML_CIRCLE:
+ {
+ // collect attributes
-+ const sal_Int32 nNumElems( xAttributes->getLength() );
++ const sal_Int32 nNumAttrs( xAttributes->getLength() );
+ rtl::OUString sAttributeValue;
+ double cx=0.0,cy=0.0,r=0.0;
-+ for( sal_Int32 i=0; i<nNumElems; ++i )
++ for( sal_Int32 i=0; i<nNumAttrs; ++i )
+ {
+ sAttributeValue = xAttributes->item(i)->getNodeValue();
+ const sal_Int32 nAttribId(
@@ -2557,10 +2681,10 @@
+ case XML_ELLIPSE:
+ {
+ // collect attributes
-+ const sal_Int32 nNumElems( xAttributes->getLength() );
++ const sal_Int32 nNumAttrs( xAttributes->getLength() );
+ rtl::OUString sAttributeValue;
+ double cx=0.0,cy=0.0,rx=0.0, ry=0.0;
-+ for( sal_Int32 i=0; i<nNumElems; ++i )
++ for( sal_Int32 i=0; i<nNumAttrs; ++i )
+ {
+ sAttributeValue = xAttributes->item(i)->getNodeValue();
+ const sal_Int32 nAttribId(
@@ -2594,10 +2718,10 @@
+ case XML_IMAGE:
+ {
+ // collect attributes
-+ const sal_Int32 nNumElems( xAttributes->getLength() );
++ const sal_Int32 nNumAttrs( xAttributes->getLength() );
+ rtl::OUString sAttributeValue;
+ double x=0.0,y=0.0,width=0.0,height=0.0;
-+ for( sal_Int32 i=0; i<nNumElems; ++i )
++ for( sal_Int32 i=0; i<nNumAttrs; ++i )
+ {
+ sAttributeValue = xAttributes->item(i)->getNodeValue();
+ const sal_Int32 nAttribId(
@@ -2644,10 +2768,10 @@
+ xml::dom::NodeType_TEXT_NODE);
+
+ // collect attributes
-+ const sal_Int32 nNumElems( xAttributes->getLength() );
++ const sal_Int32 nNumAttrs( xAttributes->getLength() );
+ rtl::OUString sAttributeValue;
+ double x=0.0,y=0.0,width=0.0,height=0.0;
-+ for( sal_Int32 i=0; i<nNumElems; ++i )
++ for( sal_Int32 i=0; i<nNumAttrs; ++i )
+ {
+ sAttributeValue = xAttributes->item(i)->getNodeValue();
+ const sal_Int32 nAttribId(
@@ -2919,8 +3043,8 @@
+ rtl::OUStringToOString(
+ xElem->getTagName(),
+ RTL_TEXTENCODING_UTF8 ).getStr());
-+ const sal_Int32 nNumElems( xAttributes->getLength() );
-+ for( sal_Int32 i=0; i<nNumElems; ++i )
++ const sal_Int32 nNumAttrs( xAttributes->getLength() );
++ for( sal_Int32 i=0; i<nNumAttrs; ++i )
+ {
+ OSL_TRACE(" %s=%s",
+ rtl::OUStringToOString(
@@ -3171,7 +3295,7 @@
+
+} // namespace svgi
--- filter/source/svg/svgreader.hxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/svgreader.hxx 2008-02-29 10:27:32.000000000 +0100
++++ filter/source/svg/svgreader.hxx 2008-04-11 00:09:55.000000000 +0200
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
@@ -3217,7 +3341,7 @@
+
+#endif
--- filter/source/svg/tokenmap.cxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/tokenmap.cxx 2008-02-29 10:27:32.000000000 +0100
++++ filter/source/svg/tokenmap.cxx 2008-04-11 00:09:55.000000000 +0200
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
@@ -3282,7 +3406,7 @@
+
+} // namespace svgi
--- filter/source/svg/tokenmap.hxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/tokenmap.hxx 2008-02-29 10:27:32.000000000 +0100
++++ filter/source/svg/tokenmap.hxx 2008-04-11 00:09:55.000000000 +0200
@@ -0,0 +1,32 @@
+/*************************************************************************
+ *
@@ -3317,8 +3441,8 @@
+
+#endif
--- filter/source/svg/tokens.txt 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/tokens.txt 2008-03-03 11:57:02.000000000 +0100
-@@ -0,0 +1,398 @@
++++ filter/source/svg/tokens.txt 2008-04-11 00:09:55.000000000 +0200
+@@ -0,0 +1,405 @@
+#######################################
+#
+# elements (SVG Tiny 1.2)
@@ -3717,8 +3841,15 @@
+whitesmoke
+yellow
+yellowgreen
++#######################################
++#
++# Gradient units values
++#
++#######################################
++userSpaceOnUse
++objectBoundingBox
--- filter/source/svg/units.cxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/units.cxx 2008-02-29 10:27:32.000000000 +0100
++++ filter/source/svg/units.cxx 2008-04-11 00:09:55.000000000 +0200
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
@@ -3833,7 +3964,7 @@
+
+} // namespace svgi
--- filter/source/svg/units.hxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/units.hxx 2008-02-29 10:27:32.000000000 +0100
++++ filter/source/svg/units.hxx 2008-04-11 00:09:55.000000000 +0200
@@ -0,0 +1,47 @@
+/*************************************************************************
+ *
Modified: trunk/patches/src680/writerperfect-testing.diff
==============================================================================
--- trunk/patches/src680/writerperfect-testing.diff (original)
+++ trunk/patches/src680/writerperfect-testing.diff Fri Apr 11 13:57:45 2008
@@ -3836,6 +3836,15 @@
mxChildStorage(),
mxChildStream(),
mxStream(xStream),
+@@ -41,7 +41,7 @@
+ {
+ }
+
+-const uint8_t * WPXSvInputStream::read(size_t numBytes, size_t &numBytesRead)
++const unsigned char * WPXSvInputStream::read(size_t numBytes, size_t &numBytesRead)
+ {
+ numBytesRead = 0;
+
@@ -52,7 +52,7 @@
if (numBytesRead == 0)
return 0;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]