incubator-ooo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a..@apache.org
Subject svn commit: r1339213 [8/11] - in /incubator/ooo/branches/alg/aw080: ./ ext_sources/ extras/l10n/source/en-GB/ extras/l10n/source/pt-BR/ extras/l10n/source/zh-CN/ extras/l10n/source/zh-TW/ main/ main/apache-commons/java/codec/ main/apache-commons/java/h...
Date Wed, 16 May 2012 15:07:08 GMT
Modified: incubator/ooo/branches/alg/aw080/main/solenv/bin/srcrelease.xml
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/solenv/bin/srcrelease.xml?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/solenv/bin/srcrelease.xml (original)
+++ incubator/ooo/branches/alg/aw080/main/solenv/bin/srcrelease.xml Wed May 16 15:07:00 2012
@@ -23,7 +23,7 @@
 
   <property name="out.dir" value="."/>
   <property name="aoo.name" value="aoo"/>
-  <property name="aoo.ver" value="3.4"/>
+  <property name="aoo.ver" value="3.4.0"/>
   <property name="release.dir.name" value="${aoo.name}-${aoo.ver}"/>
   <property name="release.file.name" value="${release.dir.name}-incubating-src"/>
   <property name="release.zip" value="${out.dir}/${release.file.name}.zip"/>
@@ -31,7 +31,7 @@
   <property name="release.tar.gz" value="${out.dir}/${release.file.name}.tar.gz"/>
   <property name="release.tar.bz2" value="${out.dir}/${release.file.name}.tar.bz2"/>
   
-  <property name="excludes.list" value="configure, moz/zipped/**, **/.svn **/.gitignore, **/.git, warn, set_soenv, solver/**, makefile.mk, config.log, config.parms, config.status, bootstrap, autom4te.cache/**, MacOSXX86Env.*, external/unowinreg/unowinreg.dll" />
+  <property name="excludes.list" value="configure, moz/zipped/*.zip, **/.svn **/.gitignore, **/.git, warn, set_soenv, solver/**, makefile.mk, config.log, config.parms, config.status, bootstrap, autom4te.cache/**, MacOSXX86Env.*, external/unowinreg/unowinreg.dll" />
   <property name="excludes.executables" value="solenv/bin/macosx-create-bundle, solenv/bin/linkoo, solenv/bin/localize, solenv/bin/createpdbrelocators, solenv/bin/langwrap, solenv/bin/makedepn, solenv/bin/packmodule, solenv/bin/rpm-wrapper, solenv/bin/relocate, solenv/bin/receditor, solenv/bin/subsequenttests, **/*.sh, **/*.bat, **/*.exe, configure.cmd, oowintool, config.sub, config.guess, **/*.pl"/>
   <property name="includes.mk" value="inc/unxmac*.mk inc/unxlng*.mk inc/wntmsci*.mk inc/unxsol*.mk" />
   <property name="excludes.outdirs" value="**/unxmacx*/**, **/unxlng*/**, **/unxsol*/**, **/wntmsci*/**" />
@@ -59,7 +59,7 @@
       <zipfileset dir="main" excludes="${excludes.list},${excludes.executables},${excludes.outdirs}" prefix="${release.dir.name}/main"/>
       <zipfileset dir="extras" excludes="${excludes.list},${excludes.executables},${excludes.outdirs}" prefix="${release.dir.name}/extras"/>
       <zipfileset dir="main" includes="${excludes.executables}" filemode="755" excludes="${excludes.list},${excludes.outdirs}" prefix="${release.dir.name}/main"/>
-      <zipfileset dir="extras" includes="${excludes.executables}" filemode="755" excludes="${excludes.list},${excludes.outdirs}" prefix="${release.dir.name}/main"/>
+      <zipfileset dir="extras" includes="${excludes.executables}" filemode="755" excludes="${excludes.list},${excludes.outdirs}" prefix="${release.dir.name}/extras"/>
       <zipfileset dir="main/solenv" includes="${includes.mk}" prefix="${release.dir.name}/main/solenv"/>
     </zip>
     <echo level="verbose" message="   ... DONE"/>
@@ -75,7 +75,7 @@
       <tarfileset dir="main" excludes="${excludes.list},${excludes.executables},${excludes.outdirs}" prefix="${release.dir.name}/main"/>
       <tarfileset dir="extras" excludes="${excludes.list},${excludes.executables},${excludes.outdirs}" prefix="${release.dir.name}/extras"/>
       <tarfileset dir="main" includes="${excludes.executables}" filemode="755" excludes="${excludes.list},${excludes.outdirs}" prefix="${release.dir.name}/main"/>
-      <tarfileset dir="extras" includes="${excludes.executables}" filemode="755" excludes="${excludes.list},${excludes.outdirs}" prefix="${release.dir.name}/main"/>
+      <tarfileset dir="extras" includes="${excludes.executables}" filemode="755" excludes="${excludes.list},${excludes.outdirs}" prefix="${release.dir.name}/extras"/>
       <tarfileset dir="main/solenv" includes="${includes.mk}" prefix="${release.dir.name}/main/solenv"/>
     </tar>
     <echo level="verbose" message="   ... DONE"/>

