[Libreoffice-commits] core.git: include/svtools include/svx svtools/source svx/source sw/source

Ciorba Edmond edmond_ciorba at yahoo.com
Thu Jul 11 04:32:11 PDT 2013


 include/svtools/htmlout.hxx        |    2 
 include/svx/xoutbmp.hxx            |    1 
 svtools/source/svhtml/htmlout.cxx  |    8 -
 svx/source/xoutdev/_xoutbmp.cxx    |   43 +++++++++
 sw/source/filter/html/css1atr.cxx  |  107 +++++++-----------------
 sw/source/filter/html/htmlatr.cxx  |    5 -
 sw/source/filter/html/htmlfly.cxx  |  161 +++++++++----------------------------
 sw/source/filter/html/htmlnum.cxx  |    5 -
 sw/source/filter/html/htmlplug.cxx |   23 -----
 sw/source/filter/html/htmltabw.cxx |    9 --
 sw/source/filter/html/wrthtml.cxx  |   60 ++-----------
 sw/source/filter/html/wrthtml.hxx  |   12 +-
 12 files changed, 149 insertions(+), 287 deletions(-)

New commits:
commit 5dd1b3da57862a6577717544dde56482add89170
Author: Ciorba Edmond <edmond_ciorba at yahoo.com>
Date:   Wed Jul 3 16:14:45 2013 +0300

    fdo#63211 - embed images in HTML export.
    
    Change-Id: I585c85d2cee13ee8954623bd981cb372d78b7952

diff --git a/include/svtools/htmlout.hxx b/include/svtools/htmlout.hxx
index 33c76fe..90c3208 100644
--- a/include/svtools/htmlout.hxx
+++ b/include/svtools/htmlout.hxx
@@ -68,7 +68,7 @@ struct HTMLOutFuncs
     SVT_DLLPUBLIC static SvStream& Out_Char( SvStream&, sal_Unicode cChar,
                         HTMLOutContext& rContext,
                         String *pNonConvertableChars = 0 );
