You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by al...@apache.org on 2011/12/01 17:26:53 UTC

svn commit: r1209140 [1/11] - in /incubator/ooo/branches/alg/svgreplacement/main: ./ basegfx/inc/basegfx/matrix/ basegfx/inc/basegfx/polygon/ basegfx/source/polygon/ cppcanvas/source/mtfrenderer/ drawinglayer/ drawinglayer/inc/drawinglayer/primitive2d/...

Author: alg
Date: Thu Dec  1 16:25:17 2011
New Revision: 1209140

URL: http://svn.apache.org/viewvc?rev=1209140&view=rev
Log:
svg: First version of replacement, usable but not yet complete

Added:
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/drawinglayer.component   (with props)
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/svggradientprimitive2d.hxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/textbreakuphelper.hxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/tools/
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/tools/converters.hxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/drawinglayeruno/
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/drawinglayeruno/drawinglayeruno.cxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/drawinglayeruno/xprimitive2drenderer.cxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/primitive2d/svggradientprimitive2d.cxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/primitive2d/textbreakuphelper.cxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/tools/
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/tools/converters.cxx
    incubator/ooo/branches/alg/svgreplacement/main/offapi/com/sun/star/graphic/Primitive2DTools.idl
    incubator/ooo/branches/alg/svgreplacement/main/offapi/com/sun/star/graphic/SvgTools.idl
    incubator/ooo/branches/alg/svgreplacement/main/offapi/com/sun/star/graphic/XPrimitive2DRenderer.idl
    incubator/ooo/branches/alg/svgreplacement/main/offapi/com/sun/star/graphic/XSvgParser.idl
    incubator/ooo/branches/alg/svgreplacement/main/svgio/
    incubator/ooo/branches/alg/svgreplacement/main/svgio/Library_svgio.mk
    incubator/ooo/branches/alg/svgreplacement/main/svgio/Makefile
    incubator/ooo/branches/alg/svgreplacement/main/svgio/Module_svgio.mk
    incubator/ooo/branches/alg/svgreplacement/main/svgio/Package_inc.mk
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/makefile.mk
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/pch/
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/pch/precompiled_svgio.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/pch/precompiled_svgio.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgiodllapi.h
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgcharacternode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgcirclenode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgdocument.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgdocumenthandler.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgellipsenode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svggnode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svggradientnode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svggradientstopnode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgimagenode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svglinenode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgnode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgpaint.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgpathnode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgpolynode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgrectnode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgstyleattributes.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgstylenode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgsvgnode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgsymbolnode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgtextnode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgtextpathnode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgtoken.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgtools.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgtrefnode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgtspannode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/inc/svgio/svgreader/svgusenode.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/prj/
    incubator/ooo/branches/alg/svgreplacement/main/svgio/prj/build.lst
    incubator/ooo/branches/alg/svgreplacement/main/svgio/prj/d.lst   (with props)
    incubator/ooo/branches/alg/svgreplacement/main/svgio/prj/makefile.mk
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgcharacternode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgcirclenode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgdocument.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgdocumenthandler.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgellipsenode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svggnode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svggradientnode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svggradientstopnode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgimagenode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svglinenode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgnode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgpaint.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgpathnode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgpolynode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgrectnode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgstyleattributes.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgstylenode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgsvgnode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgsymbolnode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgtextnode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgtextpathnode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgtoken.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgtools.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgtrefnode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgtspannode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svgreader/svgusenode.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svguno/
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svguno/svguno.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/source/svguno/xsvgparser.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svgio/svgio.component   (with props)
    incubator/ooo/branches/alg/svgreplacement/main/vcl/inc/vcl/svgdata.hxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/source/gdi/svgdata.cxx
    incubator/ooo/branches/alg/svgreplacement/main/xmloff/inc/xmloff/xmlmultiimagehelper.hxx
    incubator/ooo/branches/alg/svgreplacement/main/xmloff/source/core/xmlmultiimagehelper.cxx
Removed:
    incubator/ooo/branches/alg/svgreplacement/main/cppcanvas/source/mtfrenderer/rendergraphicaction.cxx
    incubator/ooo/branches/alg/svgreplacement/main/cppcanvas/source/mtfrenderer/rendergraphicaction.hxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/rendergraphicprimitive2d.hxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/primitive2d/rendergraphicprimitive2d.cxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/inc/vcl/rendergraphic.hxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/inc/vcl/rendergraphicrasterizer.hxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/inc/vcl/svgread.hxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/source/gdi/rendergraphic.cxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/source/gdi/rendergraphicrasterizer.cxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/source/gdi/svgread.cxx
Modified:
    incubator/ooo/branches/alg/svgreplacement/main/Module_ooo.mk
    incubator/ooo/branches/alg/svgreplacement/main/Repository.mk
    incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/matrix/b2dhommatrixtools.hxx
    incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/polygon/b2dpolygon.hxx
    incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/polygon/b2dpolypolygon.hxx
    incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/polygon/b2dpolypolygoncutter.hxx
    incubator/ooo/branches/alg/svgreplacement/main/basegfx/source/polygon/b2dpolypolygon.cxx
    incubator/ooo/branches/alg/svgreplacement/main/basegfx/source/polygon/b2dpolypolygoncutter.cxx
    incubator/ooo/branches/alg/svgreplacement/main/basegfx/source/polygon/b2dsvgpolypolygon.cxx
    incubator/ooo/branches/alg/svgreplacement/main/cppcanvas/source/mtfrenderer/implrenderer.cxx
    incubator/ooo/branches/alg/svgreplacement/main/cppcanvas/source/mtfrenderer/makefile.mk
    incubator/ooo/branches/alg/svgreplacement/main/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/Library_drawinglayer.mk
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/Package_inc.mk
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/baseprimitive2d.hxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/textlayoutdevice.hxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/textprimitive2d.hxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/canvasprocessor.hxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/contourextractor2d.hxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/linegeometryextractor2d.hxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor3d/shadow3dextractor.hxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/primitive2d/baseprimitive2d.cxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/primitive2d/graphicprimitive2d.cxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/primitive2d/metafileprimitive2d.cxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/processor2d/hittestprocessor2d.cxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/processor2d/linegeometryextractor2d.cxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/processor2d/textaspolygonextractor2d.cxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/processor2d/vclprocessor2d.cxx
    incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/processor3d/shadow3dextractor.cxx
    incubator/ooo/branches/alg/svgreplacement/main/editeng/inc/editeng/unoprnms.hxx
    incubator/ooo/branches/alg/svgreplacement/main/filter/source/flash/swfwriter1.cxx
    incubator/ooo/branches/alg/svgreplacement/main/filter/source/graphicfilter/eos2met/eos2met.cxx
    incubator/ooo/branches/alg/svgreplacement/main/filter/source/graphicfilter/epict/epict.cxx
    incubator/ooo/branches/alg/svgreplacement/main/filter/source/graphicfilter/eps/eps.cxx
    incubator/ooo/branches/alg/svgreplacement/main/filter/source/svg/svgwriter.cxx
    incubator/ooo/branches/alg/svgreplacement/main/filter/source/svg/svgwriter.hxx
    incubator/ooo/branches/alg/svgreplacement/main/offapi/com/sun/star/graphic/makefile.mk
    incubator/ooo/branches/alg/svgreplacement/main/postprocess/packcomponents/makefile.mk
    incubator/ooo/branches/alg/svgreplacement/main/scp2/source/ooo/file_library_ooo.scp
    incubator/ooo/branches/alg/svgreplacement/main/scp2/source/ooo/module_hidden_ooo.scp
    incubator/ooo/branches/alg/svgreplacement/main/sd/source/ui/view/drviews6.cxx
    incubator/ooo/branches/alg/svgreplacement/main/sd/source/ui/view/sdview3.cxx
    incubator/ooo/branches/alg/svgreplacement/main/sd/source/ui/view/sdview4.cxx
    incubator/ooo/branches/alg/svgreplacement/main/solenv/inc/libs.mk
    incubator/ooo/branches/alg/svgreplacement/main/splitbuild/framework.lst
    incubator/ooo/branches/alg/svgreplacement/main/svtools/inc/svtools/grfmgr.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svtools/source/filter/filter.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svtools/source/filter/wmf/emfwr.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svtools/source/filter/wmf/wmfwr.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svtools/source/graphic/grfcache.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svtools/source/graphic/grfmgr.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svtools/source/graphic/grfmgr2.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svx/inc/svx/svdograf.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svx/inc/svx/svdstr.hrc
    incubator/ooo/branches/alg/svgreplacement/main/svx/inc/svx/unoshprp.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svx/source/dialog/_bmpmask.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svx/source/sdr/contact/viewcontactofgraphic.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svx/source/svdraw/svdedtv.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svx/source/svdraw/svdfmtf.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svx/source/svdraw/svdfmtf.hxx
    incubator/ooo/branches/alg/svgreplacement/main/svx/source/svdraw/svdobj.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svx/source/svdraw/svdograf.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svx/source/svdraw/svdstr.src
    incubator/ooo/branches/alg/svgreplacement/main/svx/source/tbxctrls/grafctrl.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svx/source/unodraw/unoshap2.cxx
    incubator/ooo/branches/alg/svgreplacement/main/svx/source/xml/xmlgrhlp.cxx
    incubator/ooo/branches/alg/svgreplacement/main/sw/inc/cmdid.h
    incubator/ooo/branches/alg/svgreplacement/main/sw/inc/ndgrf.hxx
    incubator/ooo/branches/alg/svgreplacement/main/sw/inc/unoprnms.hxx
    incubator/ooo/branches/alg/svgreplacement/main/sw/source/core/graphic/ndgrf.cxx
    incubator/ooo/branches/alg/svgreplacement/main/sw/source/core/unocore/unoframe.cxx
    incubator/ooo/branches/alg/svgreplacement/main/sw/source/core/unocore/unomap.cxx
    incubator/ooo/branches/alg/svgreplacement/main/sw/source/core/unocore/unoprnms.cxx
    incubator/ooo/branches/alg/svgreplacement/main/sw/source/ui/shells/grfsh.cxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/Library_vcl.mk
    incubator/ooo/branches/alg/svgreplacement/main/vcl/Package_inc.mk
    incubator/ooo/branches/alg/svgreplacement/main/vcl/inc/impgraph.hxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/inc/sallayout.hxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/inc/vcl/gdimtf.hxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/inc/vcl/graph.hxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/inc/vcl/metaact.hxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/inc/vcl/outdev.hxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/source/gdi/gdimtf.cxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/source/gdi/graph.cxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/source/gdi/impgraph.cxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/source/gdi/makefile.mk
    incubator/ooo/branches/alg/svgreplacement/main/vcl/source/gdi/metaact.cxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/source/gdi/outdev6.cxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/source/gdi/pdfwriter_impl2.cxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/source/gdi/print2.cxx
    incubator/ooo/branches/alg/svgreplacement/main/vcl/util/makefile.mk
    incubator/ooo/branches/alg/svgreplacement/main/xmloff/Library_xo.mk
    incubator/ooo/branches/alg/svgreplacement/main/xmloff/Package_inc.mk
    incubator/ooo/branches/alg/svgreplacement/main/xmloff/inc/xmloff/txtparae.hxx
    incubator/ooo/branches/alg/svgreplacement/main/xmloff/source/draw/shapeexport2.cxx
    incubator/ooo/branches/alg/svgreplacement/main/xmloff/source/draw/ximpshap.cxx
    incubator/ooo/branches/alg/svgreplacement/main/xmloff/source/draw/ximpshap.hxx
    incubator/ooo/branches/alg/svgreplacement/main/xmloff/source/text/XMLTextFrameContext.cxx
    incubator/ooo/branches/alg/svgreplacement/main/xmloff/source/text/XMLTextFrameContext.hxx
    incubator/ooo/branches/alg/svgreplacement/main/xmloff/source/text/txtparae.cxx