Modified: incubator/ooo/branches/alg/aw080/main/solenv/inc/extension_helplink.mk
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/solenv/inc/extension_helplink.mk?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/solenv/inc/extension_helplink.mk (original)
+++ incubator/ooo/branches/alg/aw080/main/solenv/inc/extension_helplink.mk Wed May 16 15:07:00 2012
@@ -26,7 +26,7 @@ my_cp:=$(CLASSPATH)$(PATH_SEPERATOR)$(SO
 .IF "$(SYSTEM_LUCENE)" == "YES"
 my_cp!:=$(my_cp)$(PATH_SEPERATOR)$(LUCENE_CORE_JAR)$(PATH_SEPERATOR)$(LUCENE_ANALYZERS_JAR)
 .ELSE
-my_cp!:=$(my_cp)$(PATH_SEPERATOR)$(SOLARBINDIR)/lucene-core-2.3.jar$(PATH_SEPERATOR)$(SOLARBINDIR)/lucene-analyzers-2.3.jar
+my_cp!:=$(my_cp)$(PATH_SEPERATOR)$(SOLARBINDIR)/lucene-core-2.9.4-dev.jar$(PATH_SEPERATOR)$(SOLARBINDIR)/lucene-analyzers-2.9.4-dev.jar
 .ENDIF
  
 #aux_alllangiso*:=$(foreach,i,$(alllangiso) $(foreach,j,$(aux_langdirs) $(eq,$i,$j  $i $(NULL))))

Modified: incubator/ooo/branches/alg/aw080/main/svgio/Library_svgio.mk
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svgio/Library_svgio.mk?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svgio/Library_svgio.mk (original)
+++ incubator/ooo/branches/alg/aw080/main/svgio/Library_svgio.mk Wed May 16 15:07:00 2012
@@ -80,6 +80,7 @@ $(eval $(call gb_Library_add_exception_o
     svgio/source/svgreader/svgsvgnode \
     svgio/source/svgreader/svgsymbolnode \
     svgio/source/svgreader/svgtextnode \
+    svgio/source/svgreader/svgtitledescnode \
     svgio/source/svgreader/svgtoken \
     svgio/source/svgreader/svgtrefnode \
     svgio/source/svgreader/svgtools \

Modified: incubator/ooo/branches/alg/aw080/main/svgio/Package_inc.mk
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svgio/Package_inc.mk?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svgio/Package_inc.mk (original)
+++ incubator/ooo/branches/alg/aw080/main/svgio/Package_inc.mk Wed May 16 15:07:00 2012
@@ -45,6 +45,7 @@ $(eval $(call gb_Package_add_file,svgio_
 $(eval $(call gb_Package_add_file,svgio_inc,inc/svgio/svgreader/svgsvgnode.hxx,svgio/svgreader/svgsvgnode.hxx))
 $(eval $(call gb_Package_add_file,svgio_inc,inc/svgio/svgreader/svgsymbolnode.hxx,svgio/svgreader/svgsymbolnode.hxx))
 $(eval $(call gb_Package_add_file,svgio_inc,inc/svgio/svgreader/svgtextnode.hxx,svgio/svgreader/svgtextnode.hxx))
+$(eval $(call gb_Package_add_file,svgio_inc,inc/svgio/svgreader/svgtitledescnode.hxx,svgio/svgreader/svgtitledescnode.hxx))
 $(eval $(call gb_Package_add_file,svgio_inc,inc/svgio/svgreader/svgtoken.hxx,svgio/svgreader/svgtoken.hxx))
 $(eval $(call gb_Package_add_file,svgio_inc,inc/svgio/svgreader/svgtrefnode.hxx,svgio/svgreader/svgtrefnode.hxx))
 $(eval $(call gb_Package_add_file,svgio_inc,inc/svgio/svgreader/svgtools.hxx,svgio/svgreader/svgtools.hxx))

Modified: incubator/ooo/branches/alg/aw080/main/svgio/inc/svgio/svgreader/svgstyleattributes.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svgio/inc/svgio/svgreader/svgstyleattributes.hxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svgio/inc/svgio/svgreader/svgstyleattributes.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svgio/inc/svgio/svgreader/svgstyleattributes.hxx Wed May 16 15:07:00 2012
@@ -172,6 +172,8 @@ namespace svgio
             TextAnchor                  maTextAnchor;
             SvgPaint                    maColor;
             SvgNumber                   maOpacity;
+            rtl::OUString               maTitle;
+            rtl::OUString               maDesc;
 
             /// link to content. If set, the node can be fetched on demand
             rtl::OUString               maClipPathXLink;
@@ -377,6 +379,14 @@ namespace svgio
             const SvgNumber getOpacity() const { return maOpacity; }
             void setOpacity(const SvgNumber& rOpacity = SvgNumber()) { maOpacity = rOpacity; }
 
+            // Title content
+            const rtl::OUString& getTitle() const { return maTitle; }
+            void setTitle(const rtl::OUString& rNew) { maTitle = rNew; }
+
+            // Desc content
+            const rtl::OUString& getDesc() const { return maDesc; }
+            void setDesc(const rtl::OUString& rNew) { maDesc = rNew; }
+
             // ClipPathXLink content
             const rtl::OUString getClipPathXLink() const { return maClipPathXLink; }
             void setClipPathXLink(const rtl::OUString& rNew) { maClipPathXLink = rNew; }

Modified: incubator/ooo/branches/alg/aw080/main/svgio/inc/svgio/svgreader/svgtoken.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svgio/inc/svgio/svgreader/svgtoken.hxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svgio/inc/svgio/svgreader/svgtoken.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svgio/inc/svgio/svgreader/svgtoken.hxx Wed May 16 15:07:00 2012
@@ -106,6 +106,8 @@ namespace svgio
             SVGTokenPatternContentUnits,
             SVGTokenPatternTransform,
             SVGTokenOpacity,
+            SVGTokenTitle,
+            SVGTokenDesc,
 
             // AspectRatio and params
             SVGTokenPreserveAspectRatio,
@@ -184,6 +186,8 @@ namespace svgio
 
         SVGToken StrToSVGToken(const rtl::OUString& rStr);
 
+        const rtl::OUString& getStrTitle(); 
+        const rtl::OUString& getStrDesc(); 
     } // end of namespace svgreader
 } // end of namespace svgio
 

Modified: incubator/ooo/branches/alg/aw080/main/svgio/source/svgreader/svgdocumenthandler.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svgio/source/svgreader/svgdocumenthandler.cxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svgio/source/svgreader/svgdocumenthandler.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svgio/source/svgreader/svgdocumenthandler.cxx Wed May 16 15:07:00 2012
@@ -49,6 +49,7 @@
 #include <svgio/svgreader/svgmasknode.hxx>
 #include <svgio/svgreader/svgmarkernode.hxx>
 #include <svgio/svgreader/svgpatternnode.hxx>
+#include <svgio/svgreader/svgtitledescnode.hxx>
 
 //////////////////////////////////////////////////////////////////////////////
 
@@ -252,6 +253,15 @@ namespace svgio
                         break;
                     }
 
+                    /// title and description
+                    case SVGTokenTitle:
+                    case SVGTokenDesc:
+                    {
+                        /// new node for Title and/or Desc
+                        mpTarget = new SvgTitleDescNode(aSVGToken, maDocument, mpTarget);
+                        break;
+                    }
+
                     /// gradients
                     case SVGTokenLinearGradient:
                     case SVGTokenRadialGradient:
@@ -366,6 +376,7 @@ namespace svgio
                 const SVGToken aSVGToken(StrToSVGToken(aName));
                 SvgNode* pWhitespaceCheck(SVGTokenText == aSVGToken ? mpTarget : 0);
                 SvgStyleNode* pCssStyle(SVGTokenStyle == aSVGToken ? static_cast< SvgStyleNode* >(mpTarget) : 0);
+                SvgTitleDescNode* pSvgTitleDescNode(SVGTokenTitle == aSVGToken || SVGTokenDesc == aSVGToken ? static_cast< SvgTitleDescNode* >(mpTarget) : 0);
 
                 switch(aSVGToken)
                 {
@@ -388,6 +399,10 @@ namespace svgio
                     case SVGTokenRect:
                     case SVGTokenImage:
                     
+                    /// title and description
+                    case SVGTokenTitle:
+                    case SVGTokenDesc:
+
                     /// gradients
                     case SVGTokenLinearGradient:
                     case SVGTokenRadialGradient:
@@ -438,6 +453,23 @@ namespace svgio
                     }
                 }
 
+                if(pSvgTitleDescNode && mpTarget)
+                {
+                    const rtl::OUString aText(pSvgTitleDescNode->getText());
+
+                    if(aText.getLength())
+                    {
+                        if(SVGTokenTitle == aSVGToken)
+                        {
+                            mpTarget->parseAttribute(getStrTitle(), aSVGToken, aText);
+                        }
+                        else // if(SVGTokenDesc == aSVGToken)
+                        {
+                            mpTarget->parseAttribute(getStrDesc(), aSVGToken, aText);
+                        }
+                    }
+                }
+
                 if(pCssStyle && pCssStyle->isTextCss())
                 {
                     // css style parsing
@@ -463,72 +495,74 @@ namespace svgio
 
         void SvgDocHdl::characters( const ::rtl::OUString& aChars ) throw (xml::sax::SAXException, uno::RuntimeException)
         {
-            if(mpTarget)
-            {
-                const sal_uInt32 nLength(aChars.getLength());
+            const sal_uInt32 nLength(aChars.getLength());
 
-                if(nLength &&
-                    (SVGTokenText == mpTarget->getType() || 
-                    SVGTokenTspan == mpTarget->getType() || 
-                    SVGTokenTextPath == mpTarget->getType() ||
-                    SVGTokenStyle == mpTarget->getType()))
+            if(mpTarget && nLength)
+            {
+                switch(mpTarget->getType())
                 {
-                    switch(mpTarget->getType())
+                    case SVGTokenText:
+                    case SVGTokenTspan:
+                    case SVGTokenTextPath:
                     {
-                        case SVGTokenText:
-                        case SVGTokenTspan:
-                        case SVGTokenTextPath:
-                        {
-                            const SvgNodeVector& rChilds = mpTarget->getChildren();
-                            SvgCharacterNode* pTarget = 0;
+                        const SvgNodeVector& rChilds = mpTarget->getChildren();
+                        SvgCharacterNode* pTarget = 0;
 
-                            if(rChilds.size())
-                            {
-                                pTarget = dynamic_cast< SvgCharacterNode* >(rChilds[rChilds.size() - 1]);
-                            }
+                        if(rChilds.size())
+                        {
+                            pTarget = dynamic_cast< SvgCharacterNode* >(rChilds[rChilds.size() - 1]);
+                        }
 
-                            if(pTarget)
-                            {
-                                // concatenate to current character span
-                                pTarget->concatenate(aChars);
-                            }
-                            else
-                            {
-                                // add character span as simplified tspan (no arguments)
-                                // as direct child of SvgTextNode/SvgTspanNode/SvgTextPathNode
-                                new SvgCharacterNode(maDocument, mpTarget, aChars);
-                            }
-                            break;
+                        if(pTarget)
+                        {
+                            // concatenate to current character span
+                            pTarget->concatenate(aChars);
                         }
-                        case SVGTokenStyle:
+                        else
                         {
-                            SvgStyleNode& rSvgStyleNode = static_cast< SvgStyleNode& >(*mpTarget);
+                            // add character span as simplified tspan (no arguments)
+                            // as direct child of SvgTextNode/SvgTspanNode/SvgTextPathNode
+                            new SvgCharacterNode(maDocument, mpTarget, aChars);
+                        }
+                        break;
+                    }
+                    case SVGTokenStyle:
+                    {
+                        SvgStyleNode& rSvgStyleNode = static_cast< SvgStyleNode& >(*mpTarget);
 
-                            if(rSvgStyleNode.isTextCss())
+                        if(rSvgStyleNode.isTextCss())
+                        {
+                            // collect characters for css style
+                            if(maCssContents.size())
                             {
-                                // collect characters for css style
-                                if(maCssContents.size())
-                                {
-                                    const ::rtl::OUString aTrimmedChars(aChars.trim());
+                                const ::rtl::OUString aTrimmedChars(aChars.trim());
                                 
-                                    if(aTrimmedChars.getLength())
-                                    {
-                                        std::vector< rtl::OUString >::iterator aString(maCssContents.end() - 1);
-                                        (*aString) += aTrimmedChars;
-                                    }
-                                }
-                                else
+                                if(aTrimmedChars.getLength())
                                 {
-                                    OSL_ENSURE(false, "Closing CssStyle, but no collector string on stack (!)");
+                                    std::vector< rtl::OUString >::iterator aString(maCssContents.end() - 1);
+                                    (*aString) += aTrimmedChars;
                                 }
                             }
-                            break;
-                        }
-                        default:
-                        {
-                            // characters not used by a known node
-                            break;
+                            else
+                            {
+                                OSL_ENSURE(false, "Closing CssStyle, but no collector string on stack (!)");
+                            }
                         }
+                        break;
+                    }
+                    case SVGTokenTitle:
+                    case SVGTokenDesc:
+                    {
+                        SvgTitleDescNode& rSvgTitleDescNode = static_cast< SvgTitleDescNode& >(*mpTarget);
+
+                        // add text directly to SvgTitleDescNode
+                        rSvgTitleDescNode.concatenate(aChars);
+                        break;
+                    }
+                    default:
+                    {
+                        // characters not used by a known node
+                        break;
                     }
                 }
             }

Modified: incubator/ooo/branches/alg/aw080/main/svgio/source/svgreader/svgnode.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svgio/source/svgreader/svgnode.cxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svgio/source/svgreader/svgnode.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svgio/source/svgreader/svgnode.cxx Wed May 16 15:07:00 2012
@@ -27,6 +27,8 @@
 #include <svgio/svgreader/svgdocument.hxx>
 #include <svgio/svgreader/svgnode.hxx>
 #include <svgio/svgreader/svgstyleattributes.hxx>
+#include <drawinglayer/primitive2d/objectinfoprimitive2d.hxx>
+#include <tools/urlobj.hxx>
 
 //////////////////////////////////////////////////////////////////////////////
 
@@ -189,6 +191,50 @@ namespace svgio
                         OSL_ENSURE(false, "Null-Pointer in child node list (!)");
                     }
                 }
+
+                if(rTarget.hasElements())
+                {
+                    const SvgStyleAttributes* pStyles = getSvgStyleAttributes();
+
+                    if(pStyles)
+                    {
+                        // check if we have Title or Desc
+                        const rtl::OUString& rTitle = pStyles->getTitle();
+                        const rtl::OUString& rDesc = pStyles->getDesc();
+
+                        if(rTitle.getLength() || rDesc.getLength())
+                        {
+                            // default object name is empty
+                            rtl::OUString aObjectName;
+
+                            // use path as object name when outmost element
+                            if(SVGTokenSvg == getType())
+                            {
+                                aObjectName = getDocument().getAbsolutePath();
+
+                                if(aObjectName.getLength())
+                                {
+                            		INetURLObject aURL(aObjectName);
+
+                                    aObjectName = aURL.getName(
+                                        INetURLObject::LAST_SEGMENT,
+                                        true,
+                                        INetURLObject::DECODE_WITH_CHARSET);
+                                }
+                            }
+
+                            // pack in ObjectInfoPrimitive2D group
+                            const drawinglayer::primitive2d::Primitive2DReference xRef(
+                                new drawinglayer::primitive2d::ObjectInfoPrimitive2D(
+                                    rTarget,
+                                    aObjectName,
+                                    rTitle,
+                                    rDesc));
+
+                            rTarget = drawinglayer::primitive2d::Primitive2DSequence(&xRef, 1);
+                        }
+                    }
+                }
             }
         }
 

Modified: incubator/ooo/branches/alg/aw080/main/svgio/source/svgreader/svgstyleattributes.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svgio/source/svgreader/svgstyleattributes.cxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svgio/source/svgreader/svgstyleattributes.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svgio/source/svgreader/svgstyleattributes.cxx Wed May 16 15:07:00 2012
@@ -1193,6 +1193,8 @@ namespace svgio
             maTextAnchor(TextAnchor_notset),
             maColor(),
             maOpacity(1.0),
+            maTitle(),
+            maDesc(),
             maClipPathXLink(),
             maMaskXLink(),
             maMarkerStartXLink(),
@@ -1762,6 +1764,16 @@ namespace svgio
                     }
                     break;
                 }