-    SVT_DLLPUBLIC static SvStream& Out_String( SvStream&, const String&,
+    SVT_DLLPUBLIC static SvStream& Out_String( SvStream&, const OUString&,
                         rtl_TextEncoding eDestEnc = RTL_TEXTENCODING_MS_1252,
                         String *pNonConvertableChars = 0 );
     SVT_DLLPUBLIC static SvStream& Out_Hex( SvStream&, sal_uLong nHex, sal_uInt8 nLen,
diff --git a/include/svx/xoutbmp.hxx b/include/svx/xoutbmp.hxx
index 0c614b9..3bb51cf 100644
--- a/include/svx/xoutbmp.hxx
+++ b/include/svx/xoutbmp.hxx
@@ -54,6 +54,7 @@ public:
     static sal_uInt16       WriteGraphic( const Graphic& rGraphic, String& rFileName,
                                       const String& rFilterName, const sal_uIntPtr nFlags = 0L,
                                       const Size* pMtfSize_100TH_MM = NULL );
+    static sal_uLong    GraphicToBase64(const Graphic& rGraphic,OUString& rOUString);
 
     static sal_uInt16       ExportGraphic( const Graphic& rGraphic, const INetURLObject& rURL,
                                        GraphicFilter& rFilter, const sal_uInt16 nFormat,
diff --git a/svtools/source/svhtml/htmlout.cxx b/svtools/source/svhtml/htmlout.cxx
index a23638f..f384c4b 100644
--- a/svtools/source/svhtml/htmlout.cxx
+++ b/svtools/source/svhtml/htmlout.cxx
@@ -532,14 +532,14 @@ SvStream& HTMLOutFuncs::Out_Char( SvStream& rStream, sal_Unicode c,
     return rStream;
 }
 
-SvStream& HTMLOutFuncs::Out_String( SvStream& rStream, const String& rStr,
+SvStream& HTMLOutFuncs::Out_String( SvStream& rStream, const OUString& rOUStr,
                                     rtl_TextEncoding eDestEnc,
                                     String *pNonConvertableChars )
 {
     HTMLOutContext aContext( eDestEnc );
-    xub_StrLen nLen = rStr.Len();
-    for( xub_StrLen n = 0; n < nLen; n++ )
-        HTMLOutFuncs::Out_Char( rStream, rStr.GetChar( (xub_StrLen)n ),
+    sal_Int32 nLen = rOUStr.getLength();
+    for( sal_Int32 n = 0; n < nLen; n++ )
+        HTMLOutFuncs::Out_Char( rStream, rOUStr[n],
                                 aContext, pNonConvertableChars );
     HTMLOutFuncs::FlushToAscii( rStream, aContext );
     return rStream;
diff --git a/svx/source/xoutdev/_xoutbmp.cxx b/svx/source/xoutdev/_xoutbmp.cxx
index 535d6b3..40f9f7f 100644
--- a/svx/source/xoutdev/_xoutbmp.cxx
+++ b/svx/source/xoutdev/_xoutbmp.cxx
@@ -29,6 +29,9 @@
 #include <vcl/dibtools.hxx>
 #include <vcl/FilterConfigItem.hxx>
 #include <vcl/graphicfilter.hxx>
+#include <vcl/cvtgrf.hxx>
+#include <sax/tools/converter.hxx>
+#include <svtools/htmlkywd.hxx>
 
 #define FORMAT_BMP  OUString("bmp")
 #define FORMAT_GIF  OUString("gif")
@@ -314,6 +317,46 @@ sal_uInt16 XOutBitmap::WriteGraphic( const Graphic& rGraphic, String& rFileName,
     }
 }
 
+sal_uLong XOutBitmap::GraphicToBase64(const Graphic& rGraphic, OUString& rOUString)
+{
+    SvMemoryStream aOStm;
+    OUString aMimeType;
+    GfxLink aLink = rGraphic.GetLink();
+    sal_uLong aCvtType;
+    switch(  aLink.GetType() )
+    {
+        case( GFX_LINK_TYPE_NATIVE_JPG ):
+            aCvtType = CVT_JPG;
+            aMimeType = "image/jpeg";
+            break;
+        case( GFX_LINK_TYPE_NATIVE_PNG ):
+            aCvtType = CVT_PNG;
+            aMimeType = "image/png";
+            break;
+        case( GFX_LINK_TYPE_NATIVE_SVG ):
+            aCvtType = CVT_SVG;
+            aMimeType = "image/svg+xml";
+            break;
+        default:
+            // save everything else (including gif) into png
+            aCvtType = CVT_PNG;
+            aMimeType = "image/png";
+            break;
+    }
+    sal_uLong nErr = GraphicConverter::Export(aOStm,rGraphic,aCvtType);
+    if ( nErr )
+    {
+        SAL_WARN("svx", "XOutBitmap::GraphicToBase64() invalid Graphic? error: " << nErr );
+        return nErr;
+    }
+    aOStm.Seek(STREAM_SEEK_TO_END);
+    css::uno::Sequence<sal_Int8> aOStmSeq( (sal_Int8*) aOStm.GetData(),aOStm.Tell() );
+    OUStringBuffer aStrBuffer;
+    ::sax::Converter::encodeBase64(aStrBuffer,aOStmSeq);
+    rOUString = aMimeType + ";base64," + aStrBuffer.makeStringAndClear();
+    return 0;
+}
+
 sal_uInt16 XOutBitmap::ExportGraphic( const Graphic& rGraphic, const INetURLObject& rURL,
                                   GraphicFilter& rFilter, const sal_uInt16 nFormat,
                                   const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >* pFilterData )
diff --git a/sw/source/filter/html/css1atr.cxx b/sw/source/filter/html/css1atr.cxx
index db343f0..effb4a8 100644
--- a/sw/source/filter/html/css1atr.cxx
+++ b/sw/source/filter/html/css1atr.cxx
@@ -147,7 +147,7 @@ static Writer& OutCSS1_SvxULSpace_SvxLRSpace( Writer& rWrt,
                                         const SfxItemSet& rItemSet,
                                         sal_Bool bDeep );
 static Writer& OutCSS1_SvxBrush( Writer& rWrt, const SfxPoolItem& rHt,
-                                 sal_uInt16 nMode, const String *pGrfName );
+                                 sal_uInt16 nMode );
 static Writer& OutCSS1_SvxBrush( Writer& rWrt, const SfxPoolItem& rHt );
 static Writer& OutCSS1_SwFmtFrmSize( Writer& rWrt, const SfxPoolItem& rHt,
                                      sal_uInt16 nMode );
@@ -1909,8 +1909,7 @@ static Writer& OutCSS1_SwFtnInfo( Writer& rWrt, const SwEndNoteInfo& rInfo,
     return rWrt;
 }
 
-Writer& OutCSS1_BodyTagStyleOpt( Writer& rWrt, const SfxItemSet& rItemSet,
-                                 String aEmbBGGrfName )
+Writer& OutCSS1_BodyTagStyleOpt( Writer& rWrt, const SfxItemSet& rItemSet )
 {
     SwHTMLWriter& rHTMLWrt = (SwHTMLWriter&)rWrt;
 
@@ -1926,8 +1925,7 @@ Writer& OutCSS1_BodyTagStyleOpt( Writer& rWrt, const SfxItemSet& rItemSet,
     if( SFX_ITEM_SET == rItemSet.GetItemState( RES_BACKGROUND, sal_False,
                                                &pItem ) )
     {
-        OutCSS1_SvxBrush( rWrt, *pItem, CSS1_BACKGROUND_PAGE,
-                          &aEmbBGGrfName );
+        OutCSS1_SvxBrush( rWrt, *pItem, CSS1_BACKGROUND_PAGE );
     }
 
     if( SFX_ITEM_SET == rItemSet.GetItemState( RES_BOX, sal_False,
@@ -1996,7 +1994,7 @@ Writer& OutCSS1_TableBGStyleOpt( Writer& rWrt, const SfxPoolItem& rHt )
     SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_STYLE_OPT_ON |
                                    CSS1_OUTMODE_ENCODE|
                                    CSS1_OUTMODE_TABLEBOX );
-    OutCSS1_SvxBrush( rWrt, rHt, CSS1_BACKGROUND_TABLE, 0 );
+    OutCSS1_SvxBrush( rWrt, rHt, CSS1_BACKGROUND_TABLE );
 
     if( !rHTMLWrt.bFirstCSS1Property )
         rWrt.Strm() << '\"';
@@ -2248,7 +2246,7 @@ void SwHTMLWriter::OutCSS1_TableFrmFmtOptions( const SwFrmFmt& rFrmFmt )
     const SfxPoolItem *pItem;
     const SfxItemSet& rItemSet = rFrmFmt.GetAttrSet();
     if( SFX_ITEM_SET==rItemSet.GetItemState( RES_BACKGROUND, sal_False, &pItem ) )
-        OutCSS1_SvxBrush( *this, *pItem, CSS1_BACKGROUND_TABLE, 0 );
+        OutCSS1_SvxBrush( *this, *pItem, CSS1_BACKGROUND_TABLE );
 
     if( IsHTMLMode( HTMLMODE_PRINT_EXT ) )
         OutCSS1_SvxFmtBreak_SwFmtPDesc_SvxFmtKeep( *this, rItemSet, sal_False );
@@ -2281,7 +2279,7 @@ void SwHTMLWriter::OutCSS1_SectionFmtOptions( const SwFrmFmt& rFrmFmt, const SwF
     const SfxPoolItem *pItem;
     const SfxItemSet& rItemSet = rFrmFmt.GetAttrSet();
     if( SFX_ITEM_SET==rItemSet.GetItemState( RES_BACKGROUND, sal_False, &pItem ) )
-        OutCSS1_SvxBrush( *this, *pItem, CSS1_BACKGROUND_SECTION, 0 );
+        OutCSS1_SvxBrush( *this, *pItem, CSS1_BACKGROUND_SECTION );
 
     if (pCol)
     {
@@ -2303,7 +2301,7 @@ static bool OutCSS1_FrmFmtBrush( SwHTMLWriter& rWrt,
         0 != rBrushItem.GetGraphicLink() ||
         0 != rBrushItem.GetGraphicPos() )
     {
-        OutCSS1_SvxBrush( rWrt, rBrushItem, CSS1_BACKGROUND_FLY, 0 );
+        OutCSS1_SvxBrush( rWrt, rBrushItem, CSS1_BACKGROUND_FLY );
         bWritten = true;
     }
     return bWritten;
@@ -3304,13 +3302,12 @@ static Writer& OutCSS1_SvxFmtBreak_SwFmtPDesc_SvxFmtKeep( Writer& rWrt,
 // Wrapper fuer OutCSS1_SfxItemSet etc.
 static Writer& OutCSS1_SvxBrush( Writer& rWrt, const SfxPoolItem& rHt )
 {
-    OutCSS1_SvxBrush( rWrt, rHt, CSS1_BACKGROUND_ATTR, 0 );
+    OutCSS1_SvxBrush( rWrt, rHt, CSS1_BACKGROUND_ATTR );
     return rWrt;
 }
 
-
 static Writer& OutCSS1_SvxBrush( Writer& rWrt, const SfxPoolItem& rHt,
-                                 sal_uInt16 nMode, const String *pGrfName )
+                                 sal_uInt16 nMode)
 {
     SwHTMLWriter& rHTMLWrt = (SwHTMLWriter&)rWrt;
 
@@ -3323,19 +3320,8 @@ static Writer& OutCSS1_SvxBrush( Writer& rWrt, const SfxPoolItem& rHt,
     // Erstmal ein par Werte holen
 //  const Brush &rBrush = ((const SvxBrushItem &)rHt).GetBrush();
     const Color & rColor = ((const SvxBrushItem &)rHt).GetColor();
-    const String *pLink = pGrfName ? pGrfName
-                            : ((const SvxBrushItem &)rHt).GetGraphicLink();
     SvxGraphicPosition ePos = ((const SvxBrushItem &)rHt).GetGraphicPos();
 
-    if( CSS1_BACKGROUND_PAGE==nMode )
-    {
-        // Fuer Seitenvorlagen wurde der Grafik-Name uebergeben. Es wird
-        // nur ein Attribut ausgegeben, wenn die Grafik nicht gekachelt ist.
-        OSL_ENSURE( pLink, "Wo ist der Grafik-Name der Seitenvorlage?" );
-        if( !pLink || !pLink->Len() || GPOS_TILED==ePos )
-            return rWrt;
-    }
-
     // Erstmal die Farbe holen
     bool bColor = false;
     /// set <bTransparent> to sal_True, if color is "no fill"/"auto fill"
@@ -3348,49 +3334,27 @@ static Writer& OutCSS1_SvxBrush( Writer& rWrt, const SfxPoolItem& rHt,
     }
 
     // und jetzt eine Grafik
-    String sGrfNm;
+    OUString aGraphicInBase64;
 
-    if( !pLink )
+    // embeddete Grafik -> WriteEmbedded schreiben
+    const Graphic* pGrf = ((const SvxBrushItem &)rHt).GetGraphic();
+    if( pGrf )
     {
-        // embeddete Grafik -> WriteEmbedded schreiben
-        const Graphic* pGrf = ((const SvxBrushItem &)rHt).GetGraphic();
-        if( pGrf )
+        sal_uLong nErr = XOutBitmap::GraphicToBase64(*pGrf, aGraphicInBase64);
+        if( nErr )
         {
-            // Grafik als (JPG-)File speichern
-            const String* pTempFileName = rHTMLWrt.GetOrigFileName();
-            if( pTempFileName )
-                sGrfNm = *pTempFileName;
-            sal_uInt16 nErr = XOutBitmap::WriteGraphic( *pGrf, sGrfNm,
-                        OUString("JPG"),
-                        XOUTBMP_USE_NATIVE_IF_POSSIBLE );
-            if( !nErr )     // fehlerhaft, da ist nichts auszugeben
-            {
-                sGrfNm = URIHelper::SmartRel2Abs(
-                    INetURLObject(rWrt.GetBaseURL()), sGrfNm,
-                    URIHelper::GetMaybeFileHdl() );
-                pLink = &sGrfNm;
-            }
-            else
-            {
-                rHTMLWrt.nWarn = WARN_SWG_POOR_LOAD | WARN_SW_WRITE_BASE;
-            }
+            rHTMLWrt.nWarn = WARN_SWG_POOR_LOAD | WARN_SW_WRITE_BASE;
         }
     }
-    else if( !pGrfName && rHTMLWrt.bCfgCpyLinkedGrfs )
-    {
-        sGrfNm = *pLink;
-        rWrt.CopyLocalFileToINet( sGrfNm );
-        pLink = &sGrfNm;
-    }
 
     // In Tabellen wird nur dann etwas exportiert, wenn eine Grafik
     // existiert.
-    if( CSS1_BACKGROUND_TABLE==nMode && !pLink )
+    if( CSS1_BACKGROUND_TABLE==nMode && !pGrf )
         return rWrt;
 
     // ggf. noch die Ausrichtung der Grafik
     const sal_Char *pRepeat = 0, *pHori = 0, *pVert = 0;
-    if( pLink )
+    if( pGrf )
     {
         if( GPOS_TILED==ePos )
         {
@@ -3452,57 +3416,48 @@ static Writer& OutCSS1_SvxBrush( Writer& rWrt, const SfxPoolItem& rHt,
     }
 
     // jetzt den String zusammen bauen
-    String sOut;
-    if( !pLink && !bColor )
+    OUString sOut;
+    if( !pGrf && !bColor )
     {
         // keine Farbe und kein Link, aber ein transparenter Brush
         if( bTransparent && CSS1_BACKGROUND_FLY != nMode )
-            sOut.AssignAscii( sCSS1_PV_transparent );
+            sOut += OStringToOUString(sCSS1_PV_transparent, RTL_TEXTENCODING_ASCII_US);
     }
     else
     {
         if( bColor )
         {
             OString sTmp(GetCSS1Color(aColor));
-            sOut += String(OStringToOUString(sTmp,
-                RTL_TEXTENCODING_ASCII_US));
+            sOut += OStringToOUString(sTmp, RTL_TEXTENCODING_ASCII_US);
         }
 
-        if( pLink )
+        if( pGrf )
         {
             if( bColor )
-                sOut += ' ';
-
-            sOut.AppendAscii( sCSS1_url );
-            sOut.Append( '(' );
-            sOut.Append( String(URIHelper::simpleNormalizedMakeRelative(rWrt.GetBaseURL(),
-              *pLink)));
+                sOut += " ";
 
-            sOut.Append( ')' );
+            sOut += OStringToOUString(sCSS1_url, RTL_TEXTENCODING_ASCII_US) +
+                "(\'" + OOO_STRING_SVTOOLS_HTML_O_data +  ":" + aGraphicInBase64 + "\')";
 
             if( pRepeat )
             {
-                sOut.Append( ' ' );
-                sOut.AppendAscii( pRepeat );
+                sOut += " " + OStringToOUString(pRepeat, RTL_TEXTENCODING_ASCII_US);
             }
 
             if( pHori )
             {
-                sOut.Append( ' ' );
-                sOut.AppendAscii( pHori );
+                sOut += " " + OStringToOUString(pHori, RTL_TEXTENCODING_ASCII_US);
             }
             if( pVert )
             {
-                sOut.Append( ' ' );
-                sOut.AppendAscii( pVert );
+                sOut += " " + OStringToOUString(pVert, RTL_TEXTENCODING_ASCII_US);
             }
 
-            sOut.Append( ' ' );
-            sOut.AppendAscii( sCSS1_PV_scroll );
+            sOut += " " + OStringToOUString(sCSS1_PV_scroll, RTL_TEXTENCODING_ASCII_US) + " ";
         }
     }
 
-    if( sOut.Len() )
+    if( !sOut.isEmpty() )
         rHTMLWrt.OutCSS1_Property( sCSS1_P_background, sOut );
 
     return rWrt;
diff --git a/sw/source/filter/html/htmlatr.cxx b/sw/source/filter/html/htmlatr.cxx
index 2ce7beb..57f9be7 100644
--- a/sw/source/filter/html/htmlatr.cxx
+++ b/sw/source/filter/html/htmlatr.cxx
@@ -977,8 +977,7 @@ void OutHTML_SwFmt( Writer& rWrt, const SwFmt& rFmt,
         OSL_ENSURE( aNumInfo.GetNumRule(), "Wo ist die Numerierung geblieben???" );
         OSL_ENSURE( nBulletGrfLvl < MAXLEVEL, "So viele Ebenen gibt's nicht" );
         const SwNumFmt& rNumFmt = aNumInfo.GetNumRule()->Get(nBulletGrfLvl);
-
-        OutHTML_BulletImage( rWrt, OOO_STRING_SVTOOLS_HTML_image, 0,
+        OutHTML_BulletImage( rWrt, OOO_STRING_SVTOOLS_HTML_image, rNumFmt.GetBrush(),
                              rHWrt.aBulletGrfs[nBulletGrfLvl],
                              rNumFmt.GetGraphicSize(), rNumFmt.GetGraphicOrientation() );
     }
@@ -2592,7 +2591,7 @@ Writer& OutHTML_SwTxtNode( Writer& rWrt, const SwCntntNode& rNode )
         else
             pStr = OOO_STRING_SVTOOLS_HTML_AL_right;
 
-        OStringBuffer sOut(RTL_CONSTASCII_STRINGPARAM(OOO_STRING_SVTOOLS_HTML_linebreak));
+        OStringBuffer sOut(OOO_STRING_SVTOOLS_HTML_linebreak);
         sOut.append(' ').append(OOO_STRING_SVTOOLS_HTML_O_clear).append('=').append(pStr);
         HTMLOutFuncs::Out_AsciiTag( rHTMLWrt.Strm(), sOut.getStr() );
 
diff --git a/sw/source/filter/html/htmlfly.cxx b/sw/source/filter/html/htmlfly.cxx
index f17643b..0bac1d7 100644
--- a/sw/source/filter/html/htmlfly.cxx
+++ b/sw/source/filter/html/htmlfly.cxx
@@ -39,7 +39,6 @@
 #include <editeng/ulspitem.hxx>
 #include <editeng/brushitem.hxx>
 
-
 #include <fmtanchr.hxx>
 #include <fmtornt.hxx>
 #include <fmturl.hxx>
@@ -54,6 +53,8 @@
 #include <flypos.hxx>
 #include <docary.hxx>
 #include <ndgrf.hxx>
+#include <vcl/cvtgrf.hxx>
+#include <sax/tools/converter.hxx>
 
 #include "doc.hxx"
 #include "ndtxt.hxx"
@@ -65,7 +66,6 @@
 #include "htmlfly.hxx"
 
 using namespace ::com::sun::star;
-
 ////////////////////////////////////////////////////////////
 
 const sal_uLong HTML_FRMOPTS_IMG_ALL        =
@@ -144,6 +144,7 @@ static Writer& OutHTML_FrmFmtGrfNode( Writer& rWrt, const SwFrmFmt& rFmt,
 
 static Writer& OutHTML_FrmFmtAsMarquee( Writer& rWrt, const SwFrmFmt& rFrmFmt,
                                         const SdrObject& rSdrObj    );
+
 //-----------------------------------------------------------------------
 
 extern HTMLOutEvent aAnchorEventTable[];
@@ -544,7 +545,7 @@ OString SwHTMLWriter::OutFrmFmtOptions( const SwFrmFmt &rFrmFmt,
         const sal_Char *pStr =
             (nFrmOpts & HTML_FRMOPT_ID) ? OOO_STRING_SVTOOLS_HTML_O_id : OOO_STRING_SVTOOLS_HTML_O_name;
         sOut.append(' ').append(pStr).
-            append(RTL_CONSTASCII_STRINGPARAM("=\""));
+            append("=\"");
         Strm() << sOut.makeStringAndClear().getStr();
         HTMLOutFuncs::Out_String( Strm(), rFrmFmt.GetName(), eDestEnc, &aNonConvertableCharacters );
         sOut.append('\"');
@@ -563,7 +564,7 @@ OString SwHTMLWriter::OutFrmFmtOptions( const SwFrmFmt &rFrmFmt,
     if( (nFrmOpts & HTML_FRMOPT_ALT) && rAlternateTxt.Len() )
     {
         sOut.append(' ').append(OOO_STRING_SVTOOLS_HTML_O_alt).
-            append(RTL_CONSTASCII_STRINGPARAM("=\""));
+            append("=\"");
         Strm() << sOut.makeStringAndClear().getStr();
         HTMLOutFuncs::Out_String( Strm(), rAlternateTxt, eDestEnc, &aNonConvertableCharacters );
         sOut.append('\"');
@@ -813,9 +814,8 @@ OString SwHTMLWriter::OutFrmFmtOptions( const SwFrmFmt &rFrmFmt,
     return sRetEndTags;
 }
 
-
 Writer& OutHTML_Image( Writer& rWrt, const SwFrmFmt &rFrmFmt,
-                       const String &rGrfName, const String& rAlternateTxt,
+                       Graphic& rGraphic, const String& rAlternateTxt,
                        const Size &rRealSize, sal_uInt32 nFrmOpts,
                        const sal_Char *pMarkType,
                        const ImageMap *pAltImgMap )
@@ -829,10 +829,6 @@ Writer& OutHTML_Image( Writer& rWrt, const SwFrmFmt &rFrmFmt,
         OutHTML_INetFmt( rWrt, *pINetFmt, sal_False );
     }
 
-    String aGrfNm( rGrfName );
-    if( !HTMLOutFuncs::PrivateURLToInternalImg(aGrfNm) )
-        aGrfNm = URIHelper::simpleNormalizedMakeRelative( rWrt.GetBaseURL(), aGrfNm);
-
     const SfxPoolItem* pItem;
     const SfxItemSet& rItemSet = rFrmFmt.GetAttrSet();
 
@@ -1022,7 +1018,7 @@ Writer& OutHTML_Image( Writer& rWrt, const SwFrmFmt &rFrmFmt,
             if( aName.Len() )
             {
                 sOut.append(' ').append(OOO_STRING_SVTOOLS_HTML_O_name).
-                    append(RTL_CONSTASCII_STRINGPARAM("=\""));
+                    append("=\"");
                 rWrt.Strm() << sOut.makeStringAndClear().getStr();
                 HTMLOutFuncs::Out_String( rWrt.Strm(), aName,
                                           rHTMLWrt.eDestEnc, &rHTMLWrt.aNonConvertableCharacters );
@@ -1032,7 +1028,7 @@ Writer& OutHTML_Image( Writer& rWrt, const SwFrmFmt &rFrmFmt,
             if( aTarget.Len() )
             {
                 sOut.append(' ').append(OOO_STRING_SVTOOLS_HTML_O_target).
-                    append(RTL_CONSTASCII_STRINGPARAM("=\""));
+                    append("=\"");
                 rWrt.Strm() << sOut.makeStringAndClear().getStr();
                 HTMLOutFuncs::Out_String( rWrt.Strm(), aTarget,
                                           rHTMLWrt.eDestEnc, &rHTMLWrt.aNonConvertableCharacters );
@@ -1056,7 +1052,7 @@ Writer& OutHTML_Image( Writer& rWrt, const SwFrmFmt &rFrmFmt,
             rWrt.Strm() << ">";
             aEndTags = OStringBuffer().append("</").
                 append(OOO_STRING_SVTOOLS_HTML_anchor).
-                append(RTL_CONSTASCII_STRINGPARAM(">")).append(aEndTags).
+                append(">").append(aEndTags).
                 makeStringAndClear();
         }
     }
@@ -1129,7 +1125,7 @@ Writer& OutHTML_Image( Writer& rWrt, const SwFrmFmt &rFrmFmt,
                                      pColBorderLine->GetColor(), rHTMLWrt.eDestEnc ) << '>';
 
             aEndTags = OStringBuffer().
-                append(RTL_CONSTASCII_STRINGPARAM("</")).
+                append("</").
                 append(OOO_STRING_SVTOOLS_HTML_font).
                 append('>').append(aEndTags).makeStringAndClear();
         }
@@ -1138,9 +1134,16 @@ Writer& OutHTML_Image( Writer& rWrt, const SwFrmFmt &rFrmFmt,
     sOut.append('<');
     sOut.append(OOO_STRING_SVTOOLS_HTML_image).append(' ').
         append(OOO_STRING_SVTOOLS_HTML_O_src).
-        append(RTL_CONSTASCII_STRINGPARAM("=\""));
+        append("=\"").append(OOO_STRING_SVTOOLS_HTML_O_data).append(":");
     rWrt.Strm() << sOut.makeStringAndClear().getStr();
-    HTMLOutFuncs::Out_String( rWrt.Strm(), aGrfNm, rHTMLWrt.eDestEnc, &rHTMLWrt.aNonConvertableCharacters ) << '\"';
+
+    OUString aGraphicInBase64;
+    sal_uLong nErr = XOutBitmap::GraphicToBase64(rGraphic, aGraphicInBase64);
+    if( nErr )
+    {
+        rHTMLWrt.nWarn = WARN_SWG_POOR_LOAD | WARN_SW_WRITE_BASE;
+    }
+    HTMLOutFuncs::Out_String( rWrt.Strm(), aGraphicInBase64, rHTMLWrt.eDestEnc, &rHTMLWrt.aNonConvertableCharacters ) << '\"';
 
     // Events
     if( SFX_ITEM_SET == rItemSet.GetItemState( RES_FRMMACRO, sal_True, &pItem ))
@@ -1174,7 +1177,7 @@ Writer& OutHTML_Image( Writer& rWrt, const SwFrmFmt &rFrmFmt,
     if( aIMapName.Len() )
     {
         sOut.append(' ').append(OOO_STRING_SVTOOLS_HTML_O_usemap).
-            append(RTL_CONSTASCII_STRINGPARAM("=\"#"));
+            append("=\"#");
         rWrt.Strm() << sOut.makeStringAndClear().getStr();
         HTMLOutFuncs::Out_String( rWrt.Strm(), aIMapName, rHTMLWrt.eDestEnc, &rHTMLWrt.aNonConvertableCharacters ) << '\"';
     }
@@ -1204,51 +1207,31 @@ Writer& OutHTML_BulletImage( Writer& rWrt,
 {
     SwHTMLWriter & rHTMLWrt = (SwHTMLWriter&)rWrt;
 
-    // Wenn es ein BrushItem gibt, muss die Grafiknoch exportiert werden
+    //Wenn es ein BrushItem gibt, muss die Grafiknoch exportiert werden
     const String *pLink = 0;
+    OUString aGraphicInBase64;
     if( pBrush )
     {
         pLink = pBrush->GetGraphicLink();
 
-        // embeddete Grafik -> WriteEmbedded schreiben
+        //embeddete Grafik -> WriteEmbedded schreiben
         if( !pLink )
         {
             const Graphic* pGrf = pBrush->GetGraphic();
             if( pGrf )
             {
+                const Graphic* aGraphic = pBrush->GetGraphic();
+                sal_uLong nErr = XOutBitmap::GraphicToBase64(*aGraphic, aGraphicInBase64);
+                if( nErr )
+                {
+                    rHTMLWrt.nWarn = WARN_SWG_POOR_LOAD | WARN_SW_WRITE_BASE;
+                }
                 // Grafik als (JPG-)File speichern
                 if( rHTMLWrt.GetOrigFileName() )
                     rGrfName = *rHTMLWrt.GetOrigFileName();
-                sal_uInt16 nErr = XOutBitmap::WriteGraphic( *pGrf,  rGrfName,
-                        OUString("JPG"),
-                        (XOUTBMP_USE_GIF_IF_SENSIBLE |
-                         XOUTBMP_USE_NATIVE_IF_POSSIBLE));
-                if( !nErr )
-                {
-                    rGrfName = URIHelper::SmartRel2Abs(
-                        INetURLObject( rWrt.GetBaseURL() ), rGrfName,
-                        URIHelper::GetMaybeFileHdl() );
                     pLink = &rGrfName;
-                }
-                else
-                {
-                    rHTMLWrt.nWarn = WARN_SWG_POOR_LOAD | WARN_SW_WRITE_BASE;
-                }
             }
         }
-        else
-        {
-            rGrfName = *pLink;
-            if( rHTMLWrt.bCfgCpyLinkedGrfs )
-            {
-                rHTMLWrt.CopyLocalFileToINet( rGrfName );
-                pLink = &rGrfName;
-            }
-        }
-    }
-    else
-    {
-        pLink = &rGrfName;
     }
 
     OStringBuffer sOut;
@@ -1258,13 +1241,10 @@ Writer& OutHTML_BulletImage( Writer& rWrt,
     if( pLink )
     {
         sOut.append(' ');
-        String s( *pLink );
-        if( !HTMLOutFuncs::PrivateURLToInternalImg(s) )
-            s = URIHelper::simpleNormalizedMakeRelative( rWrt.GetBaseURL(), s);
-        sOut.append(OOO_STRING_SVTOOLS_HTML_O_src).
-            append(RTL_CONSTASCII_STRINGPARAM("=\""));
+        sOut.append(OOO_STRING_SVTOOLS_HTML_O_src).append("=\"").
+        append(OOO_STRING_SVTOOLS_HTML_O_data).append(":");
         rWrt.Strm() << sOut.makeStringAndClear().getStr();
-        HTMLOutFuncs::Out_String( rWrt.Strm(), s, rHTMLWrt.eDestEnc, &rHTMLWrt.aNonConvertableCharacters );
+        HTMLOutFuncs::Out_String( rWrt.Strm(), aGraphicInBase64, rHTMLWrt.eDestEnc, &rHTMLWrt.aNonConvertableCharacters );
         sOut.append('\"');
 
         // Groesse des Objekts Twips ohne Raender
@@ -1547,32 +1527,13 @@ static Writer& OutHTML_FrmFmtAsDivOrSpan( Writer& rWrt,
 static Writer & OutHTML_FrmFmtAsImage( Writer& rWrt, const SwFrmFmt& rFrmFmt,
                                        sal_Bool /*bInCntnr*/ )
 {
-    SwHTMLWriter & rHTMLWrt = (SwHTMLWriter&)rWrt;
-
     ImageMap aIMap;
-    Graphic aGrf( ((SwFrmFmt &)rFrmFmt).MakeGraphic( &aIMap ) );
-
-    String aGrfNm;
-    if( rHTMLWrt.GetOrigFileName() )
-        aGrfNm = *rHTMLWrt.GetOrigFileName();
-    if( aGrf.GetType() == GRAPHIC_NONE ||
-        XOutBitmap::WriteGraphic( aGrf, aGrfNm,
-                                  OUString("JPG"),
-                                  (XOUTBMP_USE_GIF_IF_POSSIBLE|
-                                   XOUTBMP_USE_NATIVE_IF_POSSIBLE) ) != 0 )
-    {
-        // leer oder fehlerhaft, da ist nichts auszugeben
-        rHTMLWrt.nWarn = WARN_SWG_POOR_LOAD | WARN_SW_WRITE_BASE;
-        return rWrt;
-    }
-
-    aGrfNm = URIHelper::SmartRel2Abs(
-        INetURLObject(rWrt.GetBaseURL()), aGrfNm,
-        URIHelper::GetMaybeFileHdl() );
+    Graphic aGraphic( ((SwFrmFmt &)rFrmFmt).MakeGraphic( &aIMap ) );
     Size aSz( 0, 0 );
-    OutHTML_Image( rWrt, rFrmFmt, aGrfNm, rFrmFmt.GetName(), aSz,
+    OutHTML_Image( rWrt, rFrmFmt, aGraphic, rFrmFmt.GetName(), aSz,
                     HTML_FRMOPTS_GENIMG, pMarkToFrame,
                     aIMap.GetIMapObjectCount() ? &aIMap : 0 );
+
     return rWrt;
 }
 
@@ -1589,55 +1550,13 @@ static Writer& OutHTML_FrmFmtGrfNode( Writer& rWrt, const SwFrmFmt& rFrmFmt,
     if( !pGrfNd )
         return rWrt;
 
-    const SwMirrorGrf& rMirror = pGrfNd->GetSwAttrSet().GetMirrorGrf();
-
-    String aGrfNm;
-    if( !pGrfNd->IsLinkedFile() || RES_MIRROR_GRAPH_DONT != rMirror.GetValue() )
-    {
-        // Grafik als File-Referenz speichern (als JPEG-Grafik speichern)
-        if( rHTMLWrt.GetOrigFileName() )
-            aGrfNm = *rHTMLWrt.GetOrigFileName();
-        pGrfNd->SwapIn( sal_True );
-
-        sal_uLong nFlags = XOUTBMP_USE_GIF_IF_SENSIBLE |
-                       XOUTBMP_USE_NATIVE_IF_POSSIBLE;
-        switch( rMirror.GetValue() )
-        {
-        case RES_MIRROR_GRAPH_VERT: nFlags = XOUTBMP_MIRROR_HORZ; break;
-        case RES_MIRROR_GRAPH_HOR:    nFlags = XOUTBMP_MIRROR_VERT; break;
-        case RES_MIRROR_GRAPH_BOTH:
-            nFlags = XOUTBMP_MIRROR_VERT | XOUTBMP_MIRROR_HORZ;
-            break;
-        }
-
-        Size aMM100Size;
-        const SwFmtFrmSize& rSize = rFrmFmt.GetFrmSize();
-        aMM100Size = OutputDevice::LogicToLogic( rSize.GetSize(),
-                        MapMode( MAP_TWIP ), MapMode( MAP_100TH_MM ));
-
-        sal_uInt16 nErr = XOutBitmap::WriteGraphic( pGrfNd->GetGrf(), aGrfNm,
-                OUString("JPG"), nFlags, &aMM100Size );
-        if( nErr )              // fehlerhaft, da ist nichts auszugeben
-        {
-            rHTMLWrt.nWarn = WARN_SWG_POOR_LOAD | WARN_SW_WRITE_BASE;
-            return rWrt;
-        }
-        aGrfNm = URIHelper::SmartRel2Abs(
-            INetURLObject(rWrt.GetBaseURL()), aGrfNm,
-            URIHelper::GetMaybeFileHdl() );
-    }
-    else
-    {
-        pGrfNd->GetFileFilterNms( &aGrfNm, 0 );
-        if( rHTMLWrt.bCfgCpyLinkedGrfs )
-            rWrt.CopyLocalFileToINet( aGrfNm );
-    }
-
     sal_uLong nFrmFlags = bInCntnr ? HTML_FRMOPTS_IMG_CNTNR : HTML_FRMOPTS_IMG;
     if( rHTMLWrt.IsHTMLMode( HTMLMODE_ABS_POS_FLY ) && !bInCntnr )
-        nFrmFlags |= HTML_FRMOPTS_IMG_CSS1;
-    OutHTML_Image( rWrt, rFrmFmt, aGrfNm, pGrfNd->GetTitle(),
-                   pGrfNd->GetTwipSize(), nFrmFlags, pMarkToGraphic );
+         nFrmFlags |= HTML_FRMOPTS_IMG_CSS1;
+
+    Graphic aGraphic = pGrfNd->GetGraphic();
+    OutHTML_Image( rWrt, rFrmFmt, aGraphic, pGrfNd->GetTitle(),
+                  pGrfNd->GetTwipSize(), nFrmFlags, pMarkToGraphic );
 
     return rWrt;
 }
diff --git a/sw/source/filter/html/htmlnum.cxx b/sw/source/filter/html/htmlnum.cxx
index 9d1620a..be594f2 100644
--- a/sw/source/filter/html/htmlnum.cxx
+++ b/sw/source/filter/html/htmlnum.cxx
@@ -821,10 +821,9 @@ Writer& OutHTML_NumBulListStart( SwHTMLWriter& rWrt,
         }
         else if( SVX_NUM_BITMAP == eType )
         {
-            // Aufzaehlungs-Liste: <OL>
+            // Unordered list: <UL>
             sOut.append(OOO_STRING_SVTOOLS_HTML_unorderlist);
             rWrt.Strm() << sOut.makeStringAndClear().getStr();
-
             OutHTML_BulletImage( rWrt,
                                     0,
                                     rNumFmt.GetBrush(),
@@ -834,7 +833,7 @@ Writer& OutHTML_NumBulListStart( SwHTMLWriter& rWrt,
         }
         else
         {
-            // Numerierungs-Liste: <UL>
+            // Ordered list: <OL>
             sOut.append(OOO_STRING_SVTOOLS_HTML_orderlist);
 
             // den Typ ueber das Format bestimmen
diff --git a/sw/source/filter/html/htmlplug.cxx b/sw/source/filter/html/htmlplug.cxx
index d6f1a3a..90007cc 100644
--- a/sw/source/filter/html/htmlplug.cxx
+++ b/sw/source/filter/html/htmlplug.cxx
@@ -56,6 +56,8 @@
 
 #include <comphelper/embeddedobjectcontainer.hxx>
 #include <comphelper/classids.hxx>
+#include <vcl/cvtgrf.hxx>
+#include <sax/tools/converter.hxx>
 
 using namespace com::sun::star;
 
@@ -1258,27 +1260,10 @@ Writer& OutHTML_FrmFmtOLENodeGrf( Writer& rWrt, const SwFrmFmt& rFrmFmt,
         return rWrt;
 
     {
-        Graphic aGrf( *pOLENd->GetGraphic() );
-        String aGrfNm;
-        const String* pTempFileName = rHTMLWrt.GetOrigFileName();
-        if(pTempFileName)
-            aGrfNm = *pTempFileName;
-
-        sal_uInt16 nErr = XOutBitmap::WriteGraphic( aGrf, aGrfNm,
-                                    OUString("JPG"),
-                                    (XOUTBMP_USE_GIF_IF_POSSIBLE |
-                                     XOUTBMP_USE_NATIVE_IF_POSSIBLE) );
-        if( nErr )              // fehlerhaft, da ist nichts auszugeben
-        {
-            rHTMLWrt.nWarn = WARN_SWG_POOR_LOAD | WARN_SW_WRITE_BASE;
-            return rWrt;
-        }
-        aGrfNm = URIHelper::SmartRel2Abs(
-            INetURLObject(rWrt.GetBaseURL()), aGrfNm,
-            URIHelper::GetMaybeFileHdl() );
+        Graphic aGraphic( *pOLENd->GetGraphic() );
         sal_uLong nFlags = bInCntnr ? HTML_FRMOPTS_GENIMG_CNTNR
                                   : HTML_FRMOPTS_GENIMG;
-        OutHTML_Image( rWrt, rFrmFmt, aGrfNm,
+        OutHTML_Image( rWrt, rFrmFmt, aGraphic,
                        pOLENd->GetTitle(), pOLENd->GetTwipSize(),
                        nFlags, pMarkToOLE );
     }
diff --git a/sw/source/filter/html/htmltabw.cxx b/sw/source/filter/html/htmltabw.cxx
index 3438ab3..1e940b8 100644
--- a/sw/source/filter/html/htmltabw.cxx
+++ b/sw/source/filter/html/htmltabw.cxx
@@ -429,8 +429,7 @@ void SwHTMLWrtTable::OutTableCell( SwHTMLWriter& rWrt,
     if( pBrushItem )
     {
         // Hintergrund ausgeben
-        String aDummy;
-        rWrt.OutBackground( pBrushItem, aDummy, sal_False );
+        rWrt.OutBackground( pBrushItem, sal_False );
 
         if( rWrt.bCfgOutStyles )
             OutCSS1_TableBGStyleOpt( rWrt, *pBrushItem );
@@ -538,8 +537,7 @@ void SwHTMLWrtTable::OutTableCells( SwHTMLWriter& rWrt,
     rWrt.Strm() << '<' << OOO_STRING_SVTOOLS_HTML_tablerow;
     if( pBrushItem )
     {
-        String aDummy;
-        rWrt.OutBackground( pBrushItem, aDummy, sal_False );
+        rWrt.OutBackground( pBrushItem, sal_False );
 
         rWrt.bTxtAttr = sal_False;
         rWrt.bOutOpts = sal_True;
@@ -729,8 +727,7 @@ void SwHTMLWrtTable::Write( SwHTMLWriter& rWrt, sal_Int16 eAlign,
     // Hintergrund ausgeben
     if( pFrmFmt )
     {
-        String aDummy;
-        rWrt.OutBackground( pFrmFmt->GetAttrSet(), aDummy, sal_False );
+        rWrt.OutBackground( pFrmFmt->GetAttrSet(), sal_False );
 
         if( rWrt.bCfgOutStyles && pFrmFmt )
             rWrt.OutCSS1_TableFrmFmtOptions( *pFrmFmt );
diff --git a/sw/source/filter/html/wrthtml.cxx b/sw/source/filter/html/wrthtml.cxx
index 58b7478..124e79f 100644
--- a/sw/source/filter/html/wrthtml.cxx
+++ b/sw/source/filter/html/wrthtml.cxx
@@ -1001,14 +1001,13 @@ const SwPageDesc *SwHTMLWriter::MakeHeader( sal_uInt16 &rHeaderAttrs )
 
     const SfxItemSet& rItemSet = pPageDesc->GetMaster().GetAttrSet();
 
-    String aEmbGrfName;
-    OutBackground( rItemSet, aEmbGrfName, sal_True );
+    OutBackground( rItemSet, sal_True );
 
     nDirection = GetHTMLDirection( rItemSet );
     OutDirection( nDirection );
 
     if( bCfgOutStyles )
-        OutCSS1_BodyTagStyleOpt( *this, rItemSet, aEmbGrfName );
+        OutCSS1_BodyTagStyleOpt( *this, rItemSet );
 
     // Events anhaengen
     if( pDoc->GetDocShell() )   // nur mit DocShell ist Basic moeglich
@@ -1114,8 +1113,7 @@ void SwHTMLWriter::OutHyperlinkHRefValue( const String& rURL )
                               &aNonConvertableCharacters );
 }
 
-void SwHTMLWriter::OutBackground( const SvxBrushItem *pBrushItem,
-                                  String& rEmbGrfNm, sal_Bool bGraphic )
+void SwHTMLWriter::OutBackground( const SvxBrushItem *pBrushItem, sal_Bool bGraphic )
 {
     const Color &rBackColor = pBrushItem->GetColor();
     /// check, if background color is not "no fill"/"auto fill", instead of
@@ -1131,60 +1129,28 @@ void SwHTMLWriter::OutBackground( const SvxBrushItem *pBrushItem,
     if( !bGraphic )
         return;
 
-    const String *pLink = pBrushItem->GetGraphicLink();
-
-    // embeddete Grafik -> WriteEmbedded schreiben
-    if( !pLink )
-    {
-        const Graphic* pGrf = pBrushItem->GetGraphic();
-        if( pGrf )
-        {
-            // Grafik als (JPG-)File speichern
-            const String* pTempFileName = GetOrigFileName();
-            if(pTempFileName)
-                rEmbGrfNm = *pTempFileName;
-            sal_uInt16 nErr = XOutBitmap::WriteGraphic( *pGrf, rEmbGrfNm,
-                    OUString("JPG"),
-                    XOUTBMP_USE_NATIVE_IF_POSSIBLE );
-            if( !nErr )     // fehlerhaft, da ist nichts auszugeben
-            {
-                rEmbGrfNm = URIHelper::SmartRel2Abs(
-                    INetURLObject( GetBaseURL() ), rEmbGrfNm,
-                    URIHelper::GetMaybeFileHdl() );
-                pLink = &rEmbGrfNm;
-            }
-            else
-            {
-                nWarn = WARN_SWG_POOR_LOAD | WARN_SW_WRITE_BASE;
-            }
-        }
-    }
-    else
+    OUString aGraphicInBase64;
+    const Graphic* pGrf = pBrushItem->GetGraphic();
+    if( pGrf )
     {
-        rEmbGrfNm = *pLink;
-        if( bCfgCpyLinkedGrfs )
+        sal_uLong nErr = XOutBitmap::GraphicToBase64(*pGrf, aGraphicInBase64);
+        if( nErr )
         {
-            CopyLocalFileToINet( rEmbGrfNm  );
-            pLink = &rEmbGrfNm;
+            nWarn = WARN_SWG_POOR_LOAD | WARN_SW_WRITE_BASE;
         }
-    }
-
-    if( pLink )
-    {
-        String s( URIHelper::simpleNormalizedMakeRelative( GetBaseURL(), *pLink));
         Strm() << " " OOO_STRING_SVTOOLS_HTML_O_background "=\"";
-        HTMLOutFuncs::Out_String( Strm(), s, eDestEnc, &aNonConvertableCharacters ) << '\"';
+        Strm() << OOO_STRING_SVTOOLS_HTML_O_data ":";
+        HTMLOutFuncs::Out_String( Strm(), aGraphicInBase64, eDestEnc, &aNonConvertableCharacters ) << '\"';
     }
 }
 
-void SwHTMLWriter::OutBackground( const SfxItemSet& rItemSet,
-                                  String& rEmbGrfNm, sal_Bool bGraphic )
+void SwHTMLWriter::OutBackground( const SfxItemSet& rItemSet, sal_Bool bGraphic )
 {
     const SfxPoolItem* pItem;
     if( SFX_ITEM_SET == rItemSet.GetItemState( RES_BACKGROUND, sal_False,
                                                &pItem ))
     {
-        OutBackground( ((const SvxBrushItem*)pItem), rEmbGrfNm, bGraphic );
+        OutBackground( ((const SvxBrushItem*)pItem), bGraphic );
     }
 }
 
diff --git a/sw/source/filter/html/wrthtml.hxx b/sw/source/filter/html/wrthtml.hxx
index fa14c74..a3fbb09 100644
--- a/sw/source/filter/html/wrthtml.hxx
+++ b/sw/source/filter/html/wrthtml.hxx
@@ -456,10 +456,8 @@ public:
     void OutBasicBodyEvents();
 
     // BACKGROUND/BGCOLOR-Option
-    void OutBackground( const SvxBrushItem *pBrushItem, String& rEmbGrfNm,
-                        sal_Bool bGraphic );
-    void OutBackground( const SfxItemSet& rItemSet, String &rEmbGrfName,
-                        sal_Bool bGraphic );
+    void OutBackground( const SvxBrushItem *pBrushItem, sal_Bool bGraphic );
+    void OutBackground( const SfxItemSet& rItemSet, sal_Bool bGraphic );
 
     void OutLanguage( LanguageType eLang );
     sal_uInt16 GetHTMLDirection( sal_uInt16 nDir ) const;
@@ -632,10 +630,11 @@ Writer& OutHTML_HeaderFooter( Writer& rWrt, const SwFrmFmt& rFrmFmt,
                               sal_Bool bHeader );
 
 Writer& OutHTML_Image( Writer&, const SwFrmFmt& rFmt,
-                       const String& rGrfName, const String& rAlternateTxt,
+                       Graphic& rGraphic, const String& rAlternateTxt,
                        const Size& rRealSize, sal_uInt32 nFrmOpts,
                        const sal_Char *pMarkType = 0,
                        const ImageMap *pGenImgMap = 0 );
+
 Writer& OutHTML_BulletImage( Writer& rWrt, const sal_Char *pTag,
                              const SvxBrushItem* pBrush, String &rGrfName,
                              const Size &rSize,
@@ -645,8 +644,7 @@ Writer& OutHTML_SwFmtFld( Writer& rWrt, const SfxPoolItem& rHt );
 Writer& OutHTML_SwFmtFtn( Writer& rWrt, const SfxPoolItem& rHt );
 Writer& OutHTML_INetFmt( Writer&, const SwFmtINetFmt& rINetFmt, sal_Bool bOn );
 
-Writer& OutCSS1_BodyTagStyleOpt( Writer& rWrt, const SfxItemSet& rItemSet,
-                                 String aEmbBGGrfName );
+Writer& OutCSS1_BodyTagStyleOpt( Writer& rWrt, const SfxItemSet& rItemSet );
 Writer& OutCSS1_ParaTagStyleOpt( Writer& rWrt, const SfxItemSet& rItemSet );
 
 Writer& OutCSS1_HintSpanTag( Writer& rWrt, const SfxPoolItem& rHt );


More information about the Libreoffice-commits mailing list