ooo-build r11694 - in trunk: . patches/src680
- From: strba svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r11694 - in trunk: . patches/src680
- Date: Sun, 24 Feb 2008 09:17:34 +0000 (GMT)
Author: strba
Date: Sun Feb 24 09:17:34 2008
New Revision: 11694
URL: http://svn.gnome.org/viewvc/ooo-build?rev=11694&view=rev
Log:
2008-02-23 Fridrich Strba <fridrich strba bluewin ch>
* patches/src680/svg-import-filter.diff: get stroke-width and viewbox right,
temporarily interprete polyline as polygon; since firefox and inkscape do
the same; if no width and/or height is given, mimic inkscape that assumes A4;
get some draw:transform parameters.
* patches/src680/apply: actually list UnitExperimental, so that it does not
break badly after Michael's commit :-P
Modified:
trunk/ChangeLog
trunk/patches/src680/apply
trunk/patches/src680/svg-import-filter.diff
Modified: trunk/patches/src680/apply
==============================================================================
--- trunk/patches/src680/apply (original)
+++ trunk/patches/src680/apply Sun Feb 24 09:17:34 2008
@@ -28,7 +28,7 @@
VBAUntested, ArkOnlyExperimental, SharedWorksheets, \
UnUsedButNotYetRemovedFromSVN, \
PostgreSQL, SELinux, VOSremoval, Glib2, \
- SVGImport
+ UnitExperimental, SVGImport
# Binfilter patches: a special distro; applied only when building with binfilter
Binfilter : BFBuildBits, BFFixes
# System patches: a special distro; applied only when building with the system tarball unpacked
Modified: trunk/patches/src680/svg-import-filter.diff
==============================================================================
--- trunk/patches/src680/svg-import-filter.diff (original)
+++ trunk/patches/src680/svg-import-filter.diff Sun Feb 24 09:17:34 2008
@@ -1,5 +1,5 @@
---- filter/source/config/fragments/fcfg_drawgraphics.mk 2008-02-21 20:58:03.000000000 +0100
-+++ filter/source/config/fragments/fcfg_drawgraphics.mk 2008-02-21 17:30:17.000000000 +0100
+--- filter/source/config/fragments/fcfg_drawgraphics.mk 2008-02-23 12:33:09.000000000 +0100
++++ filter/source/config/fragments/fcfg_drawgraphics.mk 2008-02-23 08:55:34.000000000 +0100
@@ -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-21 20:42:40.000000000 +0100
++++ filter/source/config/fragments/filters/SVG___Scalable_Vector_Graphics.xcu 2008-02-23 08:55:34.000000000 +0100
@@ -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-02-21 20:58:03.000000000 +0100
-+++ filter/source/config/fragments/types/svg_Scalable_Vector_Graphics.xcu 2008-02-21 17:30:17.000000000 +0100
+--- filter/source/config/fragments/types/svg_Scalable_Vector_Graphics.xcu 2008-02-23 12:33:09.000000000 +0100
++++ filter/source/config/fragments/types/svg_Scalable_Vector_Graphics.xcu 2008-02-23 08:55:34.000000000 +0100
@@ -1,12 +1,12 @@
<node oor:name="svg_Scalable_Vector_Graphics" oor:op="replace" >
- <prop oor:name="DetectService"/>
@@ -43,8 +43,8 @@
- <prop oor:name="ClipboardFormat"/>
+ <prop oor:name="ClipboardFormat"><value>doctype:xmlns="http://www.w3.org/2000/svg"</value></prop>
</node>
---- filter/source/svg/exports.map 2008-02-21 20:58:03.000000000 +0100
-+++ filter/source/svg/exports.map 2008-02-21 17:30:17.000000000 +0100
+--- filter/source/svg/exports.map 2008-02-23 12:33:09.000000000 +0100
++++ filter/source/svg/exports.map 2008-02-23 08:55:34.000000000 +0100
@@ -1,4 +1,4 @@
-PDFFILTER_1_0 {
+SVGFILTER_1_0 {
@@ -59,7 +59,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-21 17:30:17.000000000 +0100
++++ filter/source/svg/gentoken.pl 2008-02-23 08:55:34.000000000 +0100
@@ -0,0 +1,58 @@
+# from oox/source/token - should really put this into solenv
+
@@ -120,7 +120,7 @@
+close ( HXX );
+close ( GPERF );
--- filter/source/svg/gfxtypes.hxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/gfxtypes.hxx 2008-02-21 17:30:17.000000000 +0100
++++ filter/source/svg/gfxtypes.hxx 2008-02-23 08:55:34.000000000 +0100
@@ -0,0 +1,309 @@
+/*************************************************************************
+ *
@@ -431,8 +431,8 @@
+} // namespace svgi
+
+#endif
---- filter/source/svg/makefile.mk 2008-02-21 20:58:03.000000000 +0100
-+++ filter/source/svg/makefile.mk 2008-02-21 17:30:17.000000000 +0100
+--- filter/source/svg/makefile.mk 2008-02-23 12:33:09.000000000 +0100
++++ filter/source/svg/makefile.mk 2008-02-23 08:55:34.000000000 +0100
@@ -34,47 +34,46 @@
#*************************************************************************
@@ -512,17 +512,8 @@
+
+$(SLO)$/svgreader.obj : $(INCCOM)$/tokens.cxx $(INCCOM)$/tokens.hxx
+
-diff -u -r -N filter/source/svg/makefile.mk.orig filter/source/svg/makefile.mk.orig
---- filter/source/svg/makefile.mk.orig 2008-02-21 19:57:24.000000000 +0100
-+++ filter/source/svg/makefile.mk.orig 2008-02-21 17:24:59.000000000 +0100
-@@ -96,5 +96,3 @@
-
- $(SLO)$/tokenmap.obj : $(INCCOM)$/tokens.cxx $(INCCOM)$/tokens.hxx
-
--$(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-02-21 17:30:17.000000000 +0100
++++ filter/source/svg/parserfragments.cxx 2008-02-23 08:55:34.000000000 +0100
@@ -0,0 +1,347 @@
+/*************************************************************************
+ *
@@ -872,7 +863,7 @@
+
+} // namespace svgi
--- filter/source/svg/parserfragments.hxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/parserfragments.hxx 2008-02-21 17:30:17.000000000 +0100
++++ filter/source/svg/parserfragments.hxx 2008-02-23 08:55:34.000000000 +0100
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
@@ -919,8 +910,8 @@
+} // namespace svgi
+
+#endif
---- filter/source/svg/svgfilter.cxx 2008-02-21 20:58:03.000000000 +0100
-+++ filter/source/svg/svgfilter.cxx 2008-02-21 20:49:24.000000000 +0100
+--- filter/source/svg/svgfilter.cxx 2008-02-23 12:33:09.000000000 +0100
++++ filter/source/svg/svgfilter.cxx 2008-02-23 08:55:34.000000000 +0100
@@ -96,11 +96,9 @@
if( pFocusWindow )
pFocusWindow->EnterWait();
@@ -984,8 +975,8 @@
// -----------------------------------------------------------------------------
---- filter/source/svg/svgfilter.hxx 2008-02-21 20:58:03.000000000 +0100
-+++ filter/source/svg/svgfilter.hxx 2008-02-21 17:30:17.000000000 +0100
+--- filter/source/svg/svgfilter.hxx 2008-02-23 12:33:09.000000000 +0100
++++ filter/source/svg/svgfilter.hxx 2008-02-23 08:55:34.000000000 +0100
@@ -231,18 +231,11 @@
class SVGActionWriter;
class EditFieldInfo;
@@ -1032,8 +1023,8 @@
// XExporter
virtual void SAL_CALL setSourceDocument( const Reference< XComponent >& xDoc ) throw(IllegalArgumentException, RuntimeException);
---- filter/source/svg/svgimport.cxx 2008-02-21 20:58:03.000000000 +0100
-+++ filter/source/svg/svgimport.cxx 2008-02-21 20:55:46.000000000 +0100
+--- filter/source/svg/svgimport.cxx 2008-02-23 12:33:09.000000000 +0100
++++ filter/source/svg/svgimport.cxx 2008-02-23 08:55:34.000000000 +0100
@@ -37,160 +37,59 @@
#include "precompiled_filter.hxx"
@@ -1244,8 +1235,8 @@
}
--- filter/source/svg/svgreader.cxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/svgreader.cxx 2008-02-21 19:58:55.000000000 +0100
-@@ -0,0 +1,990 @@
++++ filter/source/svg/svgreader.cxx 2008-02-23 11:38:26.000000000 +0100
+@@ -0,0 +1,1122 @@
+/*************************************************************************
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
@@ -1293,7 +1284,9 @@
+
+#define USTR(x) rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( x ) )
+#define OASIS_STR "urn:oasis:names:tc:opendocument:xmlns:"
-+#define USER_UNIT (10.0) // FIXME? 10.0 considered a nice magic value ;-)
++#define USER_UNIT (25.4) // FIXME? magic value ;-)
++
++#define VERBOSE 1
+
+using namespace ::com::sun::star;
+
@@ -1495,9 +1488,14 @@
+
+ if( maCurrState.mnStrokeWidth != 0.0 )
+ {
++#if 0
+ ::basegfx::B2DVector aVec(maCurrState.mnStrokeWidth,0);
+ aVec *= maCurrState.maCTM;
-+ xAttrs->AddAttribute( USTR("svg:stroke-width"), rtl::OUString::valueOf( aVec.getLength()/100.0 )+USTR("mm"));
++ xAttrs->AddAttribute( USTR("svg:stroke-width"), rtl::OUString::valueOf( aVec.getLength()/1000.0 )+USTR("mm"));
++ printf("Fridrich %f, %f\n", maCurrState.mnStrokeWidth, aVec.getLength());
++#else
++ xAttrs->AddAttribute( USTR("svg:stroke-width"), rtl::OUString::valueOf(maCurrState.mnStrokeWidth/100.0)+USTR("mm"));
++#endif
+ }
+ if( maCurrState.meLineJoin == basegfx::tools::B2DLINEJOIN_MITER )
+ xAttrs->AddAttribute( USTR( "draw:stroke-linejoin"), USTR("miter"));
@@ -1813,16 +1811,27 @@
+ sStyleId.toInt32());
+ maCurrState = pOrigState != mrStateMap.end() ? pOrigState->second : maParentStates.back();
+
++ fprintf(stderr,"the CTM is now #2: %f %f %f %f %f %f\n",
++ 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));
++
+ const sal_Int32 nTokenId(getTokenId(xElem->getNodeName()));
+ switch(nTokenId)
+ {
++ case XML_G:
++
++ break;
+ case XML_POLYGON:
+ case XML_POLYLINE:
+ {
+ rtl::OUString sPoints = xElem->getAttribute(USTR("points"));
+ basegfx::B2DPolygon aPoly;
+ basegfx::tools::importFromSvgPoints(aPoly, sPoints);
-+ if( nTokenId == XML_POLYGON )
++ // if( nTokenId == XML_POLYGON )
+ aPoly.setClosed(true);
+
+ writePathShape(xAttrs,
@@ -1891,10 +1900,10 @@
+ }
+ case XML_PATH:
+ {
-+ rtl::OUString sPath = xElem->getAttribute(USTR("d"));
++ rtl::OUString sPath = xElem->hasAttribute(USTR("d")) ? xElem->getAttribute(USTR("d")) : USTR("");
+ basegfx::B2DPolyPolygon aPoly;
+ basegfx::tools::importFromSvgD(aPoly, sPath);
-+
++
+ writePathShape(xAttrs,
+ xUnoAttrs,
+ xElem,
@@ -1902,6 +1911,14 @@
+ aPoly);
+ break;
+ }
++ case XML_CIRCLE:
++ {
++ break;
++ }
++ case XML_ELLIPSE:
++ {
++ break;
++ }
+ }
+ }
+
@@ -1914,6 +1931,36 @@
+ {
+ maParentStates.pop_back();
+ }
++
++ void writeTransformAttribute(const basegfx::B2DHomMatrix rMatrix, rtl::Reference<SvXMLAttributeList>& xAttrs)
++ {
++ basegfx::B2DTuple rScale, rTranslate;
++ double rRotate, rShearX;
++ ::rtl::OUString sTransformValue;
++ if (!rMatrix.decompose(rScale, rTranslate, rRotate, rShearX))
++ return;
++ fprintf(stderr, "Here we go!!!\n");
++ fprintf(stderr, "rScale.getX()=%f; rScale.getY()=%f\n", rScale.getX(), rScale.getY());
++ if (rScale.getX() != USER_UNIT || rScale.getY() != USER_UNIT)
++ sTransformValue += USTR("scale(")+::rtl::OUString::valueOf(rScale.getX()/USER_UNIT)+USTR(" ")
++ +::rtl::OUString::valueOf(rScale.getY()/USER_UNIT)+USTR(") ");
++ fprintf(stderr, "rTranslate.getX()=%f, rTranslate.getY()=%f\n", rTranslate.getX(), rTranslate.getY());
++ if (rTranslate.getX() != 0.0f || rTranslate.getY() != 0.0f)
++ // write translate
++ sTransformValue += USTR("translate(")+::rtl::OUString::valueOf(rTranslate.getX()*USER_UNIT/100.0f)+USTR("mm ")
++ +::rtl::OUString::valueOf(rTranslate.getY()*USER_UNIT/100.0f)+USTR("mm) ");
++ fprintf(stderr, "rRotate=%f\n", rRotate);
++ if (rRotate != 0.0f)
++ sTransformValue += USTR("rotate(")+::rtl::OUString::valueOf(rRotate)+USTR(") ");
++
++ if (rShearX != 0.0f)
++ sTransformValue += USTR("skewX(")+::rtl::OUString::valueOf(rShearX)+USTR(") ");
++ if (!sTransformValue.getLength())
++ return;
++ fprintf(stderr, "Here we go again!!!\n");
++ xAttrs->AddAttribute( USTR("draw:transform"), sTransformValue);
++ fprintf(stderr, "The transform string: %s\n", ::rtl::OUStringToOString(sTransformValue, RTL_TEXTENCODING_UTF8).getStr());
++ }
+
+ void writePathShape( rtl::Reference<SvXMLAttributeList>& xAttrs,
+ const uno::Reference<xml::sax::XAttributeList>& xUnoAttrs,
@@ -1929,7 +1976,17 @@
+
+ xAttrs->Clear();
+
-+ if( aState.maDashArray.size() )
++ fprintf(stderr,"the CTM is now #2: %f %f %f %f %f %f\n",
++ 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));
++
++ writeTransformAttribute(maCurrState.maCTM, xAttrs);
++
++ if( aState.maDashArray.size() )
+ {
+ // ODF dashing is severly borked - generate filled polygon instead
+ aPolys.clear();
@@ -2099,13 +2156,15 @@
+
+ // get the document dimensions
+
-+ // together with the AnnotatingVisitor, fake a somewhat upscaling
-+ // transformation, to avoid those dreaded integer roundoff errors
-+ // in the drawing layer
-+ double fViewPortWidth(
-+ USER_UNIT*convLength(xDocElem->getAttribute(USTR("width"))));
-+ double fViewPortHeight(
-+ USER_UNIT*convLength(xDocElem->getAttribute(USTR("height"))));
++ // if the "width" and "height" attributes are missing, inkscape fakes
++ // A4 portrait for. Let's do the same.
++ if (!xDocElem->hasAttribute(USTR("width")))
++ xDocElem->setAttribute(USTR("width"), USTR("210mm"));
++ if (!xDocElem->hasAttribute(USTR("height")))
++ xDocElem->setAttribute(USTR("height"), USTR("297mm"));
++
++ double fViewPortWidth( convLength(xDocElem->getAttribute(USTR("width"))));
++ double fViewPortHeight( convLength(xDocElem->getAttribute(USTR("height"))));
+
+ // document prolog
+ rtl::Reference<SvXMLAttributeList> xAttrs( new SvXMLAttributeList() );
@@ -2130,13 +2189,68 @@
+ xAttrs->AddAttribute( USTR( "xmlns:xsd" ), USTR( "http://www.w3.org/2001/XMLSchema" ));
+ xAttrs->AddAttribute( USTR( "xmlns:xsi" ), USTR( "http://www.w3.org/2001/XMLSchema-instance" ));
+ xAttrs->AddAttribute( USTR( "office:version" ), USTR( "1.0" ));
++ xAttrs->AddAttribute( USTR( "office:mimetype" ), USTR( "application/vnd.oasis.opendocument.graphics" ));
+
+ m_xDocumentHandler->startElement( USTR("office:document"), xUnoAttrs );
+
+ xAttrs->Clear();
++
++ m_xDocumentHandler->startElement( USTR("office:settings"), xUnoAttrs);
++
++ xAttrs->AddAttribute( USTR( "config:name" ), USTR( "ooo:view-settings" ));
++ m_xDocumentHandler->startElement( USTR("config:config-item-set"), xUnoAttrs);
++
++ xAttrs->Clear();
++
++ xAttrs->AddAttribute( USTR( "config:name" ), USTR( "VisibleAreaTop" ));
++ xAttrs->AddAttribute( USTR( "config:type" ), USTR( "int" ));
++ m_xDocumentHandler->startElement( USTR( "config:config-item" ), xUnoAttrs);
++
++ m_xDocumentHandler->characters( USTR( "0" ));
++
++ m_xDocumentHandler->endElement( USTR( "config:config-item" ));
++
++ xAttrs->Clear();
++
++ xAttrs->AddAttribute( USTR( "config:name" ), USTR( "VisibleAreaLeft" ));
++ xAttrs->AddAttribute( USTR( "config:type" ), USTR( "int" ));
++ m_xDocumentHandler->startElement( USTR( "config:config-item" ), xUnoAttrs);
++
++ m_xDocumentHandler->characters( USTR( "0" ));
++
++ m_xDocumentHandler->endElement( USTR( "config:config-item" ));
++
++ xAttrs->Clear();
++
++ xAttrs->AddAttribute( USTR( "config:name" ), USTR( "VisibleAreaWidth" ));
++ xAttrs->AddAttribute( USTR( "config:type" ), USTR( "int" ));
++ m_xDocumentHandler->startElement( USTR( "config:config-item" ), xUnoAttrs);
++
++ sal_Int64 iWidth = sal_Int64(fViewPortWidth);
++ m_xDocumentHandler->characters( ::rtl::OUString::valueOf(iWidth) );
++
++ m_xDocumentHandler->endElement( USTR( "config:config-item" ));
++
++ xAttrs->Clear();
++
++ xAttrs->AddAttribute( USTR( "config:name" ), USTR( "VisibleAreaHeight" ));
++ xAttrs->AddAttribute( USTR( "config:type" ), USTR( "int" ));
++ m_xDocumentHandler->startElement( USTR( "config:config-item" ), xUnoAttrs);
++
++ sal_Int64 iHeight = sal_Int64(fViewPortHeight);
++ m_xDocumentHandler->characters( ::rtl::OUString::valueOf(iHeight) );
++
++ m_xDocumentHandler->endElement( USTR( "config:config-item" ));
++
++ m_xDocumentHandler->endElement( USTR( "config:config-item-set" ));
++
++ m_xDocumentHandler->endElement( USTR( "office:settings" ));
++
++ xAttrs->Clear();
++
+ m_xDocumentHandler->startElement( USTR("office:automatic-styles"),
+ xUnoAttrs );
-+ xAttrs->Clear();
++
+ xAttrs->AddAttribute( USTR( "style:name" ), USTR("pagelayout1"));
+ m_xDocumentHandler->startElement( USTR("style:page-layout"),
+ xUnoAttrs );
@@ -2145,12 +2259,21 @@
+
+ // make page viewport-width times viewport-height mm large - add
+ // 5% border at every side
++#if 0
+ xAttrs->AddAttribute( USTR( "fo:margin-top" ), rtl::OUString::valueOf(fViewPortHeight/2000.0)+USTR("mm"));
+ xAttrs->AddAttribute( USTR( "fo:margin-bottom" ), rtl::OUString::valueOf(fViewPortHeight/2000.0)+USTR("mm"));
+ xAttrs->AddAttribute( USTR( "fo:margin-left" ), rtl::OUString::valueOf(fViewPortWidth/2000.0)+USTR("mm"));
+ xAttrs->AddAttribute( USTR( "fo:margin-right" ), rtl::OUString::valueOf(fViewPortWidth/2000.0)+USTR("mm"));
+ xAttrs->AddAttribute( USTR( "fo:page-width" ), rtl::OUString::valueOf(11.0*fViewPortWidth/1000.0)+USTR("mm"));
+ xAttrs->AddAttribute( USTR( "fo:page-height" ), rtl::OUString::valueOf(11.0*fViewPortHeight/1000.0)+USTR("mm"));
++#else
++ xAttrs->AddAttribute( USTR( "fo:margin-top" ), USTR("0mm"));
++ xAttrs->AddAttribute( USTR( "fo:margin-bottom" ), USTR("0mm"));
++ xAttrs->AddAttribute( USTR( "fo:margin-left" ), USTR("0mm"));
++ xAttrs->AddAttribute( USTR( "fo:margin-right" ), USTR("0mm"));
++ xAttrs->AddAttribute( USTR( "fo:page-width" ), rtl::OUString::valueOf(fViewPortWidth/100.0)+USTR("mm"));
++ xAttrs->AddAttribute( USTR( "fo:page-height" ), rtl::OUString::valueOf(fViewPortHeight/100.0)+USTR("mm"));
++#endif
+ xAttrs->AddAttribute( USTR( "style:print-orientation" ),
+ fViewPortWidth > fViewPortHeight ?
+ USTR("landscape") :
@@ -2237,7 +2360,7 @@
+
+} // namespace svgi
--- filter/source/svg/svgreader.hxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/svgreader.hxx 2008-02-21 17:30:17.000000000 +0100
++++ filter/source/svg/svgreader.hxx 2008-02-23 08:55:34.000000000 +0100
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
@@ -2283,7 +2406,7 @@
+
+#endif
--- filter/source/svg/tokenmap.cxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/tokenmap.cxx 2008-02-21 17:30:17.000000000 +0100
++++ filter/source/svg/tokenmap.cxx 2008-02-23 08:55:34.000000000 +0100
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
@@ -2348,7 +2471,7 @@
+
+} // namespace svgi
--- filter/source/svg/tokenmap.hxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/tokenmap.hxx 2008-02-21 17:30:17.000000000 +0100
++++ filter/source/svg/tokenmap.hxx 2008-02-23 08:55:34.000000000 +0100
@@ -0,0 +1,32 @@
+/*************************************************************************
+ *
@@ -2383,7 +2506,7 @@
+
+#endif
--- filter/source/svg/tokens.txt 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/tokens.txt 2008-02-21 17:30:17.000000000 +0100
++++ filter/source/svg/tokens.txt 2008-02-23 08:55:34.000000000 +0100
@@ -0,0 +1,246 @@
+#######################################
+#
@@ -2633,8 +2756,8 @@
+zoomAndPan
\ No newline at end of file
--- filter/source/svg/units.cxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/units.cxx 2008-02-21 17:30:17.000000000 +0100
-@@ -0,0 +1,82 @@
++++ filter/source/svg/units.cxx 2008-02-23 08:55:34.000000000 +0100
+@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
@@ -2675,7 +2798,7 @@
+ case SVG_LENGTH_UNIT_MM: return value * 100.0;
+ case SVG_LENGTH_UNIT_PC: return value * 2540.0/6.0;
+ case SVG_LENGTH_UNIT_PCT: fprintf( stderr, "TODO: legth type PCT not implemented.\n" ); return 1000.0;
-+ case SVG_LENGTH_UNIT_PT: return value * 35.277778;
++ case SVG_LENGTH_UNIT_PT: return value * 2540.0/72.0;
+ case SVG_LENGTH_UNIT_PX: return value;
+ default: fprintf( stderr, "Unknown length type\n" );
+ }
@@ -2705,6 +2828,7 @@
+ | str_p("pct")[assign_a(eUnit,SVG_LENGTH_UNIT_PCT)]
+ | str_p("pt") [assign_a(eUnit,SVG_LENGTH_UNIT_PT)]
+ | str_p("px") [assign_a(eUnit,SVG_LENGTH_UNIT_PX)]
++ | str_p("") [assign_a(eUnit,SVG_LENGTH_UNIT_PT)]
+ | end_p)
+ ),
+ // End grammar
@@ -2718,7 +2842,7 @@
+
+} // namespace svgi
--- filter/source/svg/units.hxx 1970-01-01 01:00:00.000000000 +0100
-+++ filter/source/svg/units.hxx 2008-02-21 17:30:17.000000000 +0100
++++ filter/source/svg/units.hxx 2008-02-23 08:55:34.000000000 +0100
@@ -0,0 +1,43 @@
+/*************************************************************************
+ *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]