Modified: incubator/ooo/branches/alg/svgreplacement/main/Module_ooo.mk
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/Module_ooo.mk?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/Module_ooo.mk (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/Module_ooo.mk Thu Dec  1 16:25:17 2011
@@ -30,7 +30,8 @@ $(eval $(call gb_Module_Module,ooo))
 $(eval $(call gb_Module_add_moduledirs,ooo,\
 	comphelper \
 	drawinglayer \
-        editeng \
+	svgio \
+    editeng \
 	framework \
 	padmin \
 	sfx2 \

Modified: incubator/ooo/branches/alg/svgreplacement/main/Repository.mk
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/Repository.mk?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/Repository.mk (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/Repository.mk Thu Dec  1 16:25:17 2011
@@ -52,6 +52,7 @@ $(eval $(call gb_Helper_register_librari
 	cui \
     desktop_detector \
 	drawinglayer \
+	svgio \
 	editeng \
 	fwe \
 	fwi \

Modified: incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/matrix/b2dhommatrixtools.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/matrix/b2dhommatrixtools.hxx?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/matrix/b2dhommatrixtools.hxx (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/matrix/b2dhommatrixtools.hxx Thu Dec  1 16:25:17 2011
@@ -149,7 +149,7 @@ namespace basegfx
 			double                 mfShearX;
 
 		public:
-			B2DHomMatrixBufferedDecompose(const B2DHomMatrix& rB2DHomMatrix)
+			B2DHomMatrixBufferedDecompose(const B2DHomMatrix& rB2DHomMatrix = B2DHomMatrix())
 			:   maScale(),
 				maTranslate(),
 				mfRotate(0.0),
@@ -201,7 +201,7 @@ namespace basegfx
 			}
 
 		public:
-			B2DHomMatrixBufferedOnDemandDecompose(const B2DHomMatrix& rB2DHomMatrix)
+			B2DHomMatrixBufferedOnDemandDecompose(const B2DHomMatrix& rB2DHomMatrix = B2DHomMatrix())
 			:   maB2DHomMatrix(rB2DHomMatrix),
 				maScale(),
 				maTranslate(),

Modified: incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/polygon/b2dpolygon.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/polygon/b2dpolygon.hxx?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/polygon/b2dpolygon.hxx (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/polygon/b2dpolygon.hxx Thu Dec  1 16:25:17 2011
@@ -263,6 +263,10 @@ namespace basegfx
         B2DPoint* begin();
         B2DPoint* end();
 	};
+
+    // typedef for a vector of B2DPolygons
+    typedef ::std::vector< B2DPolygon > B2DPolygonVector;
+
 } // end of namespace basegfx
 
 //////////////////////////////////////////////////////////////////////////////

Modified: incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/polygon/b2dpolypolygon.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/polygon/b2dpolypolygon.hxx?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/polygon/b2dpolypolygon.hxx (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/polygon/b2dpolypolygon.hxx Thu Dec  1 16:25:17 2011
@@ -128,6 +128,10 @@ namespace basegfx
         B2DPolygon* begin();
         B2DPolygon* end();
 	};
+
+    // typedef for a vector of B2DPolyPolygons
+    typedef ::std::vector< B2DPolyPolygon > B2DPolyPolygonVector;
+
 } // end of namespace basegfx
 
 #endif /* _BGFX_POLYGON_B2DPOLYPOLYGON_HXX */

Modified: incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/polygon/b2dpolypolygoncutter.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/polygon/b2dpolypolygoncutter.hxx?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/polygon/b2dpolypolygoncutter.hxx (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/basegfx/inc/basegfx/polygon/b2dpolypolygoncutter.hxx Thu Dec  1 16:25:17 2011
@@ -104,7 +104,7 @@ namespace basegfx
 
 			@return A single PolyPolygon containing the Or-merged result
 		*/
-		B2DPolyPolygon mergeToSinglePolyPolygon(const std::vector< basegfx::B2DPolyPolygon >& rInput);
+		B2DPolyPolygon mergeToSinglePolyPolygon(const B2DPolyPolygonVector& rInput);
 
 	} // end of namespace tools
 } // end of namespace basegfx

Modified: incubator/ooo/branches/alg/svgreplacement/main/basegfx/source/polygon/b2dpolypolygon.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/basegfx/source/polygon/b2dpolypolygon.cxx?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/basegfx/source/polygon/b2dpolypolygon.cxx (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/basegfx/source/polygon/b2dpolypolygon.cxx Thu Dec  1 16:25:17 2011
@@ -38,9 +38,7 @@
 
 class ImplB2DPolyPolygon
 {
-	typedef ::std::vector< basegfx::B2DPolygon >	PolygonVector;
-
-	PolygonVector									maPolygons;
+	basegfx::B2DPolygonVector                   maPolygons;
 
 public:
 	ImplB2DPolyPolygon() : maPolygons()
@@ -80,7 +78,7 @@ public:
 		if(nCount)
 		{
 			// add nCount copies of rPolygon
-			PolygonVector::iterator aIndex(maPolygons.begin());
+			basegfx::B2DPolygonVector::iterator aIndex(maPolygons.begin());
 			aIndex += nIndex;
 			maPolygons.insert(aIndex, nCount, rPolygon);
 		}
@@ -94,7 +92,7 @@ public:
 		{
 			// add nCount polygons from rPolyPolygon
 			maPolygons.reserve(maPolygons.size() + nCount);
-			PolygonVector::iterator aIndex(maPolygons.begin());
+			basegfx::B2DPolygonVector::iterator aIndex(maPolygons.begin());
 			aIndex += nIndex;
 
 			for(sal_uInt32 a(0L); a < nCount; a++)
@@ -110,9 +108,9 @@ public:
 		if(nCount)
 		{
 			// remove polygon data
-			PolygonVector::iterator aStart(maPolygons.begin());
+			basegfx::B2DPolygonVector::iterator aStart(maPolygons.begin());
 			aStart += nIndex;
-			const PolygonVector::iterator aEnd(aStart + nCount);
+			const basegfx::B2DPolygonVector::iterator aEnd(aStart + nCount);
 
 			maPolygons.erase(aStart, aEnd);
 		}

Modified: incubator/ooo/branches/alg/svgreplacement/main/basegfx/source/polygon/b2dpolypolygoncutter.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/basegfx/source/polygon/b2dpolypolygoncutter.cxx?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/basegfx/source/polygon/b2dpolypolygoncutter.cxx (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/basegfx/source/polygon/b2dpolypolygoncutter.cxx Thu Dec  1 16:25:17 2011
@@ -922,15 +922,15 @@ namespace basegfx
             }
         }
 
-		B2DPolyPolygon mergeToSinglePolyPolygon(const std::vector< basegfx::B2DPolyPolygon >& rInput)
+		B2DPolyPolygon mergeToSinglePolyPolygon(const B2DPolyPolygonVector& rInput)
 		{
-			std::vector< basegfx::B2DPolyPolygon > aInput(rInput);
+			B2DPolyPolygonVector aInput(rInput);
 			
 			// first step: prepareForPolygonOperation and simple merge of non-overlapping
 			// PolyPolygons for speedup; this is possible for the wanted OR-operation
 			if(aInput.size())
 			{
-				std::vector< basegfx::B2DPolyPolygon > aResult;
+				B2DPolyPolygonVector aResult;
 				aResult.reserve(aInput.size());
 
 				for(sal_uInt32 a(0); a < aInput.size(); a++)
@@ -972,7 +972,7 @@ namespace basegfx
 			// second step: melt pairwise to a single PolyPolygon
 			while(aInput.size() > 1)
 			{
-				std::vector< basegfx::B2DPolyPolygon > aResult;
+				B2DPolyPolygonVector aResult;
 				aResult.reserve((aInput.size() / 2) + 1);
 
 				for(sal_uInt32 a(0); a < aInput.size(); a += 2)

Modified: incubator/ooo/branches/alg/svgreplacement/main/basegfx/source/polygon/b2dsvgpolypolygon.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/basegfx/source/polygon/b2dsvgpolypolygon.cxx?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/basegfx/source/polygon/b2dsvgpolypolygon.cxx (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/basegfx/source/polygon/b2dsvgpolypolygon.cxx Thu Dec  1 16:25:17 2011
@@ -782,9 +782,16 @@ namespace basegfx
                                 // (since
                                 // createPolygonFromEllipseSegment()
                                 // normalizes to e.g. cw arc)
-                                const bool bFlipSegment( (bLargeArcFlag!=0) == 
-                                    (fmod(fTheta2+2*M_PI-fTheta1,
-                                          2*M_PI)<M_PI) );
+                                
+                                // ALG: In my opinion flipping the segment only
+                                // depends on the sweep flag. At least, this gives
+                                // correct results forthe SVG example (see SVG doc 8.3.8 ff)
+                                //
+                                //const bool bFlipSegment( (bLargeArcFlag!=0) == 
+                                //    (fmod(fTheta2+2*M_PI-fTheta1,
+                                //          2*M_PI)<M_PI) );
+                                const bool bFlipSegment(!bSweepFlag);
+
                                 if( bFlipSegment )
                                     std::swap(fTheta1,fTheta2);
 

Modified: incubator/ooo/branches/alg/svgreplacement/main/cppcanvas/source/mtfrenderer/implrenderer.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/cppcanvas/source/mtfrenderer/implrenderer.cxx?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/cppcanvas/source/mtfrenderer/implrenderer.cxx (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/cppcanvas/source/mtfrenderer/implrenderer.cxx Thu Dec  1 16:25:17 2011
@@ -79,7 +79,6 @@
 #include <lineaction.hxx>
 #include <pointaction.hxx>
 #include <polypolyaction.hxx>
-#include <rendergraphicaction.hxx>
 #include <textaction.hxx>
 #include <transparencygroupaction.hxx>
 #include <vector>
@@ -2650,32 +2649,6 @@ namespace cppcanvas
                     }
                     break;
 
-                    case META_RENDERGRAPHIC_ACTION:
-                    {
-                        MetaRenderGraphicAction* pAct = static_cast<MetaRenderGraphicAction*>(pCurrAct);
-
-                        ActionSharedPtr pRenderGraphicAction(
-                                internal::RenderGraphicActionFactory::createRenderGraphicAction(
-                                    pAct->GetRenderGraphic(),
-                                    getState( rStates ).mapModeTransform *
-                                    ::vcl::unotools::b2DPointFromPoint( pAct->GetPoint() ),
-                                    getState( rStates ).mapModeTransform *
-                                    ::vcl::unotools::b2DSizeFromSize( pAct->GetSize() ),
-                                    rCanvas,
-                                    getState( rStates ) ) );
-
-                        if( pRenderGraphicAction )
-                        {
-                            maActions.push_back(
-                                MtfAction(
-                                    pRenderGraphicAction,
-                                    io_rCurrActionIndex ) );
-
-                            io_rCurrActionIndex += pRenderGraphicAction->getActionCount()-1;
-                        }
-                    }
-                    break;
-
                     default:
                         OSL_ENSURE( false,
                                     "Unknown meta action type encountered" );

Modified: incubator/ooo/branches/alg/svgreplacement/main/cppcanvas/source/mtfrenderer/makefile.mk
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/cppcanvas/source/mtfrenderer/makefile.mk?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/cppcanvas/source/mtfrenderer/makefile.mk (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/cppcanvas/source/mtfrenderer/makefile.mk Thu Dec  1 16:25:17 2011
@@ -48,7 +48,6 @@ SLOFILES =	$(SLO)$/cachedprimitivebase.o
 			$(SLO)$/lineaction.obj \
 			$(SLO)$/pointaction.obj \
 			$(SLO)$/polypolyaction.obj \
-			$(SLO)$/rendergraphicaction.obj \
 			$(SLO)$/textaction.obj \
 			$(SLO)$/transparencygroupaction.obj \
 			$(SLO)$/mtftools.obj

Modified: incubator/ooo/branches/alg/svgreplacement/main/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/cppcanvas/source/mtfrenderer/transparencygroupaction.cxx Thu Dec  1 16:25:17 2011
@@ -387,7 +387,6 @@ namespace cppcanvas
                                 case META_TEXTLINE_ACTION:
                                 case META_TEXTRECT_ACTION:
                                 case META_STRETCHTEXT_ACTION:
-                                case META_RENDERGRAPHIC_ACTION:
                                     // output-generating action - only
                                     // copy, if we're within the
                                     // requested subset

Modified: incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/Library_drawinglayer.mk
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/Library_drawinglayer.mk?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/Library_drawinglayer.mk (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/Library_drawinglayer.mk Thu Dec  1 16:25:17 2011
@@ -27,6 +27,8 @@
 
 $(eval $(call gb_Library_Library,drawinglayer))
 
+$(eval $(call gb_Library_set_componentfile,drawinglayer,drawinglayer/drawinglayer))
+
 $(eval $(call gb_Library_add_package_headers,drawinglayer,drawinglayer_inc))
 
 $(eval $(call gb_Library_add_precompiled_header,drawinglayer,$(SRCDIR)/drawinglayer/inc/pch/precompiled_drawinglayer))
@@ -117,11 +119,12 @@ $(eval $(call gb_Library_add_exception_o
 	drawinglayer/source/primitive2d/polypolygonprimitive2d \
 	drawinglayer/source/primitive2d/polygonprimitive2d \
 	drawinglayer/source/primitive2d/primitivetools2d \
-	drawinglayer/source/primitive2d/rendergraphicprimitive2d \
 	drawinglayer/source/primitive2d/sceneprimitive2d \
 	drawinglayer/source/primitive2d/sdrdecompositiontools2d \
 	drawinglayer/source/primitive2d/shadowprimitive2d \
 	drawinglayer/source/primitive2d/structuretagprimitive2d \
+	drawinglayer/source/primitive2d/svggradientprimitive2d \
+	drawinglayer/source/primitive2d/textbreakuphelper \
 	drawinglayer/source/primitive2d/texteffectprimitive2d \
 	drawinglayer/source/primitive2d/textenumsprimitive2d \
 	drawinglayer/source/primitive2d/textlayoutdevice \
@@ -176,6 +179,9 @@ $(eval $(call gb_Library_add_exception_o
 	drawinglayer/source/processor3d/zbufferprocessor3d \
 	drawinglayer/source/texture/texture \
 	drawinglayer/source/texture/texture3d \
+	drawinglayer/source/tools/converters \
+	drawinglayer/source/drawinglayeruno/drawinglayeruno \
+	drawinglayer/source/drawinglayeruno/xprimitive2drenderer \
 ))
 
 # vim: set noet sw=4 ts=4:

Modified: incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/Package_inc.mk
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/Package_inc.mk?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/Package_inc.mk (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/Package_inc.mk Thu Dec  1 16:25:17 2011
@@ -62,10 +62,14 @@ $(eval $(call gb_Package_add_file,drawin
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/sceneprimitive2d.hxx,drawinglayer/primitive2d/sceneprimitive2d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/shadowprimitive2d.hxx,drawinglayer/primitive2d/shadowprimitive2d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/structuretagprimitive2d.hxx,drawinglayer/primitive2d/structuretagprimitive2d.hxx))
+$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/svggradientprimitive2d.hxx,drawinglayer/primitive2d/svggradientprimitive2d.hxx))
+$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/textbreakuphelper.hxx,drawinglayer/primitive2d/textbreakuphelper.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/textenumsprimitive2d.hxx,drawinglayer/primitive2d/textenumsprimitive2d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/texteffectprimitive2d.hxx,drawinglayer/primitive2d/texteffectprimitive2d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/textlayoutdevice.hxx,drawinglayer/primitive2d/textlayoutdevice.hxx))
+$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/textlineprimitive2d.hxx,drawinglayer/primitive2d/textlineprimitive2d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/textprimitive2d.hxx,drawinglayer/primitive2d/textprimitive2d.hxx))
+$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx,drawinglayer/primitive2d/textstrikeoutprimitive2d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/textdecoratedprimitive2d.hxx,drawinglayer/primitive2d/textdecoratedprimitive2d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/texthierarchyprimitive2d.hxx,drawinglayer/primitive2d/texthierarchyprimitive2d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive2d/transformprimitive2d.hxx,drawinglayer/primitive2d/transformprimitive2d.hxx))
@@ -76,6 +80,7 @@ $(eval $(call gb_Package_add_file,drawin
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/baseprimitive3d.hxx,drawinglayer/primitive3d/baseprimitive3d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/groupprimitive3d.hxx,drawinglayer/primitive3d/groupprimitive3d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/hatchtextureprimitive3d.hxx,drawinglayer/primitive3d/hatchtextureprimitive3d.hxx))
+$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx,drawinglayer/primitive3d/hiddengeometryprimitive3d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx,drawinglayer/primitive3d/modifiedcolorprimitive3d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/polygonprimitive3d.hxx,drawinglayer/primitive3d/polygonprimitive3d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/primitive3d/polygontubeprimitive3d.hxx,drawinglayer/primitive3d/polygontubeprimitive3d.hxx))
@@ -110,6 +115,8 @@ $(eval $(call gb_Package_add_file,drawin
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/baseprocessor3d.hxx,drawinglayer/processor3d/baseprocessor3d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/cutfindprocessor3d.hxx,drawinglayer/processor3d/cutfindprocessor3d.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/defaultprocessor3d.hxx,drawinglayer/processor3d/defaultprocessor3d.hxx))
+$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/geometry2dextractor.hxx,drawinglayer/processor3d/geometry2dextractor.hxx))
+$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/shadow3dextractor.hxx,drawinglayer/processor3d/shadow3dextractor.hxx))
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/processor3d/zbufferprocessor3d.hxx,drawinglayer/processor3d/zbufferprocessor3d.hxx))
 
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/fillgradientattribute.hxx,drawinglayer/attribute/fillgradientattribute.hxx))
@@ -132,3 +139,5 @@ $(eval $(call gb_Package_add_file,drawin
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/attribute/linestartendattribute.hxx,drawinglayer/attribute/linestartendattribute.hxx))
 
 $(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/texture/texture.hxx,drawinglayer/texture/texture.hxx))