+                case SVGTokenTitle:
+                {
+                    setTitle(aContent);
+                    break;
+                }
+                case SVGTokenDesc:
+                {
+                    setDesc(aContent);
+                    break;
+                }
                 case SVGTokenClipPathProperty:
                 {
                     readLocalUrl(aContent, maClipPathXLink);

Modified: incubator/ooo/branches/alg/aw080/main/svgio/source/svgreader/svgtoken.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svgio/source/svgreader/svgtoken.cxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svgio/source/svgreader/svgtoken.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svgio/source/svgreader/svgtoken.cxx Wed May 16 15:07:00 2012
@@ -97,6 +97,8 @@ namespace svgio
         static rtl::OUString aSVGStrPatternContentUnits(rtl::OUString::createFromAscii("patternContentUnits")); 
         static rtl::OUString aSVGStrPatternTransform(rtl::OUString::createFromAscii("patternTransform")); 
         static rtl::OUString aSVGStrOpacity(rtl::OUString::createFromAscii("opacity")); 
+        static rtl::OUString aSVGStrTitle(rtl::OUString::createFromAscii("title")); 
+        static rtl::OUString aSVGStrDesc(rtl::OUString::createFromAscii("desc")); 
 
         static rtl::OUString aSVGStrPreserveAspectRatio(rtl::OUString::createFromAscii("preserveAspectRatio")); 
         static rtl::OUString aSVGStrDefer(rtl::OUString::createFromAscii("defer")); 
@@ -236,6 +238,8 @@ namespace svgio
                 aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrPatternContentUnits, SVGTokenPatternContentUnits));
                 aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrPatternTransform, SVGTokenPatternTransform));
                 aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrOpacity, SVGTokenOpacity));
+                aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrTitle, SVGTokenTitle));
+                aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrDesc, SVGTokenDesc));
 
                 aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrPreserveAspectRatio, SVGTokenPreserveAspectRatio));
                 aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrDefer, SVGTokenDefer));
@@ -314,6 +318,16 @@ namespace svgio
                 return aResult->second;
             }
         }
+
+        const rtl::OUString& getStrTitle()
+        {
+            return aSVGStrTitle; 
+        }
+
+        const rtl::OUString& getStrDesc()
+        {
+            return aSVGStrDesc; 
+        }
     } // end of namespace svgreader
 } // end of namespace svgio
 