+
+$(eval $(call gb_Package_add_file,drawinglayer_inc,inc/drawinglayer/tools/converters.hxx,drawinglayer/tools/converters.hxx))

Added: incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/drawinglayer.component
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/drawinglayer.component?rev=1209140&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/drawinglayer.component
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Modified: incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/baseprimitive2d.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/baseprimitive2d.hxx?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/baseprimitive2d.hxx (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/baseprimitive2d.hxx Thu Dec  1 16:25:17 2011
@@ -265,7 +265,11 @@ namespace drawinglayer
 {
 	namespace primitive2d
 	{
-		/// get B2DRange from a given Primitive2DReference
+        /// support to handle a sequence of primitives as stl vector and convert it during creation
+	    typedef ::std::vector< BasePrimitive2D* > Primitive2DVector;
+        Primitive2DSequence DRAWINGLAYER_DLLPUBLIC Primitive2DVectorToPrimitive2DSequence(const Primitive2DVector& rSource, bool bInvert = false);
+
+        /// get B2DRange from a given Primitive2DReference
 		basegfx::B2DRange DRAWINGLAYER_DLLPUBLIC getB2DRangeFromPrimitive2DReference(const Primitive2DReference& rCandidate, const geometry::ViewInformation2D& aViewInformation);
 
 		/// get B2DRange from a given Primitive2DSequence

Modified: incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx Thu Dec  1 16:25:17 2011
@@ -99,7 +99,10 @@
 #define PRIMITIVE2D_ID_EPSPRIMITIVE2D						(PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 60)
 #define PRIMITIVE2D_ID_DISCRETESHADOWPRIMITIVE2D			(PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 61)
 #define PRIMITIVE2D_ID_HIDDENGEOMETRYPRIMITIVE2D            (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 62)
-#define PRIMITIVE2D_ID_RENDERGRAPHICPRIMITIVE2D				(PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 63)
+#define PRIMITIVE2D_ID_SVGLINEARGRADIENTPRIMITIVE2D         (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 63)
+#define PRIMITIVE2D_ID_SVGRADIALGRADIENTPRIMITIVE2D         (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 64)
+#define PRIMITIVE2D_ID_SVGLINEARATOMPRIMITIVE2D             (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 65)
+#define PRIMITIVE2D_ID_SVGRADIALATOMPRIMITIVE2D             (PRIMITIVE2D_ID_RANGE_DRAWINGLAYER| 66)
 
 //////////////////////////////////////////////////////////////////////////////
 

Added: incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/svggradientprimitive2d.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/svggradientprimitive2d.hxx?rev=1209140&view=auto
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/svggradientprimitive2d.hxx (added)
+++ incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/svggradientprimitive2d.hxx Thu Dec  1 16:25:17 2011
@@ -0,0 +1,468 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http:\\www.apache.org\licenses\LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+#ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SVGGRADIENTPRIMITIVE2D_HXX
+#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SVGGRADIENTPRIMITIVE2D_HXX
+
+#include <drawinglayer/drawinglayerdllapi.h>
+#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
+#include <basegfx/color/bcolor.hxx>
+#include <basegfx/polygon/b2dpolypolygon.hxx>
+#include <basegfx/matrix/b2dhommatrix.hxx>
+#include <drawinglayer/primitive2d/primitivetools2d.hxx>
+#include <vector>
+
+//////////////////////////////////////////////////////////////////////////////
+// SvgGradientEntry class
+
+namespace drawinglayer
+{
+	namespace primitive2d
+	{
+        /// a single GradientStop defining a color and opacity at a distance
+        class SvgGradientEntry
+        {
+        private:
+            double              mfOffset;
+            basegfx::BColor     maColor;
+            double              mfOpacity;
+        
+        public:
+            SvgGradientEntry(double fOffset, const basegfx::BColor& rColor = basegfx::BColor(0.0, 0.0, 0.0), double fOpacity = 1.0)
+            :   mfOffset(fOffset),
+                maColor(rColor),
+                mfOpacity(fOpacity)
+            {
+            }
+
+            double getOffset() const { return mfOffset; }
+            const basegfx::BColor& getColor() const { return maColor; }
+            double getOpacity() const { return mfOpacity; }
+
+            bool operator==(const SvgGradientEntry& rCompare) const
+            {
+                return (getOffset() == rCompare.getOffset()
+                    && getColor() == getColor()
+                    && getOpacity() == getOpacity());
+            }
+
+            bool operator<(const SvgGradientEntry& rCompare) const
+            {
+                return getOffset() < rCompare.getOffset();
+            }
+        };
+
+        typedef ::std::vector< SvgGradientEntry > SvgGradientEntryVector;
+
+    } // end of namespace primitive2d
+} // end of namespace drawinglayer
+
+//////////////////////////////////////////////////////////////////////////////
+// SvgGradientHelper class
+#define DEFAULT_OVERLAPPING_VALUE (1.0/512.0)
+
+namespace drawinglayer
+{
+	namespace primitive2d
+	{
+        enum SpreadMethod
+        {
+            Spread_pad = 0,
+            Spread_reflect,
+            Spread_repeat
+        };
+
+        /*  helper for linear and radial gradient, both get derived from this
+            to share common definitions and functionality
+         **/
+		class SvgGradientHelper
+		{
+		private:
+            /// geometric definition, the geometry to be filled
+			basegfx::B2DPolyPolygon		maPolyPolygon;
+
+            /// the gradient definition
+            SvgGradientEntryVector      maGradientEntries;
+
+            /// start and/or center point
+            basegfx::B2DPoint           maStart;
+
+            /// how to spread
+            SpreadMethod                maSpreadMethod;
+
+            /*  allows to set an overlapping value to be able to create
+                slightly overlapping PolyPolygons/Polygons for the decomposition.
+                This is needed since when creating geometrically correct decompositions
+                many visualisations will show artefacts at the borders, even when these 
+                borders are absolutely correctly defined. It is possible to define a 
+                useful value for this since the coordinate system we are working in is 
+                in unit coordinates so that the whole gradient is from [0.0 .. 1.0] range.
+                This explains the default value which is 1/512 by a maximum possible
+                color count of 255 steps per GradientStop.
+                Give a 0.0 here to go to geometrically correct gradient decompositions if 
+                needed.
+                An alternative would be to create no PolyPolygons from outside to inside 
+                (example for radial), but this leads to up to 255 filled polygons per 
+                GradientStop and thus to enormous rendering costs.
+             **/
+            double                      mfOverlapping;
+
+            /// bitfield
+            bool                        mbPreconditionsChecked : 1;
+            bool                        mbCreatesContent : 1;
+            bool                        mbSingleEntry : 1;
+            bool                        mbFullyOpaque : 1;
+
+        protected:
+            /// local helpers
+    		Primitive2DSequence createSingleGradientEntryFill() const;
+            virtual void createAtom(
+                Primitive2DVector& rTargetColor,
+                Primitive2DVector& rTargetOpacity, 
+                const SvgGradientEntry& rFrom, 
+                const SvgGradientEntry& rTo,
+                sal_Int32 nOffset) const = 0;
+            double createRun(
+                Primitive2DVector& rTargetColor,
+                Primitive2DVector& rTargetOpacity, 
+                double fPos,
+                double fMax,
+                const SvgGradientEntryVector& rEntries,
+                sal_Int32 nOffset) const;
+            virtual void checkPreconditions();
+            Primitive2DSequence SvgGradientHelper::createResult(
+                const Primitive2DVector& rTargetColor,
+                const Primitive2DVector& rTargetOpacity,
+                const basegfx::B2DHomMatrix& rUnitGradientToObject,
+                bool bInvert = false) const;
+            bool getCreatesContent() const { return mbCreatesContent; }
+            bool getSingleEntry() const { return mbSingleEntry; }
+            void setSingleEntry() { mbSingleEntry = true; }
+            bool getPreconditionsChecked() const { return mbPreconditionsChecked; }
+            bool getFullyOpaque() const { return mbFullyOpaque; }
+
+        public:
+            /// constructor
+			SvgGradientHelper(
+				const basegfx::B2DPolyPolygon& rPolyPolygon,
+                const SvgGradientEntryVector& rGradientEntries,
+                const basegfx::B2DPoint& rStart,
+                SpreadMethod aSpreadMethod = Spread_pad,
+                double fOverlapping = DEFAULT_OVERLAPPING_VALUE);
+
+			/// data read access
+            const basegfx::B2DPolyPolygon& getPolyPolygon() const { return maPolyPolygon; }
+            const SvgGradientEntryVector& getGradientEntries() const { return maGradientEntries; }
+            const basegfx::B2DPoint& getStart() const { return maStart; }
+            SpreadMethod getSpreadMethod() const { return maSpreadMethod; }
+            const double getOverlapping() const { return mfOverlapping; }
+
+            /// compare operator
+			virtual bool operator==(const SvgGradientHelper& rSvgGradientHelper) const;
+		};
+	} // end of namespace primitive2d
+} // end of namespace drawinglayer
+
+//////////////////////////////////////////////////////////////////////////////
+// SvgLinearGradientPrimitive2D class
+
+namespace drawinglayer
+{
+	namespace primitive2d
+	{
+        /// the basic linear gradient primitive
+		class DRAWINGLAYER_DLLPUBLIC SvgLinearGradientPrimitive2D : public BufferedDecompositionPrimitive2D, public SvgGradientHelper
+		{
+		private:
+            /// the end point for linear gradient
+            basegfx::B2DPoint                       maEnd;
+
+            /// local helpers
+            void ensureGeometry(
+                basegfx::B2DPolyPolygon& rPolyPolygon,
+                const SvgGradientEntry& rFrom, 
+                const SvgGradientEntry& rTo,
+                sal_Int32 nOffset) const;
+
+        protected:
+            /// local helpers
+            virtual void createAtom(
+                Primitive2DVector& rTargetColor,
+                Primitive2DVector& rTargetOpacity, 
+                const SvgGradientEntry& rFrom, 
+                const SvgGradientEntry& rTo,
+                sal_Int32 nOffset) const;
+            virtual void checkPreconditions();
+
+            /// local decomposition.
+			virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
+
+		public:
+            /// constructor
+			SvgLinearGradientPrimitive2D(
+				const basegfx::B2DPolyPolygon& rPolyPolygon,
+                const SvgGradientEntryVector& rGradientEntries,
+                const basegfx::B2DPoint& rStart,
+                const basegfx::B2DPoint& rEnd,
+                SpreadMethod aSpreadMethod = Spread_pad,
+                double fOverlapping = DEFAULT_OVERLAPPING_VALUE);
+
+			/// data read access
+            const basegfx::B2DPoint& getEnd() const { return maEnd; }
+
+            /// compare operator
+			virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
+
+			/// get range
+			virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
+
+			/// provide unique ID
+			DeclPrimitrive2DIDBlock()
+		};
+	} // end of namespace primitive2d
+} // end of namespace drawinglayer
+
+//////////////////////////////////////////////////////////////////////////////
+// SvgRadialGradientPrimitive2D class
+
+namespace drawinglayer
+{
+	namespace primitive2d
+	{
+        /// the basic radial gradient primitive
+		class DRAWINGLAYER_DLLPUBLIC SvgRadialGradientPrimitive2D : public BufferedDecompositionPrimitive2D, public SvgGradientHelper
+		{
+		private:
+            /// the geometric definition
+            double                                  mfRadius;
+
+            /// Focal only used when focal is set at all, see constructors
+            basegfx::B2DPoint                       maFocal;
+            basegfx::B2DVector                      maFocalVector;
+            double                                  maFocalLength;
+
+            // internal helper for case Spread_reflect
+            SvgGradientEntryVector                  maMirroredGradientEntries;
+
+            /// bitfield
+            bool                                    mbFocalSet : 1;
+
+            /// local helpers
+            const SvgGradientEntryVector& getMirroredGradientEntries() const;
+            void createMirroredGradientEntries();
+            void ensureGeometry(
+                basegfx::B2DPolyPolygon& rPolyPolygon,
+                const SvgGradientEntry& rFrom, 
+                const SvgGradientEntry& rTo,
+                sal_Int32 nOffset) const;
+
+        protected:
+            /// local helpers
+            virtual void createAtom(
+                Primitive2DVector& rTargetColor,
+                Primitive2DVector& rTargetOpacity, 
+                const SvgGradientEntry& rFrom, 
+                const SvgGradientEntry& rTo,
+                sal_Int32 nOffset) const;
+            virtual void checkPreconditions();
+
+            /// local decomposition.
+			virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
+
+		public:
+            /// constructor
+			SvgRadialGradientPrimitive2D(
+				const basegfx::B2DPolyPolygon& rPolyPolygon,
+                const SvgGradientEntryVector& rGradientEntries,
+                const basegfx::B2DPoint& rStart,
+                double fRadius,
+                SpreadMethod aSpreadMethod = Spread_pad,
+                const basegfx::B2DPoint* pFocal = 0,
+                double fOverlapping = DEFAULT_OVERLAPPING_VALUE);
+
+			/// data read access
+            double getRadius() const { return mfRadius; }
+            const basegfx::B2DPoint& getFocal() const { return maFocal; }
+            bool isFocalSet() const { return mbFocalSet; }
+
+            /// compare operator
+			virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
+
+			/// get range
+			virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const;
+
+			/// provide unique ID
+			DeclPrimitrive2DIDBlock()
+		};
+	} // end of namespace primitive2d
+} // end of namespace drawinglayer
+
+//////////////////////////////////////////////////////////////////////////////
+// SvgLinearAtomPrimitive2D class
+
+namespace drawinglayer
+{
+	namespace primitive2d
+	{
+        /*  basic primitive for a single linear GradientRun in unit coordiantes.
+            It's derived from DiscreteMetricDependentPrimitive2D to allow view-dependent
+            decompositions allowing reduced color steps
+         **/
+		class DRAWINGLAYER_DLLPUBLIC SvgLinearAtomPrimitive2D : public DiscreteMetricDependentPrimitive2D
+		{
+		private:
+            /// the geometric definition in unit coordiantes
+            basegfx::BColor             maColorA;
+            basegfx::BColor             maColorB;
+            double                      mfOffsetA;
+            double                      mfOffsetB;
+            double                      mfOverlapping;
+
+        protected:
+
+            /// local decomposition.
+			virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
+
+		public:
+            /// constructor
+			SvgLinearAtomPrimitive2D(
+                const basegfx::BColor& aColorA, double fOffsetA,
+                const basegfx::BColor& aColorB, double fOffsetB,
+                double fOverlapping = DEFAULT_OVERLAPPING_VALUE)
+            :   DiscreteMetricDependentPrimitive2D(),
+                maColorA(aColorA),
+                maColorB(aColorB),
+                mfOffsetA(fOffsetA),
+                mfOffsetB(fOffsetB),
+                mfOverlapping(fOverlapping)
+            {
+            }
+
+			/// data read access
+            const basegfx::BColor& getColorA() const { return maColorA; }
+            const basegfx::BColor& getColorB() const { return maColorB; }
+            double getOffsetA() const { return mfOffsetA; }
+            double getOffsetB() const { return mfOffsetB; }
+            const double getOverlapping() const { return mfOverlapping; }
+
+            /// compare operator
+			virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
+
+			/// provide unique ID
+			DeclPrimitrive2DIDBlock()
+		};
+	} // end of namespace primitive2d
+} // end of namespace drawinglayer
+
+//////////////////////////////////////////////////////////////////////////////
+// SvgRadialAtomPrimitive2D class
+
+namespace drawinglayer
+{
+	namespace primitive2d
+	{
+        /*  basic primitive for a single radial GradientRun in unit coordiantes.
+            It's derived from DiscreteMetricDependentPrimitive2D to allow view-dependent
+            decompositions allowing reduced color steps
+         **/
+		class DRAWINGLAYER_DLLPUBLIC SvgRadialAtomPrimitive2D : public DiscreteMetricDependentPrimitive2D
+		{
+		private:
+            /// the geometric definition in unit coordiantes
+            basegfx::BColor             maColorA;
+            basegfx::BColor             maColorB;
+            double                      mfScaleA;
+            double                      mfScaleB;
+
+            /// Only used when focal is set
+            basegfx::B2DVector          maTranslateA;
+            basegfx::B2DVector          maTranslateB;
+
+            double                      mfOverlapping;
+
+            /// bitfield
+            bool                        mbTranslateSet : 1;
+
+        protected:
+
+            /// local decomposition.
+			virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const;
+
+		public:
+            /// constructor
+			SvgRadialAtomPrimitive2D(
+                const basegfx::BColor& aColorA, double fScaleA, const basegfx::B2DVector& rTranslateA,
+                const basegfx::BColor& aColorB, double fScaleB, const basegfx::B2DVector& rTranslateB,
+                double fOverlapping = DEFAULT_OVERLAPPING_VALUE)
+            :   DiscreteMetricDependentPrimitive2D(),
+                maColorA(aColorA),
+                maColorB(aColorB),
+                mfScaleA(fScaleA),
+                mfScaleB(fScaleB),
+                maTranslateA(rTranslateA),
+                maTranslateB(rTranslateB),
+                mfOverlapping(fOverlapping),
+                mbTranslateSet(true)
+            {
+                mbTranslateSet = !maTranslateA.equal(maTranslateB);
+            }
+
+            SvgRadialAtomPrimitive2D(
+                const basegfx::BColor& aColorA, double fScaleA,
+                const basegfx::BColor& aColorB, double fScaleB,
+                double fOverlapping = DEFAULT_OVERLAPPING_VALUE)
+            :   DiscreteMetricDependentPrimitive2D(),
+                maColorA(aColorA),
+                maColorB(aColorB),
+                mfScaleA(fScaleA),
+                mfScaleB(fScaleB),
+                maTranslateA(),
+                maTranslateB(),
+                mfOverlapping(fOverlapping),
+                mbTranslateSet(false)
+            {
+            }
+
+			/// data read access
+            const basegfx::BColor& getColorA() const { return maColorA; }
+            const basegfx::BColor& getColorB() const { return maColorB; }
+            double getScaleA() const { return mfScaleA; }
+            double getScaleB() const { return mfScaleB; }
+            const basegfx::B2DVector& getTranslateA() const { return maTranslateA; }
+            const basegfx::B2DVector& getTranslateB() const { return maTranslateB; }
+            const double getOverlapping() const { return mfOverlapping; }
+            bool getTranslateSet() const { return mbTranslateSet; }
+
+            /// compare operator
+			virtual bool operator==(const BasePrimitive2D& rPrimitive) const;
+
+			/// provide unique ID
+			DeclPrimitrive2DIDBlock()
+		};
+	} // end of namespace primitive2d
+} // end of namespace drawinglayer
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_SVGGRADIENTPRIMITIVE2D_HXX
+
+//////////////////////////////////////////////////////////////////////////////
+// eof

Added: incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/textbreakuphelper.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/textbreakuphelper.hxx?rev=1209140&view=auto
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/textbreakuphelper.hxx (added)
+++ incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/textbreakuphelper.hxx Thu Dec  1 16:25:17 2011
@@ -0,0 +1,91 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http:\\www.apache.org\licenses\LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+#ifndef INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTBREAKUPHELPER_HXX
+#define INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTBREAKUPHELPER_HXX
+
+#include <drawinglayer/drawinglayerdllapi.h>
+#include <drawinglayer/primitive2d/textprimitive2d.hxx>
+#include <drawinglayer/primitive2d/textlayoutdevice.hxx>
+#include <basegfx/matrix/b2dhommatrixtools.hxx>
+
+//////////////////////////////////////////////////////////////////////////////
+
+namespace drawinglayer
+{
+	namespace primitive2d
+	{
+        enum BreakupUnit
+        {
+            BreakupUnit_character,
+            BreakupUnit_word,
+            BreakupUnit_sentence
+        };
+
+        class DRAWINGLAYER_DLLPUBLIC TextBreakupHelper
+        {
+        private:
+            const Primitive2DReference              mxSource;
+            Primitive2DSequence                     mxResult;
+            const TextSimplePortionPrimitive2D*     mpSource;
+    		TextLayouterDevice                      maTextLayouter;
+            basegfx::tools::B2DHomMatrixBufferedOnDemandDecompose maDecTrans;
+
+            /// bitfield
+            bool                                    mbNoDXArray : 1;
+
+            /// create a portion from nIndex to nLength and append to rTempResult
+            void breakupPortion(Primitive2DVector& rTempResult, sal_uInt32 nIndex, sal_uInt32 nLength);
+
+            /// breakup complete primitive
+            void breakup(BreakupUnit aBreakupUnit);
+
+        protected:
+            /// allow user callback to allow changes to the new TextTransformation. Default
+            /// does nothing. Retval defines if a primitive gets created, e.g. return false
+            /// to suppress creation
+            virtual bool allowChange(sal_uInt32 nCount, basegfx::B2DHomMatrix& rNewTransform, sal_uInt32 nIndex, sal_uInt32 nLength);
+
+            /// allow read access to evtl. useful local parts
+            const TextSimplePortionPrimitive2D* getCastedSource() const { return mpSource; }
+            const TextLayouterDevice& getTextLayouter() const { return maTextLayouter; }
+            const basegfx::tools::B2DHomMatrixBufferedOnDemandDecompose& getDecTrans() const { return maDecTrans; }
+
+        public:
+            TextBreakupHelper(const Primitive2DReference& rxSource);
+            virtual ~TextBreakupHelper();
+
+            /// get result
+            const Primitive2DSequence& getResult(BreakupUnit aBreakupUnit = BreakupUnit_character) const;
+
+            /// data read access
+            const Primitive2DReference& getSource() const { return mxSource; }
+        };
+
+	} // end of namespace primitive2d
+} // end of namespace drawinglayer
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif //INCLUDED_DRAWINGLAYER_PRIMITIVE2D_TEXTBREAKUPHELPER_HXX
+
+//////////////////////////////////////////////////////////////////////////////
+// eof

Modified: incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/textlayoutdevice.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/textlayoutdevice.hxx?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/textlayoutdevice.hxx (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/textlayoutdevice.hxx Thu Dec  1 16:25:17 2011
@@ -30,6 +30,7 @@
 #include <basegfx/range/b2drange.hxx>
 #include <vector>
 #include <com/sun/star/lang/Locale.hpp>
+#include <basegfx/polygon/b2dpolypolygon.hxx>
 
 //////////////////////////////////////////////////////////////////////////////
 // predefines
@@ -43,11 +44,6 @@ namespace drawinglayer { namespace attri
 	class FontAttribute;
 }}
 
-namespace basegfx {
-    class B2DPolyPolygon;
-    typedef ::std::vector< B2DPolyPolygon > B2DPolyPolygonVector;
-}
-
 //////////////////////////////////////////////////////////////////////////////
 // access to one global impTimedRefDev incarnation in namespace drawinglayer::primitive
 

Modified: incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/textprimitive2d.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/textprimitive2d.hxx?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/textprimitive2d.hxx (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/primitive2d/textprimitive2d.hxx Thu Dec  1 16:25:17 2011
@@ -33,15 +33,11 @@
 #include <vector>
 #include <com/sun/star/lang/Locale.hpp>
 #include <drawinglayer/attribute/fontattribute.hxx>
+#include <basegfx/polygon/b2dpolypolygon.hxx>
 
 //////////////////////////////////////////////////////////////////////////////
 // predefines
 
-namespace basegfx {
-    class B2DPolyPolygon;
-    typedef ::std::vector< B2DPolyPolygon > B2DPolyPolygonVector;
-}
-
 class OutputDevice;
 
 //////////////////////////////////////////////////////////////////////////////

Modified: incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/canvasprocessor.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/canvasprocessor.hxx?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/canvasprocessor.hxx (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/canvasprocessor.hxx Thu Dec  1 16:25:17 2011
@@ -53,7 +53,6 @@ namespace drawinglayer { namespace primi
     class MetafilePrimitive2D;
     class TextSimplePortionPrimitive2D;
     class BitmapPrimitive2D;
-    class RenderGraphicPrimitive2D;
     class TransparencePrimitive2D;
     class PolygonStrokePrimitive2D;
     class FillBitmapPrimitive2D;
@@ -106,7 +105,6 @@ namespace drawinglayer
             void impRenderMetafilePrimitive2D(const primitive2d::MetafilePrimitive2D& rMetaCandidate);
             void impRenderTextSimplePortionPrimitive2D(const primitive2d::TextSimplePortionPrimitive2D& rTextCandidate);
             void impRenderBitmapPrimitive2D(const primitive2d::BitmapPrimitive2D& rBitmapCandidate);
-            void impRenderRenderGraphicPrimitive2D(const primitive2d::RenderGraphicPrimitive2D& rRenderGraphicCandidate);
             void impRenderTransparencePrimitive2D(const primitive2d::TransparencePrimitive2D& rTransparenceCandidate);
             void impRenderPolygonStrokePrimitive2D(const primitive2d::PolygonStrokePrimitive2D& rPolygonStrokePrimitive);
             void impRenderFillBitmapPrimitive2D(const primitive2d::FillBitmapPrimitive2D& rFillBitmapPrimitive2D);

Modified: incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/contourextractor2d.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/contourextractor2d.hxx?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/contourextractor2d.hxx (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/contourextractor2d.hxx Thu Dec  1 16:25:17 2011
@@ -44,7 +44,7 @@ namespace drawinglayer
 		{
 		private:
             /// the extracted contour
-            std::vector< basegfx::B2DPolyPolygon >  maExtractedContour;
+            basegfx::B2DPolyPolygonVector       maExtractedContour;
 
 			/// tooling methods
 			void processBasePrimitive2D(const primitive2d::BasePrimitive2D& rCandidate);
@@ -53,7 +53,7 @@ namespace drawinglayer
 			ContourExtractor2D(const geometry::ViewInformation2D& rViewInformation);
 			virtual ~ContourExtractor2D();
 			
-			const std::vector< basegfx::B2DPolyPolygon >& getExtractedContour() const { return maExtractedContour; }
+			const basegfx::B2DPolyPolygonVector& getExtractedContour() const { return maExtractedContour; }
 		};
 	} // end of namespace processor2d
 } // end of namespace drawinglayer

Modified: incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/linegeometryextractor2d.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/linegeometryextractor2d.hxx?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/linegeometryextractor2d.hxx (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/linegeometryextractor2d.hxx Thu Dec  1 16:25:17 2011
@@ -27,6 +27,7 @@
 #include <drawinglayer/drawinglayerdllapi.h>
 #include <drawinglayer/processor2d/baseprocessor2d.hxx>
 #include <basegfx/polygon/b2dpolypolygon.hxx>
+#include <basegfx/polygon/b2dpolygon.hxx>
 
 //////////////////////////////////////////////////////////////////////////////
 
@@ -42,8 +43,8 @@ namespace drawinglayer
 		class DRAWINGLAYER_DLLPUBLIC LineGeometryExtractor2D : public BaseProcessor2D
 		{
 		private:
-			std::vector< basegfx::B2DPolygon >		maExtractedHairlines;
-			std::vector< basegfx::B2DPolyPolygon >	maExtractedLineFills;
+			basegfx::B2DPolygonVector               maExtractedHairlines;
+			basegfx::B2DPolyPolygonVector           maExtractedLineFills;
 
             /// bitfield
             unsigned                                mbInLineGeometry : 1;
@@ -55,8 +56,8 @@ namespace drawinglayer
 			LineGeometryExtractor2D(const geometry::ViewInformation2D& rViewInformation);
 			virtual ~LineGeometryExtractor2D();
 			
-			const std::vector< basegfx::B2DPolygon >& getExtractedHairlines() const { return maExtractedHairlines; }
-			const std::vector< basegfx::B2DPolyPolygon >& getExtractedLineFills() const { return maExtractedLineFills; }
+			const basegfx::B2DPolygonVector& getExtractedHairlines() const { return maExtractedHairlines; }
+			const basegfx::B2DPolyPolygonVector& getExtractedLineFills() const { return maExtractedLineFills; }
 		};
 	} // end of namespace processor2d
 } // end of namespace drawinglayer

Modified: incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor2d/vclprocessor2d.hxx Thu Dec  1 16:25:17 2011
@@ -38,7 +38,6 @@ namespace drawinglayer { namespace primi
 	class TextSimplePortionPrimitive2D;
 	class PolygonHairlinePrimitive2D;
 	class BitmapPrimitive2D;
-	class RenderGraphicPrimitive2D;
 	class FillBitmapPrimitive2D;
 	class PolyPolygonGradientPrimitive2D;
 	class PolyPolygonBitmapPrimitive2D;
@@ -95,7 +94,6 @@ namespace drawinglayer
             void RenderTextSimpleOrDecoratedPortionPrimitive2D(const primitive2d::TextSimplePortionPrimitive2D& rTextCandidate);
 			void RenderPolygonHairlinePrimitive2D(const primitive2d::PolygonHairlinePrimitive2D& rPolygonCandidate, bool bPixelBased);
 			void RenderBitmapPrimitive2D(const primitive2d::BitmapPrimitive2D& rBitmapCandidate);
-			void RenderRenderGraphicPrimitive2D(const primitive2d::RenderGraphicPrimitive2D& rRenderGraphicCandidate);
 			void RenderFillBitmapPrimitive2D(const primitive2d::FillBitmapPrimitive2D& rFillBitmapCandidate);
 			void RenderPolyPolygonGradientPrimitive2D(const primitive2d::PolyPolygonGradientPrimitive2D& rPolygonCandidate);
 			void RenderPolyPolygonBitmapPrimitive2D(const primitive2d::PolyPolygonBitmapPrimitive2D& rPolygonCandidate);

Modified: incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor3d/shadow3dextractor.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor3d/shadow3dextractor.hxx?rev=1209140&r1=1209139&r2=1209140&view=diff
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor3d/shadow3dextractor.hxx (original)
+++ incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/processor3d/shadow3dextractor.hxx Thu Dec  1 16:25:17 2011
@@ -51,12 +51,9 @@ namespace drawinglayer
 		class DRAWINGLAYER_DLLPUBLIC Shadow3DExtractingProcessor : public BaseProcessor3D
 		{
 		private:
-            /// typedef for data handling
-            typedef std::vector< primitive2d::BasePrimitive2D* > BasePrimitive2DVector;
-
             /// result holding vector (2D) and target vector for stacking (inited to &maPrimitive2DSequence)
-            BasePrimitive2DVector                           maPrimitive2DSequence;
-            BasePrimitive2DVector*                          mpPrimitive2DSequence;
+            primitive2d::Primitive2DVector                  maPrimitive2DSequence;
+            primitive2d::Primitive2DVector*                 mpPrimitive2DSequence;
 
 			/// object transformation for scene for 2d definition
 			basegfx::B2DHomMatrix							maObjectTransformation;
@@ -93,10 +90,6 @@ namespace drawinglayer
              */
 			virtual void processBasePrimitive3D(const primitive3d::BasePrimitive3D& rCandidate);
 
-            /// helper to convert from BasePrimitive2DVector to primitive2d::Primitive2DSequence
-            const primitive2d::Primitive2DSequence getPrimitive2DSequenceFromBasePrimitive2DVector(
-                const BasePrimitive2DVector& rVector) const;
-
         public:
 			Shadow3DExtractingProcessor(
 				const geometry::ViewInformation3D& rViewInformation,

Added: incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/tools/converters.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/tools/converters.hxx?rev=1209140&view=auto
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/tools/converters.hxx (added)
+++ incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/inc/drawinglayer/tools/converters.hxx Thu Dec  1 16:25:17 2011
@@ -0,0 +1,49 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http:\\www.apache.org\licenses\LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+#ifndef INCLUDED_DRAWINGLAYER_TOOLS_CONVERTERS_HXX
+#define INCLUDED_DRAWINGLAYER_TOOLS_CONVERTERS_HXX
+
+#include <drawinglayer/drawinglayerdllapi.h>
+#include <vcl/bitmapex.hxx>
+#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
+
+//////////////////////////////////////////////////////////////////////////////
+
+namespace drawinglayer
+{
+	namespace tools
+	{
+        BitmapEx DRAWINGLAYER_DLLPUBLIC convertToBitmapEx(
+            const drawinglayer::primitive2d::Primitive2DSequence& rSeq, 
+            const geometry::ViewInformation2D& rViewInformation2D,
+            sal_uInt32 nDiscreteWidth,
+            sal_uInt32 nDiscreteHeight,
+            sal_uInt32 nMaxQuadratPixels);
+
+    } // end of namespace tools
+} // end of namespace drawinglayer
+
+//////////////////////////////////////////////////////////////////////////////
+
+#endif //INCLUDED_DRAWINGLAYER_TOOLS_CONVERTERS_HXX
+
+// eof

Added: incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/drawinglayeruno/drawinglayeruno.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/drawinglayeruno/drawinglayeruno.cxx?rev=1209140&view=auto
==============================================================================
--- incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/drawinglayeruno/drawinglayeruno.cxx (added)
+++ incubator/ooo/branches/alg/svgreplacement/main/drawinglayer/source/drawinglayeruno/drawinglayeruno.cxx Thu Dec  1 16:25:17 2011
@@ -0,0 +1,95 @@
+/**************************************************************
+ * 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http:\\www.apache.org\licenses\LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ *************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_drawinglayer.hxx"
+
+#include <drawinglayer/drawinglayerdllapi.h>
+#include <com/sun/star/uno/Reference.h>
+#include <com/sun/star/uno/RuntimeException.hpp>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/lang/XComponent.hpp>
+#include <com/sun/star/registry/XRegistryKey.hpp>
+#include <com/sun/star/lang/XComponent.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/lang/XSingleServiceFactory.hpp>
+#include <uno/environment.h>
+#include <cppuhelper/factory.hxx>
+
+//////////////////////////////////////////////////////////////////////////////
+
+using namespace ::com::sun::star;
+
+//////////////////////////////////////////////////////////////////////////////
+// predefines
+
+namespace drawinglayer
+{
+	namespace unorenderer
+	{
+	    extern uno::Sequence< rtl::OUString > SAL_CALL XPrimitive2DRenderer_getSupportedServiceNames();
+	    extern rtl::OUString SAL_CALL XPrimitive2DRenderer_getImplementationName();
+	    extern uno::Reference< uno::XInterface > SAL_CALL XPrimitive2DRenderer_createInstance( const uno::Reference< lang::XMultiServiceFactory > & );
+	} // end of namespace unorenderer
+} // end of namespace drawinglayer
+
+//////////////////////////////////////////////////////////////////////////////
+// component_getImplementationEnvironment
+
+extern "C" 
+{
+    DRAWINGLAYER_DLLPUBLIC void SAL_CALL component_getImplementationEnvironment( const sal_Char ** ppEnvTypeName, uno_Environment ** /* ppEnv */ )
+    {
+	    *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
+    }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// component_getFactory
+
+extern "C" 
+{
+    DRAWINGLAYER_DLLPUBLIC void* SAL_CALL component_getFactory( const sal_Char* pImplName, void* pServiceManager, void* /* pRegistryKey */ )
+    {
+	    uno::Reference< lang::XSingleServiceFactory > xFactory;
+	    void* pRet = 0;
+
+	    if(drawinglayer::unorenderer::XPrimitive2DRenderer_getImplementationName().equalsAscii(pImplName))
+	    {
+		    xFactory = ::cppu::createSingleFactory(
+			    reinterpret_cast< lang::XMultiServiceFactory * >(pServiceManager),
+			    drawinglayer::unorenderer::XPrimitive2DRenderer_getImplementationName(),
+			    drawinglayer::unorenderer::XPrimitive2DRenderer_createInstance,
+			    drawinglayer::unorenderer::XPrimitive2DRenderer_getSupportedServiceNames());
+	    }
+
+	    if(xFactory.is())
+	    {
+		    xFactory->acquire();
+		    pRet = xFactory.get();
+	    }
+
+	    return pRet;
+    }
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// eof