Modified: incubator/ooo/branches/alg/aw080/main/svx/Package_inc.mk
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/Package_inc.mk?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/Package_inc.mk (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/Package_inc.mk Wed May 16 15:07:00 2012
@@ -438,7 +438,6 @@ $(eval $(call gb_Package_add_file,svx_in
 $(eval $(call gb_Package_add_file,svx_inc,inc/svx/svdotext.hxx,svx/svdotext.hxx))
 $(eval $(call gb_Package_add_file,svx_inc,inc/svx/sdrtexthelpers.hxx,svx/sdrtexthelpers.hxx))
 $(eval $(call gb_Package_add_file,svx_inc,inc/svx/chrtitem.hxx,svx/chrtitem.hxx))
-$(eval $(call gb_Package_add_file,svx_inc,inc/svx/xbitmap.hxx,svx/xbitmap.hxx))
 $(eval $(call gb_Package_add_file,svx_inc,inc/svx/dlgutil.hxx,svx/dlgutil.hxx))
 $(eval $(call gb_Package_add_file,svx_inc,inc/svx/unopage.hxx,svx/unopage.hxx))
 $(eval $(call gb_Package_add_file,svx_inc,inc/svx/svddrag.hxx,svx/svddrag.hxx))

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/dlgctrl.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/dlgctrl.hxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/dlgctrl.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/dlgctrl.hxx Wed May 16 15:07:00 2012
@@ -193,7 +193,7 @@ public:
 			SvxBitmapCtl( Window* pParent, const Size& rSize );
 			~SvxBitmapCtl();
 
-	XOBitmap	GetXBitmap();
+	BitmapEx GetBitmapEx();
 
 	void	SetBmpArray( const sal_uInt16* pPixel ) { pBmpArray = pPixel; }
 	void	SetLines( sal_uInt16 nLns ) { nLines = nLns; }
@@ -230,7 +230,7 @@ public:
 	virtual void Paint( const Rectangle& rRect );
 	virtual void MouseButtonDown( const MouseEvent& rMEvt );
 
-	void	SetXBitmap( const XOBitmap& rXOBitmap );
+	void	SetXBitmap( const BitmapEx& rBitmapEx );
 
 	void	SetPixelColor( const Color& rCol ) { aPixelColor = rCol; }
 	void	SetBackgroundColor( const Color& rCol ) { aBackgroundColor = rCol; }
@@ -322,22 +322,21 @@ private:
 class SVX_DLLPUBLIC BitmapLB : public ListBox
 {
 public:
-		 BitmapLB( Window* pParent, ResId Id, sal_Bool bUserDraw = sal_True );
+    BitmapLB(Window* pParent, ResId Id, bool bUserDraw = true);
 
-	virtual void Fill( const XBitmapList* pList );
-	virtual void UserDraw( const UserDrawEvent& rUDEvt );
+	virtual void Fill(const XBitmapList* pList);
+	virtual void UserDraw(const UserDrawEvent& rUDEvt);
 
-	void	Append( XBitmapEntry* pEntry, Bitmap* pBmp = NULL );
-	void	Modify( XBitmapEntry* pEntry, sal_uInt16 nPos, Bitmap* pBmp = NULL );
-	void	SelectEntryByList( const XBitmapList* pList, const String& rStr,
-						const Bitmap& rBmp);
+	void Append(XBitmapEntry* pEntry, BitmapEx* pBmpEx = 0);
+	void Modify(XBitmapEntry* pEntry, sal_uInt16 nPos, BitmapEx* pBmpEx = 0);
+	void SelectEntryByList(const XBitmapList* pList, const String& rStr);
 
 private:
-	VirtualDevice	aVD;
-	Bitmap			aBitmap;
+	VirtualDevice	maVD;
+	BitmapEx        maBitmapEx;
 
 	XBitmapList*	mpList;
-	sal_Bool			mbUserDraw;
+	bool            mbUserDraw;
 
 	SVX_DLLPRIVATE void SetVirtualDevice();
 };
@@ -350,22 +349,21 @@ private:
 class FillAttrLB : public ColorListBox
 {
 private:
-	VirtualDevice	aVD;
-	Bitmap			aBitmap;
+	VirtualDevice	maVD;
+	BitmapEx		maBitmapEx;
 
 	void SetVirtualDevice();
 
 public:
-		 FillAttrLB( Window* pParent, ResId Id );
-		 FillAttrLB( Window* pParent, WinBits aWB );
+    FillAttrLB( Window* pParent, ResId Id );
+    FillAttrLB( Window* pParent, WinBits aWB );
 
 	virtual void Fill( const XColorTable* pTab );
 	virtual void Fill( const XHatchList* pList );
 	virtual void Fill( const XGradientList* pList );
 	virtual void Fill( const XBitmapList* pList );
 
-	void	SelectEntryByList( const XBitmapList* pList, const String& rStr,
-						const Bitmap& rBmp);
+	void SelectEntryByList(const XBitmapList* pList, const String& rStr);
 };
 
 /*************************************************************************

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/contact/viewcontact.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/contact/viewcontact.hxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/contact/viewcontact.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/contact/viewcontact.hxx Wed May 16 15:07:00 2012
@@ -168,6 +168,11 @@ namespace sdr
 			// add Gluepoints (if available)
 			virtual drawinglayer::primitive2d::Primitive2DSequence createGluePointPrimitive2DSequence() const;
 
+            // allow embedding if needed (e.g. for SdrObjects, evtl. Name, Title and description get added). This
+            // is a helper normally used from getViewIndependentPrimitive2DSequence(), but there is one exception
+            // for 3D scenes
+            virtual drawinglayer::primitive2d::Primitive2DSequence embedToObjectSpecificInformation(const drawinglayer::primitive2d::Primitive2DSequence& rSource) const;
+
             // delete all existing VOCs including DrawHierarchy which will invalidate all
             // visualisations, too. Used mostly at object removal from DrawHierarchy to
             // delete all existing VOCs by purpose, but can also be used for other purposes.

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/contact/viewcontactofsdrobj.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/contact/viewcontactofsdrobj.hxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/contact/viewcontactofsdrobj.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/sdr/contact/viewcontactofsdrobj.hxx Wed May 16 15:07:00 2012
@@ -83,6 +83,11 @@ namespace sdr
 
 			// add Gluepoints (if available)
 			virtual drawinglayer::primitive2d::Primitive2DSequence createGluePointPrimitive2DSequence() const;
+            
+            // allow embedding if needed (e.g. for SdrObjects, evtl. Name, Title and description get added). This
+            // is a helper normally used from getViewIndependentPrimitive2DSequence(), but there is one exception
+            // for 3D scenes
+            virtual drawinglayer::primitive2d::Primitive2DSequence embedToObjectSpecificInformation(const drawinglayer::primitive2d::Primitive2DSequence& rSource) const;
 		};
 	} // end of namespace contact
 } // end of namespace sdr

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdograf.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdograf.hxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdograf.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdograf.hxx Wed May 16 15:07:00 2012
@@ -102,6 +102,7 @@ protected:
 	bool					ImpUpdateGraphicLink( bool bAsynchron = true ) const;
 	void					ImpSetLinkedGraphic( const Graphic& rGraphic );
 							DECL_LINK( ImpSwapHdl, GraphicObject* );
+    void onGraphicChanged();
 
 	virtual					~SdrGrafObj();
 

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdpntv.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdpntv.hxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdpntv.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/svdpntv.hxx Wed May 16 15:07:00 2012
@@ -99,6 +99,15 @@ class SdrPaintWindow;
 typedef ::std::vector< SdrPaintWindow* > SdrPaintWindowVector;
 class LazyObjectChangeReactor;
 
+//////////////////////////////////////////////////////////////////////////////
+// helper to convert any GDIMetaFile to a good quality BitmapEx,
+// using default parameters and graphic::XPrimitive2DRenderer
+
+BitmapEx SVX_DLLPUBLIC convertMetafileToBitmapEx(
+    const GDIMetaFile& rMtf,
+    const basegfx::B2DRange& rTargetRange,
+    const sal_uInt32 nMaximumQuadraticPixels = 500000);
+
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // tooling
 

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/xbtmpit.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/xbtmpit.hxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/xbtmpit.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/xbtmpit.hxx Wed May 16 15:07:00 2012
@@ -19,31 +19,36 @@
  * 
  *************************************************************/
 
-
-
 #ifndef _SVX_XBTMPIT_HXX
 #define _SVX_XBTMPIT_HXX
 
-#include "svx/svxdllapi.h"
-
-#include <svx/xbitmap.hxx>
+#include <svx/svxdllapi.h>
 #include <svx/xit.hxx>
+#include <svtools/grfmgr.hxx>
 
 class SdrModel;
+class BitmapColor;
 
-//----------------------
+//////////////////////////////////////////////////////////////////////////////
+// helper to construct historical 8x8 bitmaps with two colors
+
+Bitmap SVX_DLLPUBLIC createHistorical8x8FromArray(const sal_uInt16* pArray, Color aColorPix, Color aColorBack);
+bool SVX_DLLPUBLIC isHistorical8x8(const BitmapEx& rBitmapEx, BitmapColor& o_rBack, BitmapColor& o_rFront);
+
+//////////////////////////////////////////////////////////////////////////////
 // class XFillBitmapItem
-//----------------------
+
 class SVX_DLLPUBLIC XFillBitmapItem : public NameOrIndex
 {
-	XOBitmap aXOBitmap;
+private:
+	GraphicObject   maGraphicObject;
 
 public:
     POOLITEM_FACTORY()
 			XFillBitmapItem() : NameOrIndex(XATTR_FILLBITMAP, -1 ) {}
-			XFillBitmapItem( long nIndex, const XOBitmap& rTheBitmap );
-			XFillBitmapItem( const String& rName, const XOBitmap& rTheBitmap );
-			XFillBitmapItem( SfxItemPool* pPool, const XOBitmap& rTheBitmap );
+			XFillBitmapItem(long nIndex, const GraphicObject& rGraphicObject);
+			XFillBitmapItem(const String& rName, const GraphicObject& rGraphicObject);
+			XFillBitmapItem(SfxItemPool* pPool, const GraphicObject& rGraphicObject);
 			XFillBitmapItem( SfxItemPool* pPool );
 			XFillBitmapItem( const XFillBitmapItem& rItem );
 			XFillBitmapItem( SvStream& rIn, sal_uInt16 nVer = 0 );
@@ -62,8 +67,8 @@ public:
 									SfxMapUnit ePresMetric,
                                     String &rText, const IntlWrapper * = 0 ) const;
 
-	const XOBitmap& GetBitmapValue( const XBitmapTable* pTable = 0 ) const; // GetValue -> GetBitmapValue
-	void  SetBitmapValue( const XOBitmap& rNew )  { aXOBitmap = rNew; Detach(); } // SetValue -> SetBitmapValue
+    const GraphicObject& GetGraphicObject() const;
+    void SetGraphicObject(const GraphicObject& rGraphicObject);
 
 	static sal_Bool CompareValueFunc( const NameOrIndex* p1, const NameOrIndex* p2 );
 	XFillBitmapItem* checkForUniqueItem( SdrModel* pModel ) const;

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/xenum.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/xenum.hxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/xenum.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/xenum.hxx Wed May 16 15:07:00 2012
@@ -49,9 +49,6 @@ enum XFormTextStdForm	{ XFTFORM_NONE = 0
 						  XFTFORM_BOTARC, XFTFORM_LFTARC, XFTFORM_RGTARC,
 						  XFTFORM_BUTTON1, XFTFORM_BUTTON2,
 						  XFTFORM_BUTTON3, XFTFORM_BUTTON4};
-enum XBitmapStyle		{ XBITMAP_TILE, XBITMAP_STRETCH };
-enum XBitmapType 		{ XBITMAP_IMPORT, XBITMAP_8X8, XBITMAP_NONE,
-						  XBITMAP_16X16 };
 
 
 #endif		// _XENUM_HXX

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/xfillit.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/xfillit.hxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/xfillit.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/xfillit.hxx Wed May 16 15:07:00 2012
@@ -37,7 +37,6 @@
 #include <svx/xsflclit.hxx>
 #include <svx/xflgrit.hxx>
 #include <svx/xflhtit.hxx>
-#include <svx/xbitmap.hxx>
 #include <svx/xbtmpit.hxx>
 #include <svx/xflftrit.hxx>
 

Modified: incubator/ooo/branches/alg/aw080/main/svx/inc/svx/xtable.hxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/inc/svx/xtable.hxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/inc/svx/xtable.hxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/inc/svx/xtable.hxx Wed May 16 15:07:00 2012
@@ -19,7 +19,6 @@
  * 
  *************************************************************/
 
-
 #ifndef _XTABLE_HXX
 #define _XTABLE_HXX
 
@@ -29,20 +28,14 @@
 #include <svx/xdash.hxx>
 #include <svx/xhatch.hxx>
 #include <svx/xgrad.hxx>
-#include <svx/xbitmap.hxx>
 #include <svx/xflasit.hxx>
 #include <svx/xlnasit.hxx>
-
-#ifndef _SV_COLOR_HXX
 #include <tools/color.hxx>
-#endif
 #include <tools/string.hxx>
-
-#ifndef _TABLE_HXX //autogen
 #include <tools/table.hxx>
-#endif
 #include "svx/svxdllapi.h"
 #include <basegfx/polygon/b2dpolypolygon.hxx>
+#include <svtools/grfmgr.hxx>
 
 class Color;
 class Bitmap;
@@ -186,16 +179,31 @@ public:
 
 class XBitmapEntry : public XPropertyEntry
 {
-	XOBitmap aXOBitmap;
+private:
+	GraphicObject   maGraphicObject;
 
 public:
-			XBitmapEntry( const XOBitmap& rXOBitmap, const String& rName ):
-				XPropertyEntry( rName ), aXOBitmap( rXOBitmap ) {}
-			XBitmapEntry( const XBitmapEntry& rOther ) :
-				XPropertyEntry( rOther ), aXOBitmap( rOther.aXOBitmap ) {}
-
-	void     SetXBitmap(const XOBitmap& rXOBitmap) { aXOBitmap = rXOBitmap; }
-	XOBitmap& GetXBitmap()                    { return aXOBitmap; }
+	XBitmapEntry(const GraphicObject& rGraphicObject, const String& rName)
+    :   XPropertyEntry(rName), 
+        maGraphicObject(rGraphicObject) 
+    {
+    }
+
+    XBitmapEntry(const XBitmapEntry& rOther) 
+    :   XPropertyEntry(rOther), 
+        maGraphicObject(rOther.maGraphicObject) 
+    {
+    }
+
+    const GraphicObject& GetGraphicObject() const
+    {
+        return maGraphicObject;
+    }
+
+    void SetGraphicObject(const GraphicObject& rGraphicObject)
+    {
+        maGraphicObject = rGraphicObject;
+    }
 };
 
 // ---------------------

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShape2d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShape2d.cxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShape2d.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShape2d.cxx Wed May 16 15:07:00 2012
@@ -51,7 +51,6 @@
 #include <svx/xflhtit.hxx>
 #include <svx/xbtmpit.hxx>
 #include <svx/xgrad.hxx>
-#include <svx/xbitmap.hxx>
 #include <svx/xhatch.hxx>
 #include <com/sun/star/awt/Size.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeParameterType.hpp>
@@ -2011,15 +2010,17 @@ void EnhancedCustomShape2d::AdaptObjColo
             }
             case XFILL_BITMAP:
             {
-                Bitmap aBitmap(((const XFillBitmapItem&)rObj.GetMergedItem(XATTR_FILLBITMAP)).GetBitmapValue().GetBitmap());
                 if ( nColorCount )
                 {
+                    Bitmap aBitmap(((const XFillBitmapItem&)rObj.GetMergedItem(XATTR_FILLBITMAP)).GetGraphicObject().GetGraphic().GetBitmapEx().GetBitmap());
+                    
                     aBitmap.Adjust(
                         static_cast< short > ( GetLuminanceChange(
                             std::min(nColorIndex, nColorCount-1))));
+
+                    rObj.SetMergedItem(XFillBitmapItem(String(), Graphic(aBitmap)));
                 }
 
-                rObj.SetMergedItem( XFillBitmapItem( String(), aBitmap ) );
                 break;
             }
         }

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShape3d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShape3d.cxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShape3d.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/customshapes/EnhancedCustomShape3d.cxx Wed May 16 15:07:00 2012
@@ -425,13 +425,12 @@ SdrObject* EnhancedCustomShape3d::Create
 					aPlaceholderObjectList.push_back( p3DObj );
 				else if ( bUseTwoFillStyles )
 				{			
-					Bitmap aFillBmp;
+					BitmapEx aFillBmp;
 					sal_Bool bFillBmpTile = ((XFillBmpTileItem&)p3DObj->GetMergedItem( XATTR_FILLBMP_TILE )).GetValue();
 					if ( bFillBmpTile )
 					{
-						const XFillBitmapItem& rBmpItm = (XFillBitmapItem&)p3DObj->GetMergedItem( XATTR_FILLBITMAP );
-						const XOBitmap& rXOBmp = rBmpItm.GetBitmapValue();
-						aFillBmp = rXOBmp.GetBitmap();
+						const XFillBitmapItem& rBmpItm = (XFillBitmapItem&)p3DObj->GetMergedItem(XATTR_FILLBITMAP);
+						aFillBmp = rBmpItm.GetGraphicObject().GetGraphic().GetBitmapEx();
 						Size aLogicalSize = aFillBmp.GetPrefSize();
 						if ( aFillBmp.GetPrefMapMode() == MAP_PIXEL )
 							aLogicalSize = Application::GetDefaultDevice()->PixelToLogic( aLogicalSize, MAP_100TH_MM ); 
@@ -441,15 +440,14 @@ SdrObject* EnhancedCustomShape3d::Create
 						aLogicalSize.Height() *= 5;
 						aFillBmp.SetPrefSize( aLogicalSize );
 						aFillBmp.SetPrefMapMode( MAP_100TH_MM );
-						p3DObj->SetMergedItem( XFillBitmapItem( String(), aFillBmp ) );
+						p3DObj->SetMergedItem(XFillBitmapItem(String(), Graphic(aFillBmp)));
 					}
 					else
 					{
 						if ( aSnapRect != aBoundRect )
 						{
-							const XFillBitmapItem& rBmpItm = (XFillBitmapItem&)p3DObj->GetMergedItem( XATTR_FILLBITMAP );
-							const XOBitmap& rXOBmp = rBmpItm.GetBitmapValue();
-							aFillBmp = rXOBmp.GetBitmap();
+							const XFillBitmapItem& rBmpItm = (XFillBitmapItem&)p3DObj->GetMergedItem(XATTR_FILLBITMAP);
+							aFillBmp = rBmpItm.GetGraphicObject().GetGraphic().GetBitmapEx();
 							Size aBmpSize( aFillBmp.GetSizePixel() );
 							double fXScale = (double)aBoundRect.GetWidth() / (double)aSnapRect.GetWidth();
 							double fYScale = (double)aBoundRect.GetHeight() / (double)aSnapRect.GetHeight();
@@ -460,7 +458,7 @@ SdrObject* EnhancedCustomShape3d::Create
 													(sal_Int32)( aBmpSize.Height() * fYScale ) );
 							Rectangle aCropRect( aPt, aSize );
  							aFillBmp.Crop( aCropRect );
-							p3DObj->SetMergedItem( XFillBitmapItem( String(), aFillBmp ) );
+							p3DObj->SetMergedItem(XFillBitmapItem(String(), Graphic(aFillBmp)));
 						}
 					}
 					pScene->Insert3DObj(*p3DObj);
@@ -482,7 +480,9 @@ SdrObject* EnhancedCustomShape3d::Create
 					p3DObj->SetB3DTransform( aFrontTransform );
 
 					if ( ( eFillStyle == XFILL_BITMAP ) && !aFillBmp.IsEmpty() )
-						p3DObj->SetMergedItem( XFillBitmapItem( String(), aFillBmp ) );
+                    {
+						p3DObj->SetMergedItem(XFillBitmapItem(String(), Graphic(aFillBmp)));
+                    }
 				}
 				else if ( eFillStyle == XFILL_NONE )
 				{

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/dialog/dlgctrl.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/dialog/dlgctrl.cxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/dialog/dlgctrl.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/dialog/dlgctrl.cxx Wed May 16 15:07:00 2012
@@ -26,14 +26,11 @@
 
 // include ---------------------------------------------------------------
 #include <tools/shl.hxx>
-#ifndef _APP_HXX //autogen
 #include <vcl/svapp.hxx>
-#endif
-
 #include <svx/xtable.hxx>
 #include <svx/xpool.hxx>
 #include <svx/dialogs.hrc>
-#include "accessibility.hrc"
+#include <accessibility.hrc>
 #include <svx/dlgctrl.hxx>
 #include <svx/dialmgr.hxx>
 #include <tools/poly.hxx>
@@ -41,7 +38,7 @@
 #include <vcl/gradient.hxx>
 #include <vcl/hatch.hxx>
 #include <svtools/colorcfg.hxx>
-#include "svxrectctaccessiblecontext.hxx"
+#include <svxrectctaccessiblecontext.hxx>
 #include <com/sun/star/lang/XUnoTunnel.hpp>
 #include <basegfx/point/b2dpoint.hxx>
 #include <basegfx/polygon/b2dpolygon.hxx>
@@ -50,7 +47,9 @@
 #include <svx/svdopath.hxx>
 #include <svx/sdr/contact/objectcontactofobjlistpainter.hxx>
 #include <svx/sdr/contact/displayinfo.hxx>
-#include "linectrl.hrc"
+#include <linectrl.hrc>
+#include <vcl/bmpacc.hxx>
+#include <svx/xbtmpit.hxx>
 #include <svx/svdlegacy.hxx>
 
 #define OUTPUT_DRAWMODE_COLOR		(DRAWMODE_DEFAULT)
@@ -1001,18 +1000,35 @@ void SvxPixelCtl::Paint( const Rectangle
 |*
 \************************************************************************/
 
-void SvxPixelCtl::SetXBitmap( const XOBitmap& rXBmp )
+void SvxPixelCtl::SetXBitmap( const BitmapEx& rBitmapEx )
 {
-	if( rXBmp.GetBitmapType() == XBITMAP_8X8 )
-	{
-		aPixelColor = rXBmp.GetPixelColor();
-		aBackgroundColor = rXBmp.GetBackgroundColor();
+    BitmapColor aBack;
+    BitmapColor aFront;
 
-		sal_uInt16* pArray = rXBmp.GetPixelArray();
+    if(isHistorical8x8(rBitmapEx, aBack, aFront))
+    {
+        Bitmap aBitmap(rBitmapEx.GetBitmap());
+        BitmapReadAccess* pRead = aBitmap.AcquireReadAccess();
 
-		for( sal_uInt16 i = 0; i < nSquares; i++ )
-			*( pPixel + i ) = *( pArray + i );
-	}
+        aBackgroundColor = aBack;
+        aPixelColor = aFront;
+
+        for(sal_uInt16 i(0); i < nSquares; i++)
+        {
+            const BitmapColor aColor(pRead->GetColor(i/8, i%8));
+
+            if(aColor == aBack)
+            {
+                *( pPixel + i ) = 0;
+            }
+            else
+            {
+                *( pPixel + i ) = 1;
+            }
+        }
+
+        aBitmap.ReleaseAccess(pRead);
+    }
 }
 
 /*************************************************************************
@@ -1067,11 +1083,11 @@ SvxBitmapCtl::~SvxBitmapCtl()
 |*
 \************************************************************************/
 
-XOBitmap SvxBitmapCtl::GetXBitmap()
+BitmapEx SvxBitmapCtl::GetBitmapEx()
 {
-	XOBitmap aXOBitmap( pBmpArray, aPixelColor, aBackgroundColor );
+    const Bitmap aRetval(createHistorical8x8FromArray(pBmpArray, aPixelColor, aBackgroundColor));
 
-	return( aXOBitmap );
+	return BitmapEx(aRetval);
 }
 
 /*************************************************************************
@@ -1466,169 +1482,169 @@ void FillAttrLB::Fill( const XGradientLi
 |*
 \************************************************************************/
 
-BitmapLB::BitmapLB( Window* pParent, ResId Id, sal_Bool bUserDraw /*= sal_True*/ )
-: ListBox( pParent, Id ),
-  mpList( NULL ),
-  mbUserDraw( bUserDraw )
+BitmapLB::BitmapLB(Window* pParent, ResId Id, bool bUserDraw /*= false*/ )
+:   ListBox(pParent, Id),
+    maVD(),
+    maBitmapEx(),
+    mpList(NULL),
+    mbUserDraw(bUserDraw)
 {
-	aVD.SetOutputSizePixel( Size( 32, 16 ) );
-	EnableUserDraw( mbUserDraw );
+	maVD.SetOutputSizePixel(Size(32, 16));
+	EnableUserDraw(mbUserDraw);
 }
 
 /************************************************************************/
 
 void BitmapLB::SetVirtualDevice()
 {
-	if( aBitmap.GetSizePixel().Width() > 8 ||
-		aBitmap.GetSizePixel().Height() > 8 )
+	if(maBitmapEx.GetSizePixel().Width() > 8 || maBitmapEx.GetSizePixel().Height() > 8)
 	{
-		aVD.DrawBitmap( Point( 0, 0 ), Size( 32, 16 ), aBitmap );
+		maVD.DrawBitmapEx(Point(0, 0), Size(32, 16), maBitmapEx);
 	}
 	else
 	{
-		aVD.DrawBitmap( Point( 0, 0 ), aBitmap );
-		aVD.DrawBitmap( Point( 8, 0 ), aBitmap );
-		aVD.DrawBitmap( Point( 16, 0 ), aBitmap );
-		aVD.DrawBitmap( Point( 24, 0 ), aBitmap );
-		aVD.DrawBitmap( Point( 0, 8 ), aBitmap );
-		aVD.DrawBitmap( Point( 8, 8 ), aBitmap );
-		aVD.DrawBitmap( Point( 16, 8 ), aBitmap );
-		aVD.DrawBitmap( Point( 24, 8 ), aBitmap );
+		maVD.DrawBitmapEx(Point(0,  0), maBitmapEx);
+		maVD.DrawBitmapEx(Point(8,  0), maBitmapEx);
+		maVD.DrawBitmapEx(Point(16, 0), maBitmapEx);
+		maVD.DrawBitmapEx(Point(24, 0), maBitmapEx);
+		maVD.DrawBitmapEx(Point(0,  8), maBitmapEx);
+		maVD.DrawBitmapEx(Point(8,  8), maBitmapEx);
+		maVD.DrawBitmapEx(Point(16, 8), maBitmapEx);
+		maVD.DrawBitmapEx(Point(24, 8), maBitmapEx);
 	}
 }
 
 /************************************************************************/
 
-void BitmapLB::Fill( const XBitmapList* pList )
+void BitmapLB::Fill(const XBitmapList* pList)
 {
 	mpList = (XBitmapList*)pList;
 	XBitmapEntry* pEntry;
-	long nCount = pList->Count();
+	const long nCount(pList->Count());
 
-	SetUpdateMode( sal_False );
+	SetUpdateMode(false);
 
-	if( mbUserDraw )
+	if(mbUserDraw)
 	{
-		for( long i = 0; i < nCount; i++ )
-            InsertEntry( pList->GetBitmap( i )->GetName() );
+		for(long i(0); i < nCount; i++)
+        {
+            InsertEntry(pList->GetBitmap(i)->GetName());
+        }
 	}
 	else
 	{
-		for( long i = 0; i < nCount; i++ )
+		for(long i(0); i < nCount; i++)
 		{
-            pEntry = pList->GetBitmap( i );
-			aBitmap = pEntry->GetXBitmap().GetBitmap();
-
+            pEntry = pList->GetBitmap(i);
+			maBitmapEx = pEntry->GetGraphicObject().GetGraphic().GetBitmapEx();
 			SetVirtualDevice();
-
-			InsertEntry( pEntry->GetName(), aVD.GetBitmap( Point( 0, 2 ), Size( 32, 12 ) ) );
+			InsertEntry(pEntry->GetName(), maVD.GetBitmap(Point(0, 2), Size(32, 12)));
 		}
 	}
 
-	SetUpdateMode( sal_True );
+	SetUpdateMode(true);
 }
 
-void BitmapLB::UserDraw( const UserDrawEvent& rUDEvt )
+void BitmapLB::UserDraw(const UserDrawEvent& rUDEvt)
 {
-	if( mpList != NULL )
+	if(mpList)
 	{
 		// Draw bitmap
 		const Rectangle& rDrawRect = rUDEvt.GetRect();
-		Rectangle aRect( rDrawRect.nLeft+1, rDrawRect.nTop+1, rDrawRect.nLeft+33, rDrawRect.nBottom-1 );
-
-        sal_Int32 nId = rUDEvt.GetItemId();
-		if( nId >= 0 && nId <= mpList->Count() )
+		const Rectangle aRect(rDrawRect.nLeft + 1, rDrawRect.nTop + 1, rDrawRect.nLeft + 33, rDrawRect.nBottom - 1);
+        const sal_Int32 nId(rUDEvt.GetItemId());
+		
+        if(nId >= 0 && nId <= mpList->Count())
 		{
-			Rectangle aClipRect( rDrawRect.nLeft+1, rDrawRect.nTop+1, rDrawRect.nRight-1, rDrawRect.nBottom-1 );
-
+			const Rectangle aClipRect(rDrawRect.nLeft + 1, rDrawRect.nTop + 1, rDrawRect.nRight - 1, rDrawRect.nBottom - 1);
 			OutputDevice* pDevice = rUDEvt.GetDevice();
-			pDevice->SetClipRegion( Region( aClipRect ) );
-
-            aBitmap = mpList->GetBitmap( nId )->GetXBitmap().GetBitmap();
-
+			pDevice->SetClipRegion(Region(aClipRect));
+            maBitmapEx = mpList->GetBitmap(nId)->GetGraphicObject().GetGraphic().GetBitmapEx();
 			long nPosBaseX = aRect.nLeft;
 			long nPosBaseY = aRect.nTop;
 
-			if( aBitmap.GetSizePixel().Width() > 8 ||
-				aBitmap.GetSizePixel().Height() > 8 )
+			if(maBitmapEx.GetSizePixel().Width() > 8 || maBitmapEx.GetSizePixel().Height() > 8)
 			{
-				pDevice->DrawBitmap( Point( nPosBaseX, nPosBaseY ), Size( 32, 16 ), aBitmap );
+				pDevice->DrawBitmapEx(Point(nPosBaseX, nPosBaseY), Size(32, 16), maBitmapEx);
 			}
 			else
 			{
-				pDevice->DrawBitmap( Point( nPosBaseX+ 0, nPosBaseY+0 ), aBitmap );
-				pDevice->DrawBitmap( Point( nPosBaseX+ 8, nPosBaseY+0 ), aBitmap );
-				pDevice->DrawBitmap( Point( nPosBaseX+16, nPosBaseY+0 ), aBitmap );
-				pDevice->DrawBitmap( Point( nPosBaseX+24, nPosBaseY+0 ), aBitmap );
-				pDevice->DrawBitmap( Point( nPosBaseX+ 0, nPosBaseY+8 ), aBitmap );
-				pDevice->DrawBitmap( Point( nPosBaseX+ 8, nPosBaseY+8 ), aBitmap );
-				pDevice->DrawBitmap( Point( nPosBaseX+16, nPosBaseY+8 ), aBitmap );
-				pDevice->DrawBitmap( Point( nPosBaseX+24, nPosBaseY+8 ), aBitmap );
+				pDevice->DrawBitmapEx(Point(nPosBaseX+ 0, nPosBaseY+0 ), maBitmapEx);
+				pDevice->DrawBitmapEx(Point(nPosBaseX+ 8, nPosBaseY+0 ), maBitmapEx);
+				pDevice->DrawBitmapEx(Point(nPosBaseX+16, nPosBaseY+0 ), maBitmapEx);
+				pDevice->DrawBitmapEx(Point(nPosBaseX+24, nPosBaseY+0 ), maBitmapEx);
+				pDevice->DrawBitmapEx(Point(nPosBaseX+ 0, nPosBaseY+8 ), maBitmapEx);
+				pDevice->DrawBitmapEx(Point(nPosBaseX+ 8, nPosBaseY+8 ), maBitmapEx);
+				pDevice->DrawBitmapEx(Point(nPosBaseX+16, nPosBaseY+8 ), maBitmapEx);
+				pDevice->DrawBitmapEx(Point(nPosBaseX+24, nPosBaseY+8 ), maBitmapEx);
 			}
 
 			pDevice->SetClipRegion();
 
 			// Draw name
-            pDevice->DrawText( Point( aRect.nRight+7, aRect.nTop-1 ), mpList->GetBitmap( nId )->GetName() );
+            pDevice->DrawText(Point(aRect.nRight + 7, aRect.nTop - 1), mpList->GetBitmap(nId)->GetName());
 		}
 	}
 }
 
 /************************************************************************/
 
-void BitmapLB::Append( XBitmapEntry* pEntry, Bitmap* pBmp )
+void BitmapLB::Append(XBitmapEntry* pEntry, BitmapEx* pBmpEx)
 {
-	if( pBmp )
+	if(pBmpEx)
 	{
-		aBitmap = pEntry->GetXBitmap().GetBitmap();
+		maBitmapEx = pEntry->GetGraphicObject().GetGraphic().GetBitmapEx();
 		SetVirtualDevice();
-		InsertEntry( pEntry->GetName(), aVD.GetBitmap( Point( 0, 2 ), Size( 32, 12 ) ) );
+		InsertEntry(pEntry->GetName(), maVD.GetBitmap(Point(0, 2), Size(32, 12)));
 	}
 	else
-		InsertEntry( pEntry->GetName() );
+    {
+		InsertEntry(pEntry->GetName());
+    }
 }
 
 /************************************************************************/
 
-void BitmapLB::Modify( XBitmapEntry* pEntry, sal_uInt16 nPos, Bitmap* pBmp )
+void BitmapLB::Modify(XBitmapEntry* pEntry, sal_uInt16 nPos, BitmapEx* pBmpEx)
 {
-	RemoveEntry( nPos );
+	RemoveEntry(nPos);
 
-	if( pBmp )
+	if(pBmpEx)
 	{
-		aBitmap = pEntry->GetXBitmap().GetBitmap();
+		maBitmapEx = pEntry->GetGraphicObject().GetGraphic().GetBitmapEx();
 		SetVirtualDevice();
-
-		InsertEntry( pEntry->GetName(), aVD.GetBitmap( Point( 0, 2 ), Size( 32, 12 ) ), nPos );
+		InsertEntry(pEntry->GetName(), maVD.GetBitmap(Point(0, 2), Size(32, 12)), nPos);
 	}
 	else
-		InsertEntry( pEntry->GetName() );
+    {
+		InsertEntry(pEntry->GetName());
+    }
 }
 
 /************************************************************************/
 
-void BitmapLB::SelectEntryByList( const XBitmapList* pList, const String& rStr,
-                            const Bitmap& )
+void BitmapLB::SelectEntryByList(const XBitmapList* pList, const String& rStr)
 {
-	long nCount = pList->Count();
+	const long nCount(pList->Count());
 	XBitmapEntry* pEntry;
-	sal_Bool bFound = sal_False;
+	bool bFound(false);
+    long i(0);
 
-	long i;
-	for( i = 0; i < nCount && !bFound; i++ )
+	for(i = 0; i < nCount && !bFound; i++)
 	{
-        pEntry = pList->GetBitmap( i );
+        pEntry = pList->GetBitmap(i);
+		const String aStr(pEntry->GetName());
 
-		String aStr = pEntry->GetName();
-		// Bitmap aBmp = pEntry->GetBitmap();
-
-		if( rStr == aStr )
+		if(rStr == aStr)
 		{
-			bFound = sal_True;
+			bFound = true;
 		}
 	}
-	if( bFound )
-		SelectEntryPos( (sal_uInt16) ( i - 1 ) );
+
+    if(bFound)
+    {
+		SelectEntryPos((sal_uInt16)(i - 1));
+    }
 }
 
 /*************************************************************************
@@ -1637,89 +1653,89 @@ void BitmapLB::SelectEntryByList( const 
 |*
 \************************************************************************/
 
-FillAttrLB::FillAttrLB( Window* pParent, ResId Id ) :
-					ColorListBox( pParent, Id )
+FillAttrLB::FillAttrLB( Window* pParent, ResId Id ) 
+:   ColorListBox(pParent, Id),
+    maVD(),
+    maBitmapEx()
 {
-	aVD.SetOutputSizePixel( Size( 32, 16 ) );
+	maVD.SetOutputSizePixel(Size(32, 16));
 }
 
 /************************************************************************/
 
-FillAttrLB::FillAttrLB( Window* pParent, WinBits aWB ) :
-					ColorListBox( pParent, aWB )
+FillAttrLB::FillAttrLB(Window* pParent, WinBits aWB) 
+:   ColorListBox(pParent, aWB)
 {
-	aVD.SetOutputSizePixel( Size( 32, 16 ) );
+	maVD.SetOutputSizePixel(Size(32, 16));
 }
 
 /************************************************************************/
 
 void FillAttrLB::SetVirtualDevice()
 {
-	if( aBitmap.GetSizePixel().Width() > 8 ||
-		aBitmap.GetSizePixel().Height() > 8 )
+    maVD.Erase();
+
+    if(maBitmapEx.GetSizePixel().Width() > 8 || maBitmapEx.GetSizePixel().Height() > 8)
 	{
-		aVD.DrawBitmap( Point( 0, 0 ), Size( 32, 16 ), aBitmap );
+		maVD.DrawBitmapEx(Point(0, 0), Size(32, 16), maBitmapEx);
 	}
 	else
 	{
-		aVD.DrawBitmap( Point( 0, 0 ), aBitmap );
-		aVD.DrawBitmap( Point( 8, 0 ), aBitmap );
-		aVD.DrawBitmap( Point( 16, 0 ), aBitmap );
-		aVD.DrawBitmap( Point( 24, 0 ), aBitmap );
-		aVD.DrawBitmap( Point( 0, 8 ), aBitmap );
-		aVD.DrawBitmap( Point( 8, 8 ), aBitmap );
-		aVD.DrawBitmap( Point( 16, 8 ), aBitmap );
-		aVD.DrawBitmap( Point( 24, 8 ), aBitmap );
+		maVD.DrawBitmapEx(Point(0,  0), maBitmapEx);
+		maVD.DrawBitmapEx(Point(8,  0), maBitmapEx);
+		maVD.DrawBitmapEx(Point(16, 0), maBitmapEx);
+		maVD.DrawBitmapEx(Point(24, 0), maBitmapEx);
+		maVD.DrawBitmapEx(Point(0,  8), maBitmapEx);
+		maVD.DrawBitmapEx(Point(8,  8), maBitmapEx);
+		maVD.DrawBitmapEx(Point(16, 8), maBitmapEx);
+		maVD.DrawBitmapEx(Point(24, 8), maBitmapEx);
 	}
 }
 
 /************************************************************************/
 
-void FillAttrLB::Fill( const XBitmapList* pList )
+void FillAttrLB::Fill(const XBitmapList* pList)
 {
-	long nCount = pList->Count();
+	const long nCount(pList->Count());
 	XBitmapEntry* pEntry;
-	ListBox::SetUpdateMode( sal_False );
+	
+    ListBox::SetUpdateMode(false);
 
-	for( long i = 0; i < nCount; i++ )
+	for(long i(0); i < nCount; i++)
 	{
         pEntry = pList->GetBitmap( i );
-		aBitmap = pEntry->GetXBitmap().GetBitmap();
-
+		maBitmapEx = pEntry->GetGraphicObject().GetGraphic().GetBitmapEx();
 		SetVirtualDevice();
-
-		ListBox::InsertEntry( pEntry->GetName(), aVD.GetBitmap( Point( 0, 2 ), Size( 32, 12 ) ) );
+		ListBox::InsertEntry(pEntry->GetName(), maVD.GetBitmap(Point(0, 2), Size(32, 12)));
 	}
-	ListBox::SetUpdateMode( sal_True );
+
+    ListBox::SetUpdateMode(true);
 }
 
 /************************************************************************/
 
-void FillAttrLB::SelectEntryByList( const XBitmapList* pList, const String& rStr,
-                            const Bitmap& /*rBmp*/)
+void FillAttrLB::SelectEntryByList( const XBitmapList* pList, const String& rStr)
 {
-	long nCount = pList->Count();
+	const long nCount(pList->Count());
 	XBitmapEntry* pEntry;
-	sal_Bool bFound = sal_False;
+	bool bFound(false);
+	long i(0);
 
-	long i;
-	for( i = 0; i < nCount && !bFound; i++ )
+    for(i = 0; i < nCount && !bFound; i++)
 	{
-        pEntry = pList->GetBitmap( i );
+        pEntry = pList->GetBitmap(i);
+		const String aStr(pEntry->GetName());
 
-		String aStr = pEntry->GetName();
-		// Bitmap aBmp = pEntry->GetBitmap();
-
-		if( rStr == aStr )
+		if(rStr == aStr)
 		{
-			bFound = sal_True;
+			bFound = true;
 		}
-		/*
-		if( rStr == aStr && rBmp == aBmp )
-			bFound = sal_True; */
 	}
-	if( bFound )
-		SelectEntryPos( (sal_uInt16) ( i - 1 ) );
+
+    if(bFound)
+    {
+		SelectEntryPos((sal_uInt16)(i - 1));
+    }
 }
 
 /*************************************************************************

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewcontact.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewcontact.cxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewcontact.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewcontact.cxx Wed May 16 15:07:00 2012
@@ -353,7 +353,15 @@ namespace sdr
 			if(!mxViewIndependentPrimitive2DSequence.hasElements())
 			{
 				// create primitive list on demand
-				const_cast< ViewContact* >(this)->mxViewIndependentPrimitive2DSequence = createViewIndependentPrimitive2DSequence();
+                drawinglayer::primitive2d::Primitive2DSequence xNew(createViewIndependentPrimitive2DSequence());
+                
+                if(xNew.hasElements())
+                {
+                    // allow evtl. embedding in object-specific infos, e.g. Name, Title, Description
+                    xNew = embedToObjectSpecificInformation(xNew);
+                }
+
+                const_cast< ViewContact* >(this)->mxViewIndependentPrimitive2DSequence = xNew;
 			}
 
 			// return current Primitive2DSequence
@@ -367,6 +375,12 @@ namespace sdr
 			return drawinglayer::primitive2d::Primitive2DSequence();
 		}
 
+        drawinglayer::primitive2d::Primitive2DSequence ViewContact::embedToObjectSpecificInformation(const drawinglayer::primitive2d::Primitive2DSequence& rSource) const
+        {
+            // nothing to do for default
+            return rSource;
+        }
+
         void ViewContact::flushViewObjectContacts(bool bWithHierarchy)
         {
             if(bWithHierarchy)

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewcontactofsdrobj.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewcontactofsdrobj.cxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewcontactofsdrobj.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewcontactofsdrobj.cxx Wed May 16 15:07:00 2012
@@ -39,6 +39,7 @@
 #include <svx/sdrpaintwindow.hxx>
 #include <svx/sdr/primitive2d/sdrprimitivetools.hxx>
 #include <svx/svdlegacy.hxx>
+#include <drawinglayer/primitive2d/objectinfoprimitive2d.hxx>
 
 //////////////////////////////////////////////////////////////////////////////
 
@@ -187,6 +188,27 @@ namespace sdr
 
 			return xRetval;
 		}
+
+        drawinglayer::primitive2d::Primitive2DSequence ViewContactOfSdrObj::embedToObjectSpecificInformation(const drawinglayer::primitive2d::Primitive2DSequence& rSource) const
+        {
+            if(rSource.hasElements() && 
+                (GetSdrObject().GetName().Len() || 
+                 GetSdrObject().GetTitle().Len() || 
+                 GetSdrObject().GetDescription().Len()))
+            {
+                const drawinglayer::primitive2d::Primitive2DReference xRef(
+                    new drawinglayer::primitive2d::ObjectInfoPrimitive2D(
+                        rSource,
+                        GetSdrObject().GetName(),
+                        GetSdrObject().GetTitle(),
+                        GetSdrObject().GetDescription()));
+
+                return drawinglayer::primitive2d::Primitive2DSequence(&xRef, 1);
+            }
+
+            return rSource;
+        }
+
 	} // end of namespace contact
 } // end of namespace sdr
 

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewobjectcontactofe3dscene.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewobjectcontactofe3dscene.cxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewobjectcontactofe3dscene.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/sdr/contact/viewobjectcontactofe3dscene.cxx Wed May 16 15:07:00 2012
@@ -96,7 +96,10 @@ namespace sdr
 
 			if(xRetval.hasElements())
 			{
-				// handle GluePoint
+                // allow evtl. embedding in object-specific infos, e.g. Name, Title, Description
+                xRetval = rViewContact.embedToObjectSpecificInformation(xRetval);
+
+                // handle GluePoint
 				if(!GetObjectContact().isOutputToPrinter() && GetObjectContact().AreGluePointsVisible())
 				{
 					const drawinglayer::primitive2d::Primitive2DSequence xGlue(GetViewContact().createGluePointPrimitive2DSequence());

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/sdr/primitive2d/sdrattributecreator.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/sdr/primitive2d/sdrattributecreator.cxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/sdr/primitive2d/sdrattributecreator.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/sdr/primitive2d/sdrattributecreator.cxx Wed May 16 15:07:00 2012
@@ -587,42 +587,42 @@ namespace drawinglayer
 
 		attribute::SdrFillBitmapAttribute createNewSdrFillBitmapAttribute(const SfxItemSet& rSet)
 		{
-			Bitmap aBitmap((((const XFillBitmapItem&)(rSet.Get(XATTR_FILLBITMAP))).GetBitmapValue()).GetBitmap());
+			BitmapEx aBitmapEx(((const XFillBitmapItem&)(rSet.Get(XATTR_FILLBITMAP))).GetGraphicObject().GetGraphic().GetBitmapEx());
 			
 			// make sure it's not empty, use default instead
-			if(aBitmap.IsEmpty())
+			if(aBitmapEx.IsEmpty())
 			{
                 // #i118485# Add PrefMapMode and PrefSize to avoid mini-tiling and
                 // expensive primitive processing in this case. Use 10x10 cm
-				aBitmap = Bitmap(Size(4,4), 8);
-                aBitmap.SetPrefMapMode(MapMode(MAP_100TH_MM));
-                aBitmap.SetPrefSize(Size(10000.0, 10000.0));
+				aBitmapEx = Bitmap(Size(4,4), 8);
+                aBitmapEx.SetPrefMapMode(MapMode(MAP_100TH_MM));
+                aBitmapEx.SetPrefSize(Size(10000.0, 10000.0));
 			}
 
 			// if there is no logical size, create a size from pixel size and set MapMode accordingly
-			if(0L == aBitmap.GetPrefSize().Width() || 0L == aBitmap.GetPrefSize().Height())
+			if(0L == aBitmapEx.GetPrefSize().Width() || 0L == aBitmapEx.GetPrefSize().Height())
 			{
-				aBitmap.SetPrefSize(aBitmap.GetSizePixel());
-				aBitmap.SetPrefMapMode(MAP_PIXEL);
+				aBitmapEx.SetPrefSize(aBitmapEx.GetSizePixel());
+				aBitmapEx.SetPrefMapMode(MAP_PIXEL);
 			}
 			
 			// convert size and MapMode to destination logical size and MapMode. The created
 			// bitmap must have a valid logical size (PrefSize)
 			const MapUnit aDestinationMapUnit((MapUnit)rSet.GetPool()->GetMetric(0));
 
-			if(aBitmap.GetPrefMapMode() != aDestinationMapUnit)
+			if(aBitmapEx.GetPrefMapMode() != aDestinationMapUnit)
 			{
 				// #i100360# for MAP_PIXEL, LogicToLogic will not work properly,
                 // so fallback to Application::GetDefaultDevice()
-    			if(MAP_PIXEL == aBitmap.GetPrefMapMode().GetMapUnit())
+    			if(MAP_PIXEL == aBitmapEx.GetPrefMapMode().GetMapUnit())
                 {
-    				aBitmap.SetPrefSize(Application::GetDefaultDevice()->PixelToLogic(
-	    				aBitmap.GetPrefSize(), aDestinationMapUnit));
+    				aBitmapEx.SetPrefSize(Application::GetDefaultDevice()->PixelToLogic(
+	    				aBitmapEx.GetPrefSize(), aDestinationMapUnit));
                 }
                 else
                 {
-                    aBitmap.SetPrefSize(OutputDevice::LogicToLogic(
-	    				aBitmap.GetPrefSize(), aBitmap.GetPrefMapMode(), aDestinationMapUnit));
+                    aBitmapEx.SetPrefSize(OutputDevice::LogicToLogic(
+	    				aBitmapEx.GetPrefSize(), aBitmapEx.GetPrefMapMode(), aDestinationMapUnit));
                 }
 			}
 
@@ -638,7 +638,7 @@ namespace drawinglayer
 				(double)((const SfxUInt16Item&) (rSet.Get(XATTR_FILLBMP_POSOFFSETY))).GetValue());
 
 			return attribute::SdrFillBitmapAttribute(
-				aBitmap,
+				aBitmapEx,
 				aSize,
 				aOffset,
 				aOffsetPosition,

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/sdr/primitive2d/sdrgrafprimitive2d.cxx Wed May 16 15:07:00 2012
@@ -55,6 +55,19 @@ namespace drawinglayer
                         getSdrLFSTAttribute().getFillFloatTransGradient()));
 			}
 
+			// add graphic content
+			if(255L != getGraphicAttr().GetTransparency())
+			{
+                // standard graphic fill
+                const Primitive2DReference xGraphicContentPrimitive(
+                    new GraphicPrimitive2D(
+                        getTransform(), 
+                        getGraphicObject(), 
+                        getGraphicAttr()));
+
+                appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, xGraphicContentPrimitive);
+			}
+
 			// add line
 			if(!getSdrLFSTAttribute().getLine().isDefault())
 			{
@@ -92,19 +105,6 @@ namespace drawinglayer
 				}
 			}
 
-			// add graphic content
-			if(255L != getGraphicAttr().GetTransparency())
-			{
-                // standard graphic fill
-                const Primitive2DReference xGraphicContentPrimitive(
-                    new GraphicPrimitive2D(
-                        getTransform(), 
-                        getGraphicObject(), 
-                        getGraphicAttr()));
-
-                appendPrimitive2DReferenceToPrimitive2DSequence(aRetval, xGraphicContentPrimitive);
-			}
-
 			// add text
 			if(!getSdrLFSTAttribute().getText().isDefault())
 			{

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/sdrpaintwindow.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/sdrpaintwindow.cxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/sdrpaintwindow.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/sdrpaintwindow.cxx Wed May 16 15:07:00 2012
@@ -102,8 +102,10 @@ void SdrPreRenderDevice::OutputPreRender
 	maPreRenderDevice.EnableMapMode(bMapModeWasEnabledSource);
 }
 
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
 void SdrPaintWindow::impCreateOverlayManager()
-    {
+{
 	// not yet one created?
 	if(!mpOverlayManager)
 	{

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdedtv2.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdedtv2.cxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdedtv2.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdedtv2.cxx Wed May 16 15:07:00 2012
@@ -2381,11 +2381,11 @@ void SdrEditView::DoImportMarkedMtf(SvdP
 			SdrGrafObj* pGraf = dynamic_cast< SdrGrafObj* >(pObj);
 			SdrOle2Obj* pOle2 = dynamic_cast< SdrOle2Obj* >(pObj);
 			sal_uInt32 nInsAnz(0);
+    		GDIMetaFile aMetaFile;
+            basegfx::B2DHomMatrix aObjectTransform;
 		
 			if(pGraf && (pGraf->HasGDIMetaFile() || pGraf->isEmbeddedSvg()))
 			{
-				GDIMetaFile aMetaFile;
-
 				if(pGraf->HasGDIMetaFile())
 				{
 					aMetaFile = pGraf->GetTransformedGraphic(
@@ -2398,76 +2398,71 @@ void SdrEditView::DoImportMarkedMtf(SvdP
 
 				if(aMetaFile.GetActionCount())
 				{
-					ImpSdrGDIMetaFileImport aFilter(getSdrModelFromSdrView());
-
-					aFilter.SetScaleRect(sdr::legacy::GetLogicRect(*pObj));
-					aFilter.SetLayer(pObj->GetLayer());
-					nInsAnz = aFilter.DoImport(aMetaFile, *pOL, nInsPos, pProgrInfo);
+                    aObjectTransform = pObj->getSdrObjectTransformation();
 				}
 			}
 
 			if(pOle2 && pOle2->GetGraphic())
     		{
-				ImpSdrGDIMetaFileImport aFilter(getSdrModelFromSdrView());
+                aMetaFile = pOle2->GetGraphic()->GetGDIMetaFile();
 
-				aFilter.SetScaleRect(sdr::legacy::GetLogicRect(*pOle2));
-			    aFilter.SetLayer(pObj->GetLayer());
-                nInsAnz=aFilter.DoImport(pOle2->GetGraphic()->GetGDIMetaFile(),*pOL,nInsPos,pProgrInfo);
+				if(aMetaFile.GetActionCount())
+				{
+                    aObjectTransform = pOle2->getSdrObjectTransformation();
+                }
 		    }
 
-			if(nInsAnz)
+			if(aMetaFile.GetActionCount())
+			{
+				ImpSdrGDIMetaFileImport aFilter(getSdrModelFromSdrView(), pObj->GetLayer(), aObjectTransform);
+
+                nInsAnz = aFilter.DoImport(aMetaFile, *pOL, nInsPos, pProgrInfo);
+            }
+
+            if(nInsAnz)
     		{
-                // transformation
-            	const basegfx::B2DHomMatrix& rTrans = pGraf 
-                    ? pGraf->getSdrObjectTransformation() 
-                    : pOle2->getSdrObjectTransformation();
-				sal_uInt32 nObj(nInsPos);
-			
-				for(sal_uInt32 i(0); i < nInsAnz; i++)
+				for(sal_uInt32 i(0), nObj(nInsPos); i < nInsAnz; i++, nObj++)
 	    		{
                     SdrObject* pCandidate = pOL->GetObj(nObj);
 
-		    		if( bUndo )
+		    		if(bUndo)
 					{
 						AddUndo(getSdrModelFromSdrView().GetSdrUndoFactory().CreateUndoNewObject(*pCandidate));
 					}
 
-                    // apply original transformation
-                    pCandidate->setSdrObjectTransformation(rTrans);
-
-			    	// Neue MarkList pflegen
+			    	// add to new selection
 					aNewMarked.push_back(pCandidate);
-				    nObj++;
 			    }
 
 				aForTheDescription.push_back(pObj);
 
-    			if( bUndo )
+    			if(bUndo)
 				{
 					AddUndo(getSdrModelFromSdrView().GetSdrUndoFactory().CreateUndoDeleteObject(*pObj));
 				}
 
-    			// Objekt aus selektion loesen und loeschen
-				removeSdrObjectFromSelection(*pObj);
-				pOL->RemoveObjectFromSdrObjList(nInsPos-1);
+    			// remove object
+				pOL->RemoveObjectFromSdrObjList(nInsPos - 1);
 
-    			if( !bUndo )
+    			if(!bUndo)
 				{
+                    // if no undo, delete object
 					deleteSdrObjectSafeAndClearPointer(pObj);
 				}
 		    }
+            else
+            {
+                // keep unchanged object in new selection
+				aNewMarked.push_back(pObj);
+            }
 	    }
 
 		if(!aNewMarked.empty())
     	{
 			setSdrObjectSelection(aNewMarked); // TTTT check for equality
 		}
-		else
-		{
-			setSdrObjectSelection(aSelection);
-	    }
 
-	    if( bUndo )
+	    if(bUndo)
 	    {
 			SetUndoComment(
 				ImpGetResStr(STR_EditImportMtf),

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdedxv.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdedxv.cxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdedxv.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdedxv.cxx Wed May 16 15:07:00 2012
@@ -398,7 +398,7 @@ void SdrObjEditView::TextEditDrawing(Sdr
 void SdrObjEditView::ImpPaintOutlinerView(OutlinerView& rOutlView, const basegfx::B2DRange& rRange, OutputDevice& rTargetDevice) const
 {
 	const SdrTextObj* pText = dynamic_cast< const SdrTextObj* >(GetTextEditObject());
-		bool bTextFrame(pText && pText->IsTextFrame());
+	bool bTextFrame(pText && pText->IsTextFrame());
 	bool bFitToSize(0 != (mpTextEditOutliner->GetControlWord() & EE_CNTRL_STRETCHING));
 	bool bModifyMerk(mpTextEditOutliner->IsModified()); // #43095#
 	basegfx::B2DRange aBlankRange(rOutlView.GetOutputAreaRange());
@@ -421,7 +421,8 @@ void SdrObjEditView::ImpPaintOutlinerVie
 	if(bTextFrame && !bFitToSize) 
 	{
 		aPixRange.grow(1.0);
-		const sal_uInt16 nPixSiz(rOutlView.GetInvalidateMore() - 1);
+
+        const sal_uInt16 nPixSiz(rOutlView.GetInvalidateMore() - 1);
 			
 		{ 
 			// xPixRect Begrenzen, wegen Treiberproblem bei zu weit hinausragenden Pixelkoordinaten
@@ -438,21 +439,22 @@ void SdrObjEditView::ImpPaintOutlinerVie
 		}
 
 		basegfx::B2DRange aOuterPix(aPixRange);
-		aOuterPix.grow(nPixSiz);
+
+        aOuterPix.grow(nPixSiz);
 
 		const bool bMerk(rTargetDevice.IsMapModeEnabled());
-		rTargetDevice.EnableMapMode(false);
+		
+        rTargetDevice.EnableMapMode(false);
 
 		svtools::ColorConfig aColorConfig;
 		Color aHatchCol( aColorConfig.GetColorValue( svtools::FONTCOLOR ).nColor );
 		const Hatch aHatch( HATCH_SINGLE, aHatchCol, 3, 450 );
-
 		basegfx::B2DPolyPolygon aPolyPoly;
 
 		aPolyPoly.append(basegfx::tools::createPolygonFromRect(aOuterPix));
 		aPolyPoly.append(basegfx::tools::createPolygonFromRect(aPixRange));
 
-		rTargetDevice.DrawHatch( PolyPolygon(aPolyPoly), aHatch );
+		rTargetDevice.DrawHatch(PolyPolygon(aPolyPoly), aHatch);
 		rTargetDevice.EnableMapMode(bMerk);
 	}
 		

Modified: incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdetc.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdetc.cxx?rev=1339213&r1=1339212&r2=1339213&view=diff
==============================================================================
--- incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdetc.cxx (original)
+++ incubator/ooo/branches/alg/aw080/main/svx/source/svdraw/svdetc.cxx Wed May 16 15:07:00 2012
@@ -539,11 +539,10 @@ bool GetDraftFillColor(const SfxItemSet&
 		}
 		case XFILL_BITMAP:
 		{
-			const Bitmap& rBitmap = ((XFillBitmapItem&)rSet.Get(XATTR_FILLBITMAP)).GetBitmapValue().GetBitmap();
-			const Size aSize(rBitmap.GetSizePixel());
+			Bitmap aBitmap(((XFillBitmapItem&)rSet.Get(XATTR_FILLBITMAP)).GetGraphicObject().GetGraphic().GetBitmapEx().GetBitmap());
+			const Size aSize(aBitmap.GetSizePixel());
 			const sal_uInt32 nWidth = aSize.Width();
 			const sal_uInt32 nHeight = aSize.Height();
-			Bitmap aBitmap(rBitmap);
 			BitmapReadAccess* pAccess = aBitmap.AcquireReadAccess();
 
 			if(pAccess && nWidth > 0 && nHeight > 0)



Mime
View raw message