sw/source/filter/html/css1atr.cxx | 628 +++++++++++--------------- sw/source/filter/html/htmlatr.cxx | 742 +++++++++++++++---------------- sw/source/filter/html/htmldrawwriter.cxx | 14 sw/source/filter/html/htmlfldw.cxx | 47 - sw/source/filter/html/htmlflywriter.cxx | 374 +++++++-------- sw/source/filter/html/htmlforw.cxx | 47 - sw/source/filter/html/htmlftn.cxx | 41 - sw/source/filter/html/htmlnumwriter.cxx | 4 sw/source/filter/html/htmlplug.cxx | 92 +-- sw/source/filter/html/htmltabw.cxx | 109 ++-- sw/source/filter/html/wrthtml.cxx | 32 - sw/source/filter/html/wrthtml.hxx | 46 - sw/source/filter/inc/wrt_fn.hxx | 7 sw/source/filter/writer/wrt_fn.cxx | 4 14 files changed, 1028 insertions(+), 1159 deletions(-)
New commits: commit 60d9e89f5a18b437016cead0c5fb688d202bc90e Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Fri Mar 3 08:36:05 2023 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Fri Mar 3 07:57:48 2023 +0000 reduce casting in writer html export filter Change-Id: I8e690eea423a60a5009376a222d18ac214c77bc1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148154 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/sw/source/filter/html/css1atr.cxx b/sw/source/filter/html/css1atr.cxx index fe922c884ce5..99fffb76d6b3 100644 --- a/sw/source/filter/html/css1atr.cxx +++ b/sw/source/filter/html/css1atr.cxx @@ -119,44 +119,44 @@ namespace o3tl { #define DOT_LEADERS_MAX_WIDTH 18 -static Writer& OutCSS1_SwFormat( Writer& rWrt, const SwFormat& rFormat, +static SwHTMLWriter& OutCSS1_SwFormat( SwHTMLWriter& rWrt, const SwFormat& rFormat, IDocumentStylePoolAccess /*SwDoc*/ *pDoc, SwDoc *pTemplate ); -static Writer& OutCSS1_SwPageDesc( Writer& rWrt, const SwPageDesc& rFormat, +static SwHTMLWriter& OutCSS1_SwPageDesc( SwHTMLWriter& rWrt, const SwPageDesc& rFormat, IDocumentStylePoolAccess /*SwDoc*/ *pDoc, SwDoc *pTemplate, sal_uInt16 nRefPoolId, bool bExtRef, bool bPseudo=true ); -static Writer& OutCSS1_SwFootnoteInfo( Writer& rWrt, const SwEndNoteInfo& rInfo, +static SwHTMLWriter& OutCSS1_SwFootnoteInfo( SwHTMLWriter& rWrt, const SwEndNoteInfo& rInfo, SwDoc *pDoc, bool bHasNotes, bool bEndNote ); static void OutCSS1_SwFormatDropAttrs( SwHTMLWriter& rHWrt, const SwFormatDrop& rDrop, const SfxItemSet *pCharFormatItemSet=nullptr ); -static Writer& OutCSS1_SvxTextLn_SvxCrOut_SvxBlink( Writer& rWrt, +static SwHTMLWriter& OutCSS1_SvxTextLn_SvxCrOut_SvxBlink( SwHTMLWriter& rWrt, const SvxUnderlineItem *pUItem, const SvxOverlineItem *pOItem, const SvxCrossedOutItem *pCOItem, const SvxBlinkItem *pBItem ); -static Writer& OutCSS1_SvxFontWeight( Writer& rWrt, const SfxPoolItem& rHt ); -static Writer& OutCSS1_SvxPosture( Writer& rWrt, const SfxPoolItem& rHt ); -static Writer& OutCSS1_SvxULSpace( Writer& rWrt, const SfxPoolItem& rHt ); -static Writer& OutCSS1_SvxFirstLineIndent(Writer& rWrt, const SfxPoolItem& rHt); -static Writer& OutCSS1_SvxTextLeftMargin(Writer& rWrt, const SfxPoolItem& rHt); -static Writer& OutCSS1_SvxRightMargin(Writer& rWrt, const SfxPoolItem& rHt); -static Writer& OutCSS1_SvxLRSpace( Writer& rWrt, const SfxPoolItem& rHt ); -static Writer& OutCSS1_SvxULSpace_SvxLRSpace( Writer& rWrt, +static SwHTMLWriter& OutCSS1_SvxFontWeight( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ); +static SwHTMLWriter& OutCSS1_SvxPosture( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ); +static SwHTMLWriter& OutCSS1_SvxULSpace( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ); +static SwHTMLWriter& OutCSS1_SvxFirstLineIndent(SwHTMLWriter& rWrt, const SfxPoolItem& rHt); +static SwHTMLWriter& OutCSS1_SvxTextLeftMargin(SwHTMLWriter& rWrt, const SfxPoolItem& rHt); +static SwHTMLWriter& OutCSS1_SvxRightMargin(SwHTMLWriter& rWrt, const SfxPoolItem& rHt); +static SwHTMLWriter& OutCSS1_SvxLRSpace( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ); +static SwHTMLWriter& OutCSS1_SvxULSpace_SvxLRSpace( SwHTMLWriter& rWrt, const SvxULSpaceItem *pULSpace, const SvxLRSpaceItem *pLRSpace ); -static Writer& OutCSS1_SvxULSpace_SvxLRSpace( Writer& rWrt, +static SwHTMLWriter& OutCSS1_SvxULSpace_SvxLRSpace( SwHTMLWriter& rWrt, const SfxItemSet& rItemSet ); -static Writer& OutCSS1_SvxBrush( Writer& rWrt, const SfxPoolItem& rHt, +static SwHTMLWriter& OutCSS1_SvxBrush( SwHTMLWriter& rWrt, const SfxPoolItem& rHt, sw::Css1Background nMode, const OUString *pGraphicName ); -static Writer& OutCSS1_SvxBrush( Writer& rWrt, const SfxPoolItem& rHt ); -static Writer& OutCSS1_SwFormatFrameSize( Writer& rWrt, const SfxPoolItem& rHt, +static SwHTMLWriter& OutCSS1_SvxBrush( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ); +static SwHTMLWriter& OutCSS1_SwFormatFrameSize( SwHTMLWriter& rWrt, const SfxPoolItem& rHt, Css1FrameSize nMode ); -static Writer& OutCSS1_SvxFormatBreak_SwFormatPDesc_SvxFormatKeep( Writer& rWrt, +static SwHTMLWriter& OutCSS1_SvxFormatBreak_SwFormatPDesc_SvxFormatKeep( SwHTMLWriter& rWrt, const SfxItemSet& rItemSet, bool bDeep ); -static Writer& OutCSS1_SwFormatLayoutSplit( Writer& rWrt, const SfxPoolItem& rHt ); +static SwHTMLWriter& OutCSS1_SwFormatLayoutSplit( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ); namespace { @@ -1232,7 +1232,7 @@ bool SwHTMLWriter::HasScriptDependentItems( const SfxItemSet& rItemSet, return false; } -static bool OutCSS1Rule( SwHTMLWriter& rHTMLWrt, const OUString& rSelector, +static bool OutCSS1Rule( SwHTMLWriter& rWrt, const OUString& rSelector, const SfxItemSet& rItemSet, bool bHasClass, bool bCheckForPseudo ) { @@ -1259,9 +1259,9 @@ static bool OutCSS1Rule( SwHTMLWriter& rHTMLWrt, const OUString& rSelector, // rule for all properties that aren't style dependent and // some class rule for the additional style dependen properties { - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_NO_SCRIPT|CSS1_OUTMODE_RULE|CSS1_OUTMODE_TEMPLATE, + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_NO_SCRIPT|CSS1_OUTMODE_RULE|CSS1_OUTMODE_TEMPLATE, &rSelector ); - rHTMLWrt.OutCSS1_SfxItemSet( rItemSet, false ); + rWrt.OutCSS1_SfxItemSet( rItemSet, false ); } //sequence of (start, end) property ranges we want to @@ -1275,23 +1275,23 @@ static bool OutCSS1Rule( SwHTMLWriter& rHTMLWrt, const OUString& rSelector, OUString aNewSelector = OUString::Concat(aSelector) + ".western" + aPseudo; { - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_WESTERN|CSS1_OUTMODE_RULE|CSS1_OUTMODE_TEMPLATE, + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_WESTERN|CSS1_OUTMODE_RULE|CSS1_OUTMODE_TEMPLATE, &aNewSelector ); - rHTMLWrt.OutCSS1_SfxItemSet( aScriptItemSet, false ); + rWrt.OutCSS1_SfxItemSet( aScriptItemSet, false ); } aNewSelector = OUString::Concat(aSelector) + ".cjk" + aPseudo; { - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_CJK|CSS1_OUTMODE_RULE|CSS1_OUTMODE_TEMPLATE, + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_CJK|CSS1_OUTMODE_RULE|CSS1_OUTMODE_TEMPLATE, &aNewSelector ); - rHTMLWrt.OutCSS1_SfxItemSet( aScriptItemSet, false ); + rWrt.OutCSS1_SfxItemSet( aScriptItemSet, false ); } aNewSelector = OUString::Concat(aSelector) + ".ctl" + aPseudo; { - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_CTL|CSS1_OUTMODE_RULE|CSS1_OUTMODE_TEMPLATE, + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_CTL|CSS1_OUTMODE_RULE|CSS1_OUTMODE_TEMPLATE, &aNewSelector ); - rHTMLWrt.OutCSS1_SfxItemSet( aScriptItemSet, false ); + rWrt.OutCSS1_SfxItemSet( aScriptItemSet, false ); } } else @@ -1301,23 +1301,23 @@ static bool OutCSS1Rule( SwHTMLWriter& rHTMLWrt, const OUString& rSelector, // scripts OUString aNewSelector = OUString::Concat(aSelector) + "-western" + aPseudo; { - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_WESTERN|CSS1_OUTMODE_RULE|CSS1_OUTMODE_TEMPLATE, + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_WESTERN|CSS1_OUTMODE_RULE|CSS1_OUTMODE_TEMPLATE, &aNewSelector ); - rHTMLWrt.OutCSS1_SfxItemSet( rItemSet, false ); + rWrt.OutCSS1_SfxItemSet( rItemSet, false ); } aNewSelector = OUString::Concat(aSelector) + "-cjk" + aPseudo; { - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_CJK|CSS1_OUTMODE_RULE|CSS1_OUTMODE_TEMPLATE, + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_CJK|CSS1_OUTMODE_RULE|CSS1_OUTMODE_TEMPLATE, &aNewSelector ); - rHTMLWrt.OutCSS1_SfxItemSet( rItemSet, false ); + rWrt.OutCSS1_SfxItemSet( rItemSet, false ); } aNewSelector = OUString::Concat(aSelector) + "-ctl" + aPseudo; { - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_CTL|CSS1_OUTMODE_RULE|CSS1_OUTMODE_TEMPLATE, + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_CTL|CSS1_OUTMODE_RULE|CSS1_OUTMODE_TEMPLATE, &aNewSelector ); - rHTMLWrt.OutCSS1_SfxItemSet( rItemSet, false ); + rWrt.OutCSS1_SfxItemSet( rItemSet, false ); } } } @@ -1327,17 +1327,17 @@ static bool OutCSS1Rule( SwHTMLWriter& rHTMLWrt, const OUString& rSelector, // exported in one step. For hyperlinks only, a script information // must be there, because these two chr formats don't support // script dependencies by now. - SwCSS1OutMode aMode( rHTMLWrt, - rHTMLWrt.m_nCSS1Script|CSS1_OUTMODE_RULE|CSS1_OUTMODE_TEMPLATE, + SwCSS1OutMode aMode( rWrt, + rWrt.m_nCSS1Script|CSS1_OUTMODE_RULE|CSS1_OUTMODE_TEMPLATE, &rSelector ); - rHTMLWrt.OutCSS1_SfxItemSet( rItemSet, false ); + rWrt.OutCSS1_SfxItemSet( rItemSet, false ); } return bScriptDependent; } static void OutCSS1DropCapRule( - SwHTMLWriter& rHTMLWrt, const OUString& rSelector, + SwHTMLWriter& rWrt, const OUString& rSelector, const SwFormatDrop& rDrop, bool bHasClass, bool bHasScriptDependencies ) { @@ -1361,38 +1361,38 @@ static void OutCSS1DropCapRule( // rule for all properties that aren't style dependent and // some class rule for the additional style dependen properties { - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_NO_SCRIPT|CSS1_OUTMODE_RULE|CSS1_OUTMODE_DROPCAP, + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_NO_SCRIPT|CSS1_OUTMODE_RULE|CSS1_OUTMODE_DROPCAP, &rSelector ); - OutCSS1_SwFormatDropAttrs( rHTMLWrt, rDrop ); + OutCSS1_SwFormatDropAttrs( rWrt, rDrop ); } SfxItemSetFixed<RES_CHRATR_FONT, RES_CHRATR_FONTSIZE, RES_CHRATR_LANGUAGE, RES_CHRATR_POSTURE, RES_CHRATR_WEIGHT, RES_CHRATR_WEIGHT, RES_CHRATR_CJK_FONT, RES_CHRATR_CTL_WEIGHT> - aScriptItemSet( rHTMLWrt.m_pDoc->GetAttrPool() ); + aScriptItemSet( rWrt.m_pDoc->GetAttrPool() ); if( pDCCharFormat ) aScriptItemSet.Set( pDCCharFormat->GetAttrSet() ); OUString aNewSelector = OUString::Concat(aSelector) + ".western" + aPseudo; { - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_WESTERN|CSS1_OUTMODE_RULE|CSS1_OUTMODE_DROPCAP, + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_WESTERN|CSS1_OUTMODE_RULE|CSS1_OUTMODE_DROPCAP, &aNewSelector ); - OutCSS1_SwFormatDropAttrs( rHTMLWrt, rDrop, &aScriptItemSet ); + OutCSS1_SwFormatDropAttrs( rWrt, rDrop, &aScriptItemSet ); } aNewSelector = OUString::Concat(aSelector) + ".cjk" + aPseudo; { - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_CJK|CSS1_OUTMODE_RULE|CSS1_OUTMODE_DROPCAP, + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_CJK|CSS1_OUTMODE_RULE|CSS1_OUTMODE_DROPCAP, &aNewSelector ); - OutCSS1_SwFormatDropAttrs( rHTMLWrt, rDrop, &aScriptItemSet ); + OutCSS1_SwFormatDropAttrs( rWrt, rDrop, &aScriptItemSet ); } aNewSelector = OUString::Concat(aSelector) + ".ctl" + aPseudo; { - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_CTL|CSS1_OUTMODE_RULE|CSS1_OUTMODE_DROPCAP, + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_CTL|CSS1_OUTMODE_RULE|CSS1_OUTMODE_DROPCAP, &aNewSelector ); - OutCSS1_SwFormatDropAttrs( rHTMLWrt, rDrop, &aScriptItemSet ); + OutCSS1_SwFormatDropAttrs( rWrt, rDrop, &aScriptItemSet ); } } else @@ -1402,23 +1402,23 @@ static void OutCSS1DropCapRule( // scripts OUString aNewSelector = OUString::Concat(aSelector) + "-western" + aPseudo; { - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_WESTERN|CSS1_OUTMODE_RULE|CSS1_OUTMODE_DROPCAP, + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_WESTERN|CSS1_OUTMODE_RULE|CSS1_OUTMODE_DROPCAP, &aNewSelector ); - OutCSS1_SwFormatDropAttrs( rHTMLWrt, rDrop ); + OutCSS1_SwFormatDropAttrs( rWrt, rDrop ); } aNewSelector = OUString::Concat(aSelector) + "-cjk" + aPseudo; { - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_CJK|CSS1_OUTMODE_RULE|CSS1_OUTMODE_DROPCAP, + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_CJK|CSS1_OUTMODE_RULE|CSS1_OUTMODE_DROPCAP, &aNewSelector ); - OutCSS1_SwFormatDropAttrs( rHTMLWrt, rDrop ); + OutCSS1_SwFormatDropAttrs( rWrt, rDrop ); } aNewSelector = OUString::Concat(aSelector) + "-ctl" + aPseudo; { - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_CTL|CSS1_OUTMODE_RULE|CSS1_OUTMODE_DROPCAP, + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_CTL|CSS1_OUTMODE_RULE|CSS1_OUTMODE_DROPCAP, &aNewSelector ); - OutCSS1_SwFormatDropAttrs( rHTMLWrt, rDrop ); + OutCSS1_SwFormatDropAttrs( rWrt, rDrop ); } } } @@ -1428,18 +1428,16 @@ static void OutCSS1DropCapRule( // exported in one step. For hyperlinks only, a script information // must be there, because these two chr formats don't support // script dependencies by now. - SwCSS1OutMode aMode( rHTMLWrt, - rHTMLWrt.m_nCSS1Script|CSS1_OUTMODE_RULE|CSS1_OUTMODE_DROPCAP, + SwCSS1OutMode aMode( rWrt, + rWrt.m_nCSS1Script|CSS1_OUTMODE_RULE|CSS1_OUTMODE_DROPCAP, &rSelector ); - OutCSS1_SwFormatDropAttrs( rHTMLWrt, rDrop ); + OutCSS1_SwFormatDropAttrs( rWrt, rDrop ); } } -static Writer& OutCSS1_SwFormat( Writer& rWrt, const SwFormat& rFormat, +static SwHTMLWriter& OutCSS1_SwFormat( SwHTMLWriter& rWrt, const SwFormat& rFormat, IDocumentStylePoolAccess/*SwDoc*/ *pDoc, SwDoc *pTemplate ) { - SwHTMLWriter & rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - bool bCharFormat = false; switch( rFormat.Which() ) { @@ -1518,29 +1516,29 @@ static Writer& OutCSS1_SwFormat( Writer& rWrt, const SwFormat& rFormat, if( !bCharFormat ) { const SvxULSpaceItem& rULItem = pRefFormat->GetULSpace(); - rHTMLWrt.m_nDfltTopMargin = rULItem.GetUpper(); - rHTMLWrt.m_nDfltBottomMargin = rULItem.GetLower(); + rWrt.m_nDfltTopMargin = rULItem.GetUpper(); + rWrt.m_nDfltBottomMargin = rULItem.GetLower(); } } else if( CSS1_FMT_ISTAG==nDeep && !bCharFormat ) { // set Default-distance above and below (for the // case that there is no reference template) - rHTMLWrt.m_nDfltTopMargin = 0; - rHTMLWrt.m_nDfltBottomMargin = HTML_PARSPACE; + rWrt.m_nDfltTopMargin = 0; + rWrt.m_nDfltBottomMargin = HTML_PARSPACE; if( USER_FMT & nPoolFormatId ) { // user templates const OUString& aNm(rFormat.GetName()); if (aNm == "DD 1" || aNm == "DT 1") - rHTMLWrt.m_nDfltBottomMargin = 0; + rWrt.m_nDfltBottomMargin = 0; else if (aNm == OOO_STRING_SVTOOLS_HTML_listing) - rHTMLWrt.m_nDfltBottomMargin = 0; + rWrt.m_nDfltBottomMargin = 0; else if (aNm == OOO_STRING_SVTOOLS_HTML_preformtxt) - rHTMLWrt.m_nDfltBottomMargin = 0; + rWrt.m_nDfltBottomMargin = 0; else if (aNm == OOO_STRING_SVTOOLS_HTML_xmp) - rHTMLWrt.m_nDfltBottomMargin = 0; + rWrt.m_nDfltBottomMargin = 0; } else { @@ -1553,13 +1551,13 @@ static Writer& OutCSS1_SwFormat( Writer& rWrt, const SwFormat& rFormat, case RES_POOLCOLL_HEADLINE4: case RES_POOLCOLL_HEADLINE5: case RES_POOLCOLL_HEADLINE6: - rHTMLWrt.m_nDfltTopMargin = HTML_HEADSPACE; + rWrt.m_nDfltTopMargin = HTML_HEADSPACE; break; case RES_POOLCOLL_SEND_ADDRESS: case RES_POOLCOLL_HTML_DT: case RES_POOLCOLL_HTML_DD: case RES_POOLCOLL_HTML_PRE: - rHTMLWrt.m_nDfltBottomMargin = 0; + rWrt.m_nDfltBottomMargin = 0; break; } } @@ -1578,16 +1576,16 @@ static Writer& OutCSS1_SwFormat( Writer& rWrt, const SwFormat& rFormat, // export now the Attributes (incl. selector) bool bHasScriptDependencies = false; - if( OutCSS1Rule( rHTMLWrt, aSelector, aItemSet, CSS1_FMT_ISTAG != nDeep, + if( OutCSS1Rule( rWrt, aSelector, aItemSet, CSS1_FMT_ISTAG != nDeep, bCheckForPseudo ) ) { if( bCharFormat ) - rHTMLWrt.m_aScriptTextStyles.insert( rFormat.GetName() ); + rWrt.m_aScriptTextStyles.insert( rFormat.GetName() ); else { if( nPoolFormatId==RES_POOLCOLL_TEXT ) - rHTMLWrt.m_aScriptParaStyles.insert( pDoc->GetTextCollFromPool( RES_POOLCOLL_STANDARD, false )->GetName() ); - rHTMLWrt.m_aScriptParaStyles.insert( rFormat.GetName() ); + rWrt.m_aScriptParaStyles.insert( pDoc->GetTextCollFromPool( RES_POOLCOLL_STANDARD, false )->GetName() ); + rWrt.m_aScriptParaStyles.insert( rFormat.GetName() ); } bHasScriptDependencies = true; } @@ -1597,19 +1595,17 @@ static Writer& OutCSS1_SwFormat( Writer& rWrt, const SwFormat& rFormat, { OUString sOut = aSelector + ":" + OStringToOUString( sCSS1_first_letter, RTL_TEXTENCODING_ASCII_US ); - OutCSS1DropCapRule( rHTMLWrt, sOut, *pDrop, CSS1_FMT_ISTAG != nDeep, bHasScriptDependencies ); + OutCSS1DropCapRule( rWrt, sOut, *pDrop, CSS1_FMT_ISTAG != nDeep, bHasScriptDependencies ); } return rWrt; } -static Writer& OutCSS1_SwPageDesc( Writer& rWrt, const SwPageDesc& rPageDesc, +static SwHTMLWriter& OutCSS1_SwPageDesc( SwHTMLWriter& rWrt, const SwPageDesc& rPageDesc, IDocumentStylePoolAccess/*SwDoc*/ *pDoc, SwDoc *pTemplate, sal_uInt16 nRefPoolId, bool bExtRef, bool bPseudo ) { - SwHTMLWriter & rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - const SwPageDesc* pRefPageDesc = nullptr; if( !bExtRef ) pRefPageDesc = pDoc->GetPageDescFromPool( nRefPoolId, false ); @@ -1631,7 +1627,7 @@ static Writer& OutCSS1_SwPageDesc( Writer& rWrt, const SwPageDesc& rPageDesc, aSelector += ":" + OStringToOUString( pPseudo, RTL_TEXTENCODING_ASCII_US ); } - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_RULE_ON|CSS1_OUTMODE_TEMPLATE, + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_RULE_ON|CSS1_OUTMODE_TEMPLATE, &aSelector ); // Size: If the only difference is the Landscape-Flag, @@ -1661,7 +1657,7 @@ static Writer& OutCSS1_SwPageDesc( Writer& rWrt, const SwPageDesc& rPageDesc, { if( bRefLandscape != rPageDesc.GetLandscape() ) { - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_size, + rWrt.OutCSS1_PropertyAscii( sCSS1_P_size, rPageDesc.GetLandscape() ? sCSS1_PV_landscape : sCSS1_PV_portrait ); } @@ -1669,10 +1665,10 @@ static Writer& OutCSS1_SwPageDesc( Writer& rWrt, const SwPageDesc& rPageDesc, else { OStringBuffer sVal; - AddUnitPropertyValue(sVal, rSz.Width(), rHTMLWrt.GetCSS1Unit()); + AddUnitPropertyValue(sVal, rSz.Width(), rWrt.GetCSS1Unit()); sVal.append(' '); - AddUnitPropertyValue(sVal, rSz.Height(), rHTMLWrt.GetCSS1Unit()); - rHTMLWrt.OutCSS1_PropertyAscii(sCSS1_P_size, sVal); + AddUnitPropertyValue(sVal, rSz.Height(), rWrt.GetCSS1Unit()); + rWrt.OutCSS1_PropertyAscii(sCSS1_P_size, sVal); } // Export the distance-Attributes as normally @@ -1692,25 +1688,23 @@ static Writer& OutCSS1_SwPageDesc( Writer& rWrt, const SwPageDesc& rPageDesc, // If for a Pseudo-Selector no Property had been set, we still // have to export something, so that the corresponding template is // created on the next import. - if( rHTMLWrt.m_bFirstCSS1Property && bPseudo ) + if( rWrt.m_bFirstCSS1Property && bPseudo ) { - rHTMLWrt.OutNewLine(); + rWrt.OutNewLine(); OString sTmp(OUStringToOString(aSelector, RTL_TEXTENCODING_UTF8)); rWrt.Strm().WriteOString( sTmp ).WriteCharPtr( " {" ); - rHTMLWrt.m_bFirstCSS1Property = false; + rWrt.m_bFirstCSS1Property = false; } - if( !rHTMLWrt.m_bFirstCSS1Property ) + if( !rWrt.m_bFirstCSS1Property ) rWrt.Strm().WriteCharPtr( sCSS1_rule_end ); return rWrt; } -static Writer& OutCSS1_SwFootnoteInfo( Writer& rWrt, const SwEndNoteInfo& rInfo, +static SwHTMLWriter& OutCSS1_SwFootnoteInfo( SwHTMLWriter& rWrt, const SwEndNoteInfo& rInfo, SwDoc *pDoc, bool bHasNotes, bool bEndNote ) { - SwHTMLWriter & rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - OUString aSelector; if( bHasNotes ) @@ -1718,11 +1712,11 @@ static Writer& OutCSS1_SwFootnoteInfo( Writer& rWrt, const SwEndNoteInfo& rInfo, aSelector = OUString::Concat(OOO_STRING_SVTOOLS_HTML_anchor ".") + ( bEndNote ? std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_sdendnote_anc) : std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_sdfootnote_anc) ); - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_RULE|CSS1_OUTMODE_TEMPLATE, + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_RULE|CSS1_OUTMODE_TEMPLATE, &aSelector ); - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_font_size, + rWrt.OutCSS1_PropertyAscii( sCSS1_P_font_size, sHTML_FTN_fontheight ); - rHTMLWrt.Strm().WriteCharPtr( sCSS1_rule_end ); + rWrt.Strm().WriteCharPtr( sCSS1_rule_end ); } const SwCharFormat *pSymCharFormat = rInfo.GetCharFormat( *pDoc ); @@ -1736,9 +1730,9 @@ static Writer& OutCSS1_SwFootnoteInfo( Writer& rWrt, const SwEndNoteInfo& rInfo, // exported, so that Netscape displays the document correctly. // Otherwise it is sufficient, to export the differences to the // footnote and endnote template. - if( !bHasNotes && rHTMLWrt.m_xTemplate.is() ) + if( !bHasNotes && rWrt.m_xTemplate.is() ) { - SwFormat *pRefFormat = rHTMLWrt.m_xTemplate->getIDocumentStylePoolAccess().GetCharFormatFromPool( + SwFormat *pRefFormat = rWrt.m_xTemplate->getIDocumentStylePoolAccess().GetCharFormatFromPool( static_cast< sal_uInt16 >(bEndNote ? RES_POOLCHR_ENDNOTE : RES_POOLCHR_FOOTNOTE) ); if( pRefFormat ) SwHTMLWriter::SubtractItemSet( aItemSet, pRefFormat->GetAttrSet(), @@ -1750,19 +1744,17 @@ static Writer& OutCSS1_SwFootnoteInfo( Writer& rWrt, const SwEndNoteInfo& rInfo, ( bEndNote ? std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_sdendnote_sym) : std::u16string_view( u"" OOO_STRING_SVTOOLS_HTML_sdfootnote_sym)); - if( OutCSS1Rule( rHTMLWrt, aSelector, aItemSet, true, false )) - rHTMLWrt.m_aScriptTextStyles.insert( pSymCharFormat->GetName() ); + if( OutCSS1Rule( rWrt, aSelector, aItemSet, true, false )) + rWrt.m_aScriptTextStyles.insert( pSymCharFormat->GetName() ); } } return rWrt; } -Writer& OutCSS1_BodyTagStyleOpt( Writer& rWrt, const SfxItemSet& rItemSet ) +SwHTMLWriter& OutCSS1_BodyTagStyleOpt( SwHTMLWriter& rWrt, const SfxItemSet& rItemSet ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_STYLE_OPT_ON | + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_STYLE_OPT_ON | CSS1_OUTMODE_ENCODE|CSS1_OUTMODE_BODY, nullptr ); // Only export the attributes of the page template. @@ -1783,7 +1775,7 @@ Writer& OutCSS1_BodyTagStyleOpt( Writer& rWrt, const SfxItemSet& rItemSet ) OutCSS1_SvxBox( rWrt, *pItem ); } - if( !rHTMLWrt.m_bFirstCSS1Property ) + if( !rWrt.m_bFirstCSS1Property ) { // if a Property was exported as part of a Style-Option, // the Option still needs to be finished @@ -1793,38 +1785,32 @@ Writer& OutCSS1_BodyTagStyleOpt( Writer& rWrt, const SfxItemSet& rItemSet ) return rWrt; } -Writer& OutCSS1_ParaTagStyleOpt( Writer& rWrt, const SfxItemSet& rItemSet ) +SwHTMLWriter& OutCSS1_ParaTagStyleOpt( SwHTMLWriter& rWrt, const SfxItemSet& rItemSet ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - - SwCSS1OutMode aMode( rHTMLWrt, rHTMLWrt.m_nCSS1Script|CSS1_OUTMODE_STYLE_OPT | + SwCSS1OutMode aMode( rWrt, rWrt.m_nCSS1Script|CSS1_OUTMODE_STYLE_OPT | CSS1_OUTMODE_ENCODE|CSS1_OUTMODE_PARA, nullptr ); - rHTMLWrt.OutCSS1_SfxItemSet( rItemSet, false ); + rWrt.OutCSS1_SfxItemSet( rItemSet, false ); return rWrt; } -Writer& OutCSS1_TableBGStyleOpt( Writer& rWrt, const SfxPoolItem& rHt ) +SwHTMLWriter& OutCSS1_TableBGStyleOpt( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_STYLE_OPT_ON | + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_STYLE_OPT_ON | CSS1_OUTMODE_ENCODE| CSS1_OUTMODE_TABLEBOX, nullptr ); OutCSS1_SvxBrush( rWrt, rHt, sw::Css1Background::TableRow, nullptr ); - if (!rHTMLWrt.m_bFirstCSS1Property) + if (!rWrt.m_bFirstCSS1Property) rWrt.Strm().WriteChar(cCSS1_style_opt_end); return rWrt; } -Writer& OutCSS1_NumberBulletListStyleOpt( Writer& rWrt, const SwNumRule& rNumRule, +SwHTMLWriter& OutCSS1_NumberBulletListStyleOpt( SwHTMLWriter& rWrt, const SwNumRule& rNumRule, sal_uInt8 nLevel ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_STYLE_OPT | + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_STYLE_OPT | CSS1_OUTMODE_ENCODE|CSS1_OUTMODE_PARA, nullptr ); const SwNumFormat& rNumFormat = rNumRule.Get( nLevel ); @@ -1839,15 +1825,15 @@ Writer& OutCSS1_NumberBulletListStyleOpt( Writer& rWrt, const SwNumRule& rNumRul nDfltFirstLineOffset = rPrevNumFormat.GetFirstLineOffset(); } - if( rHTMLWrt.IsHTMLMode(HTMLMODE_LSPACE_IN_NUMBER_BULLET) && + if( rWrt.IsHTMLMode(HTMLMODE_LSPACE_IN_NUMBER_BULLET) && nLSpace != HTML_NUMBER_BULLET_MARGINLEFT ) - rHTMLWrt.OutCSS1_UnitProperty( sCSS1_P_margin_left, nLSpace ); + rWrt.OutCSS1_UnitProperty( sCSS1_P_margin_left, nLSpace ); - if( rHTMLWrt.IsHTMLMode(HTMLMODE_FRSTLINE_IN_NUMBER_BULLET) && + if( rWrt.IsHTMLMode(HTMLMODE_FRSTLINE_IN_NUMBER_BULLET) && nFirstLineOffset != nDfltFirstLineOffset ) - rHTMLWrt.OutCSS1_UnitProperty( sCSS1_P_text_indent, nFirstLineOffset ); + rWrt.OutCSS1_UnitProperty( sCSS1_P_text_indent, nFirstLineOffset ); - if( !rHTMLWrt.m_bFirstCSS1Property ) + if( !rWrt.m_bFirstCSS1Property ) rWrt.Strm().WriteChar( '\"' ); return rWrt; @@ -2226,13 +2212,12 @@ void SwHTMLWriter::OutCSS1_FrameFormatBackground( const SwFrameFormat& rFrameFor OutCSS1_PropertyAscii(sCSS1_P_background, GetCSS1_Color(aColor)); } -static Writer& OutCSS1_SvxTextLn_SvxCrOut_SvxBlink( Writer& rWrt, +static SwHTMLWriter& OutCSS1_SvxTextLn_SvxCrOut_SvxBlink( SwHTMLWriter& rWrt, const SvxUnderlineItem *pUItem, const SvxOverlineItem *pOItem, const SvxCrossedOutItem *pCOItem, const SvxBlinkItem *pBItem ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); bool bNone = false; const char *pUStr = nullptr; @@ -2246,11 +2231,11 @@ static Writer& OutCSS1_SvxTextLn_SvxCrOut_SvxBlink( Writer& rWrt, case LINESTYLE_DONTKNOW: break; default: - if( !rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) + if( !rWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) { // this also works in HTML does not need to be written as // a STYLE-Options, and must not be written as Hint - OSL_ENSURE( !rHTMLWrt.IsCSS1Source(CSS1_OUTMODE_HINT) || rHTMLWrt.mbReqIF, + OSL_ENSURE( !rWrt.IsCSS1Source(CSS1_OUTMODE_HINT) || rWrt.mbReqIF, "write underline as Hint?" ); pUStr = sCSS1_PV_underline; } @@ -2269,11 +2254,11 @@ static Writer& OutCSS1_SvxTextLn_SvxCrOut_SvxBlink( Writer& rWrt, case LINESTYLE_DONTKNOW: break; default: - if( !rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) + if( !rWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) { // this also works in HTML does not need to be written as // a STYLE-Options, and must not be written as Hint - OSL_ENSURE( !rHTMLWrt.IsCSS1Source(CSS1_OUTMODE_HINT), + OSL_ENSURE( !rWrt.IsCSS1Source(CSS1_OUTMODE_HINT), "write overline as Hint?" ); pOStr = sCSS1_PV_overline; } @@ -2292,11 +2277,11 @@ static Writer& OutCSS1_SvxTextLn_SvxCrOut_SvxBlink( Writer& rWrt, case STRIKEOUT_DONTKNOW: break; default: - if( !rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) + if( !rWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) { // this also works in HTML does not need to be written as // a STYLE-Options, and must not be written as Hint - OSL_ENSURE( !rHTMLWrt.IsCSS1Source(CSS1_OUTMODE_HINT) || rHTMLWrt.mbReqIF, + OSL_ENSURE( !rWrt.IsCSS1Source(CSS1_OUTMODE_HINT) || rWrt.mbReqIF, "write crossedOut as Hint?" ); pCOStr = sCSS1_PV_line_through; } @@ -2311,11 +2296,11 @@ static Writer& OutCSS1_SvxTextLn_SvxCrOut_SvxBlink( Writer& rWrt, { bNone = true; } - else if( !rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) + else if( !rWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) { // this also works in HTML does not need to be written as // a STYLE-Options, and must not be written as Hint - OSL_ENSURE( !rHTMLWrt.IsCSS1Source(CSS1_OUTMODE_HINT), + OSL_ENSURE( !rWrt.IsCSS1Source(CSS1_OUTMODE_HINT), "write blink as Hint?" ); pBStr = sCSS1_PV_blink; } @@ -2347,33 +2332,31 @@ static Writer& OutCSS1_SvxTextLn_SvxCrOut_SvxBlink( Writer& rWrt, } if (!sOut.isEmpty()) - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_text_decoration, sOut ); + rWrt.OutCSS1_PropertyAscii( sCSS1_P_text_decoration, sOut ); else if( bNone ) - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_text_decoration, sCSS1_PV_none ); + rWrt.OutCSS1_PropertyAscii( sCSS1_P_text_decoration, sCSS1_PV_none ); return rWrt; } -static Writer& OutCSS1_SvxCaseMap( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxCaseMap( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - switch( static_cast<const SvxCaseMapItem&>(rHt).GetCaseMap() ) { case SvxCaseMap::NotMapped: - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_font_variant, sCSS1_PV_normal ); + rWrt.OutCSS1_PropertyAscii( sCSS1_P_font_variant, sCSS1_PV_normal ); break; case SvxCaseMap::SmallCaps: - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_font_variant, sCSS1_PV_small_caps ); + rWrt.OutCSS1_PropertyAscii( sCSS1_P_font_variant, sCSS1_PV_small_caps ); break; case SvxCaseMap::Uppercase: - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_text_transform, sCSS1_PV_uppercase ); + rWrt.OutCSS1_PropertyAscii( sCSS1_P_text_transform, sCSS1_PV_uppercase ); break; case SvxCaseMap::Lowercase: - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_text_transform, sCSS1_PV_lowercase ); + rWrt.OutCSS1_PropertyAscii( sCSS1_P_text_transform, sCSS1_PV_lowercase ); break; case SvxCaseMap::Capitalize: - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_text_transform, sCSS1_PV_capitalize ); + rWrt.OutCSS1_PropertyAscii( sCSS1_P_text_transform, sCSS1_PV_capitalize ); break; default: ; @@ -2382,44 +2365,40 @@ static Writer& OutCSS1_SvxCaseMap( Writer& rWrt, const SfxPoolItem& rHt ) return rWrt; } -static Writer& OutCSS1_SvxColor( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxColor( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - // Colors do not need to be exported for Style-Option. - if( rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) && - !rHTMLWrt.m_bCfgPreferStyles ) + if( rWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) && + !rWrt.m_bCfgPreferStyles ) return rWrt; - OSL_ENSURE( !rHTMLWrt.IsCSS1Source(CSS1_OUTMODE_HINT), + OSL_ENSURE( !rWrt.IsCSS1Source(CSS1_OUTMODE_HINT), "write color as Hint?" ); Color aColor( static_cast<const SvxColorItem&>(rHt).GetValue() ); if( COL_AUTO == aColor ) aColor = COL_BLACK; - rHTMLWrt.OutCSS1_PropertyAscii(sCSS1_P_color, GetCSS1_Color(aColor)); + rWrt.OutCSS1_PropertyAscii(sCSS1_P_color, GetCSS1_Color(aColor)); return rWrt; } -static Writer& OutCSS1_SvxCrossedOut( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxCrossedOut( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { // This function only exports Hints! // Otherwise OutCSS1_SvxTextLn_SvxCrOut_SvxBlink() is called directly. - if( static_cast<SwHTMLWriter&>(rWrt).IsCSS1Source(CSS1_OUTMODE_HINT) ) + if( rWrt.IsCSS1Source(CSS1_OUTMODE_HINT) ) OutCSS1_SvxTextLn_SvxCrOut_SvxBlink( rWrt, nullptr, nullptr, static_cast<const SvxCrossedOutItem *>(&rHt), nullptr ); return rWrt; } -static Writer& OutCSS1_SvxFont( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxFont( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - // No need to export Fonts for the Style-Option. - if( rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) + if( rWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) return rWrt; sal_uInt16 nScript = CSS1_OUTMODE_WESTERN; @@ -2428,32 +2407,30 @@ static Writer& OutCSS1_SvxFont( Writer& rWrt, const SfxPoolItem& rHt ) case RES_CHRATR_CJK_FONT: nScript = CSS1_OUTMODE_CJK; break; case RES_CHRATR_CTL_FONT: nScript = CSS1_OUTMODE_CTL; break; } - if( !rHTMLWrt.IsCSS1Script( nScript ) ) + if( !rWrt.IsCSS1Script( nScript ) ) return rWrt; - OSL_ENSURE( !rHTMLWrt.IsCSS1Source(CSS1_OUTMODE_HINT), + OSL_ENSURE( !rWrt.IsCSS1Source(CSS1_OUTMODE_HINT), "write Font as Hint?" ); OUString sOut; // MS IE3b1 has problems with single quotes - sal_uInt16 nMode = rHTMLWrt.m_nCSS1OutMode & CSS1_OUTMODE_ANY_ON; + sal_uInt16 nMode = rWrt.m_nCSS1OutMode & CSS1_OUTMODE_ANY_ON; sal_Unicode cQuote = nMode == CSS1_OUTMODE_RULE_ON ? '\"' : '\''; SwHTMLWriter::PrepareFontList( static_cast<const SvxFontItem&>(rHt), sOut, cQuote, true ); - rHTMLWrt.OutCSS1_Property( sCSS1_P_font_family, sOut ); + rWrt.OutCSS1_Property( sCSS1_P_font_family, sOut ); return rWrt; } -static Writer& OutCSS1_SvxFontHeight( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxFontHeight( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - // Font-Height need not be exported in the Style-Option. // For Drop-Caps another Font-Size is exported. - if( rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) || - rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_DROPCAP ) ) + if( rWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) || + rWrt.IsCSS1Source( CSS1_OUTMODE_DROPCAP ) ) return rWrt; sal_uInt16 nScript = CSS1_OUTMODE_WESTERN; @@ -2462,27 +2439,25 @@ static Writer& OutCSS1_SvxFontHeight( Writer& rWrt, const SfxPoolItem& rHt ) case RES_CHRATR_CJK_FONTSIZE: nScript = CSS1_OUTMODE_CJK; break; case RES_CHRATR_CTL_FONTSIZE: nScript = CSS1_OUTMODE_CTL; break; } - if( !rHTMLWrt.IsCSS1Script( nScript ) ) + if( !rWrt.IsCSS1Script( nScript ) ) return rWrt; sal_uInt32 nHeight = static_cast<const SvxFontHeightItem&>(rHt).GetHeight(); OString sHeight(OString::number(nHeight/20) + sCSS1_UNIT_pt); - rHTMLWrt.OutCSS1_PropertyAscii(sCSS1_P_font_size, sHeight); + rWrt.OutCSS1_PropertyAscii(sCSS1_P_font_size, sHeight); return rWrt; } -static Writer& OutCSS1_SvxPosture( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxPosture( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - sal_uInt16 nScript = CSS1_OUTMODE_WESTERN; switch( rHt.Which() ) { case RES_CHRATR_CJK_POSTURE: nScript = CSS1_OUTMODE_CJK; break; case RES_CHRATR_CTL_POSTURE: nScript = CSS1_OUTMODE_CTL; break; } - if( !rHTMLWrt.IsCSS1Script( nScript ) ) + if( !rWrt.IsCSS1Script( nScript ) ) return rWrt; const char *pStr = nullptr; @@ -2491,11 +2466,11 @@ static Writer& OutCSS1_SvxPosture( Writer& rWrt, const SfxPoolItem& rHt ) case ITALIC_NONE: pStr = sCSS1_PV_normal; break; case ITALIC_OBLIQUE: pStr = sCSS1_PV_oblique; break; case ITALIC_NORMAL: - if( !rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) + if( !rWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) { // this also works in HTML does not need to be written as // a STYLE-Options, and must not be written as Hint - OSL_ENSURE( !rHTMLWrt.IsCSS1Source(CSS1_OUTMODE_HINT), + OSL_ENSURE( !rWrt.IsCSS1Source(CSS1_OUTMODE_HINT), "write italic as Hint?" ); pStr = sCSS1_PV_italic; } @@ -2505,15 +2480,13 @@ static Writer& OutCSS1_SvxPosture( Writer& rWrt, const SfxPoolItem& rHt ) } if( pStr ) - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_font_style, pStr ); + rWrt.OutCSS1_PropertyAscii( sCSS1_P_font_style, pStr ); return rWrt; } -static Writer& OutCSS1_SvxKerning( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxKerning( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - sal_Int16 nValue = static_cast<const SvxKerningItem&>(rHt).GetValue(); if( nValue ) { @@ -2529,24 +2502,22 @@ static Writer& OutCSS1_SvxKerning( Writer& rWrt, const SfxPoolItem& rHt ) sOut.append(OString::number(nValue / 10) + "." + OString::number(nValue % 10) + sCSS1_UNIT_pt); - rHTMLWrt.OutCSS1_PropertyAscii(sCSS1_P_letter_spacing, sOut); + rWrt.OutCSS1_PropertyAscii(sCSS1_P_letter_spacing, sOut); sOut.setLength(0); } else { - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_letter_spacing, + rWrt.OutCSS1_PropertyAscii( sCSS1_P_letter_spacing, sCSS1_PV_normal ); } return rWrt; } -static Writer& OutCSS1_SvxLanguage( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxLanguage( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - // Only export Language rules - if( rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) + if( rWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) return rWrt; sal_uInt16 nScript = CSS1_OUTMODE_WESTERN; @@ -2555,10 +2526,10 @@ static Writer& OutCSS1_SvxLanguage( Writer& rWrt, const SfxPoolItem& rHt ) case RES_CHRATR_CJK_LANGUAGE: nScript = CSS1_OUTMODE_CJK; break; case RES_CHRATR_CTL_LANGUAGE: nScript = CSS1_OUTMODE_CTL; break; } - if( !rHTMLWrt.IsCSS1Script( nScript ) ) + if( !rWrt.IsCSS1Script( nScript ) ) return rWrt; - OSL_ENSURE( !rHTMLWrt.IsCSS1Source(CSS1_OUTMODE_HINT), + OSL_ENSURE( !rWrt.IsCSS1Source(CSS1_OUTMODE_HINT), "write Language as Hint?" ); LanguageType eLang = static_cast<const SvxLanguageItem &>(rHt).GetLanguage(); @@ -2567,56 +2538,52 @@ static Writer& OutCSS1_SvxLanguage( Writer& rWrt, const SfxPoolItem& rHt ) OUString sOut = LanguageTag::convertToBcp47( eLang ); - rHTMLWrt.OutCSS1_Property( sCSS1_P_so_language, sOut ); + rWrt.OutCSS1_Property( sCSS1_P_so_language, sOut ); return rWrt; } -static Writer& OutCSS1_SvxUnderline( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxUnderline( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { // This function only exports Hints! // Otherwise OutCSS1_SvxTextLn_SvxCrOut_SvxBlink() is called directly. - if( static_cast<SwHTMLWriter&>(rWrt).IsCSS1Source(CSS1_OUTMODE_HINT) ) + if( rWrt.IsCSS1Source(CSS1_OUTMODE_HINT) ) OutCSS1_SvxTextLn_SvxCrOut_SvxBlink( rWrt, static_cast<const SvxUnderlineItem *>(&rHt), nullptr, nullptr, nullptr ); return rWrt; } -static Writer& OutCSS1_SvxOverline( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxOverline( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { // This function only exports Hints! // Otherwise OutCSS1_SvxTextLn_SvxCrOut_SvxBlink() is called directly. - if( static_cast<SwHTMLWriter&>(rWrt).IsCSS1Source(CSS1_OUTMODE_HINT) ) + if( rWrt.IsCSS1Source(CSS1_OUTMODE_HINT) ) OutCSS1_SvxTextLn_SvxCrOut_SvxBlink( rWrt, nullptr, static_cast<const SvxOverlineItem *>(&rHt), nullptr, nullptr ); return rWrt; } -static Writer& OutCSS1_SvxHidden( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxHidden( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - if ( static_cast<const SvxCharHiddenItem&>(rHt).GetValue() ) - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_display, sCSS1_PV_none ); + rWrt.OutCSS1_PropertyAscii( sCSS1_P_display, sCSS1_PV_none ); return rWrt; } -static Writer& OutCSS1_SvxFontWeight( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxFontWeight( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - sal_uInt16 nScript = CSS1_OUTMODE_WESTERN; switch( rHt.Which() ) { case RES_CHRATR_CJK_WEIGHT: nScript = CSS1_OUTMODE_CJK; break; case RES_CHRATR_CTL_WEIGHT: nScript = CSS1_OUTMODE_CTL; break; } - if( !rHTMLWrt.IsCSS1Script( nScript ) ) + if( !rWrt.IsCSS1Script( nScript ) ) return rWrt; const char *pStr = nullptr; @@ -2628,11 +2595,11 @@ static Writer& OutCSS1_SvxFontWeight( Writer& rWrt, const SfxPoolItem& rHt ) case WEIGHT_NORMAL: pStr = sCSS1_PV_normal; break; case WEIGHT_SEMIBOLD: pStr = sCSS1_PV_demi_bold; break; case WEIGHT_BOLD: - if( !rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) + if( !rWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) { // this also works in HTML does not need to be written as // a STYLE-Options, and must not be written as Hint - OSL_ENSURE( !rHTMLWrt.IsCSS1Source(CSS1_OUTMODE_HINT), + OSL_ENSURE( !rWrt.IsCSS1Source(CSS1_OUTMODE_HINT), "write bold as Hint?" ); pStr = sCSS1_PV_bold; } @@ -2643,31 +2610,29 @@ static Writer& OutCSS1_SvxFontWeight( Writer& rWrt, const SfxPoolItem& rHt ) } if( pStr ) - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_font_weight, pStr ); + rWrt.OutCSS1_PropertyAscii( sCSS1_P_font_weight, pStr ); return rWrt; } -static Writer& OutCSS1_SvxBlink( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxBlink( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { // This function only exports Hints! // Otherwise OutCSS1_SvxTextLn_SvxCrOut_SvxBlink() is called directly. - if( static_cast<SwHTMLWriter&>(rWrt).IsCSS1Source(CSS1_OUTMODE_HINT) ) + if( rWrt.IsCSS1Source(CSS1_OUTMODE_HINT) ) OutCSS1_SvxTextLn_SvxCrOut_SvxBlink( rWrt, nullptr, nullptr, nullptr, static_cast<const SvxBlinkItem *>(&rHt) ); return rWrt; } -static Writer& OutCSS1_SvxLineSpacing( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxLineSpacing( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - // Netscape4 has big problems with cell heights if the line spacing is // changed within a table and the width of the table is not calculated // automatically (== if there is a WIDTH-Option) - if( rHTMLWrt.m_bOutTable && rHTMLWrt.m_bCfgNetscape4 ) + if( rWrt.m_bOutTable && rWrt.m_bCfgNetscape4 ) return rWrt; const SvxLineSpacingItem& rLSItem = static_cast<const SvxLineSpacingItem&>(rHt); @@ -2703,24 +2668,22 @@ static Writer& OutCSS1_SvxLineSpacing( Writer& rWrt, const SfxPoolItem& rHt ) } if( nHeight ) - rHTMLWrt.OutCSS1_UnitProperty( sCSS1_P_line_height, static_cast<tools::Long>(nHeight) ); + rWrt.OutCSS1_UnitProperty( sCSS1_P_line_height, static_cast<tools::Long>(nHeight) ); else if( nPercentHeight && - !(nPercentHeight < 115 && rHTMLWrt.m_bParaDotLeaders )) // avoid HTML scrollbars and missing descenders + !(nPercentHeight < 115 && rWrt.m_bParaDotLeaders )) // avoid HTML scrollbars and missing descenders { OString sHeight(OString::number(nPercentHeight) + "%"); - rHTMLWrt.OutCSS1_PropertyAscii(sCSS1_P_line_height, sHeight); + rWrt.OutCSS1_PropertyAscii(sCSS1_P_line_height, sHeight); } return rWrt; } -static Writer& OutCSS1_SvxAdjust( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxAdjust( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter & rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - // Export Alignment in Style-Option only if the Tag does not allow ALIGN=xxx - if( rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) && - !rHTMLWrt.m_bNoAlign) + if( rWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) && + !rWrt.m_bNoAlign) return rWrt; const char* pStr = nullptr; @@ -2735,51 +2698,43 @@ static Writer& OutCSS1_SvxAdjust( Writer& rWrt, const SfxPoolItem& rHt ) } if( pStr ) - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_text_align, pStr ); + rWrt.OutCSS1_PropertyAscii( sCSS1_P_text_align, pStr ); return rWrt; } -static Writer& OutCSS1_SvxFormatSplit( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxFormatSplit( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter & rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - const char *pStr = static_cast<const SvxFormatSplitItem&>(rHt).GetValue() ? sCSS1_PV_auto : sCSS1_PV_avoid; - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_page_break_inside, pStr ); + rWrt.OutCSS1_PropertyAscii( sCSS1_P_page_break_inside, pStr ); return rWrt; } -static Writer& OutCSS1_SwFormatLayoutSplit( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SwFormatLayoutSplit( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter & rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - const char *pStr = static_cast<const SwFormatLayoutSplit&>(rHt).GetValue() ? sCSS1_PV_auto : sCSS1_PV_avoid; - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_page_break_inside, pStr ); + rWrt.OutCSS1_PropertyAscii( sCSS1_P_page_break_inside, pStr ); return rWrt; } -static Writer& OutCSS1_SvxWidows( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxWidows( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter & rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - OString aStr(OString::number(static_cast<const SvxWidowsItem&>(rHt).GetValue())); - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_widows, aStr ); + rWrt.OutCSS1_PropertyAscii( sCSS1_P_widows, aStr ); return rWrt; } -static Writer& OutCSS1_SvxOrphans( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxOrphans( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter & rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - OString aStr(OString::number(static_cast<const SvxOrphansItem&>(rHt).GetValue())); - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_orphans, aStr ); + rWrt.OutCSS1_PropertyAscii( sCSS1_P_orphans, aStr ); return rWrt; } @@ -2810,36 +2765,32 @@ static void OutCSS1_SwFormatDropAttrs( SwHTMLWriter& rHWrt, } -static Writer& OutCSS1_SwFormatDrop( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SwFormatDrop( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter & rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - // never export as an Option of a paragraph, but only as Hints - if( !rHTMLWrt.IsCSS1Source(CSS1_OUTMODE_HINT) ) + if( !rWrt.IsCSS1Source(CSS1_OUTMODE_HINT) ) return rWrt; - if( rHTMLWrt.m_bTagOn ) + if( rWrt.m_bTagOn ) { - SwCSS1OutMode aMode( rHTMLWrt, - rHTMLWrt.m_nCSS1Script|CSS1_OUTMODE_SPAN_TAG1_ON|CSS1_OUTMODE_ENCODE| + SwCSS1OutMode aMode( rWrt, + rWrt.m_nCSS1Script|CSS1_OUTMODE_SPAN_TAG1_ON|CSS1_OUTMODE_ENCODE| CSS1_OUTMODE_DROPCAP, nullptr ); - OutCSS1_SwFormatDropAttrs( rHTMLWrt, static_cast<const SwFormatDrop&>(rHt) ); + OutCSS1_SwFormatDropAttrs( rWrt, static_cast<const SwFormatDrop&>(rHt) ); // A "> is already printed by the calling OutCSS1_HintAsSpanTag. } else { - HTMLOutFuncs::Out_AsciiTag( rWrt.Strm(), Concat2View(rHTMLWrt.GetNamespace() + OOO_STRING_SVTOOLS_HTML_span), false ); + HTMLOutFuncs::Out_AsciiTag( rWrt.Strm(), Concat2View(rWrt.GetNamespace() + OOO_STRING_SVTOOLS_HTML_span), false ); } return rWrt; } -static Writer& OutCSS1_SwFormatFrameSize( Writer& rWrt, const SfxPoolItem& rHt, +static SwHTMLWriter& OutCSS1_SwFormatFrameSize( SwHTMLWriter& rWrt, const SfxPoolItem& rHt, Css1FrameSize nMode ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - const SwFormatFrameSize& rFSItem = static_cast<const SwFormatFrameSize&>(rHt); if( nMode & Css1FrameSize::Width ) @@ -2848,16 +2799,16 @@ static Writer& OutCSS1_SwFormatFrameSize( Writer& rWrt, const SfxPoolItem& rHt, if( nPercentWidth ) { OString sOut(OString::number(nPercentWidth) + "%"); - rHTMLWrt.OutCSS1_PropertyAscii(sCSS1_P_width, sOut); + rWrt.OutCSS1_PropertyAscii(sCSS1_P_width, sOut); } else if( nMode & Css1FrameSize::Pixel ) { - rHTMLWrt.OutCSS1_PixelProperty( sCSS1_P_width, + rWrt.OutCSS1_PixelProperty( sCSS1_P_width, rFSItem.GetSize().Width(), false ); } else { - rHTMLWrt.OutCSS1_UnitProperty( sCSS1_P_width, + rWrt.OutCSS1_UnitProperty( sCSS1_P_width, rFSItem.GetSize().Width() ); } } @@ -2865,10 +2816,8 @@ static Writer& OutCSS1_SwFormatFrameSize( Writer& rWrt, const SfxPoolItem& rHt, return rWrt; } -static Writer& OutCSS1_SvxFirstLineIndent(Writer & rWrt, SfxPoolItem const& rHt) +static SwHTMLWriter& OutCSS1_SvxFirstLineIndent(SwHTMLWriter & rWrt, SfxPoolItem const& rHt) { - SwHTMLWriter & rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - const SvxFirstLineIndentItem & rFirstLine(static_cast<const SvxFirstLineIndentItem&>(rHt)); // No Export of a firm attribute is needed if the new values @@ -2876,131 +2825,121 @@ static Writer& OutCSS1_SvxFirstLineIndent(Writer & rWrt, SfxPoolItem const& rHt) // The LineIndent of the first line might contain the room for numbering tools::Long nFirstLineIndent = static_cast<tools::Long>(rFirstLine.GetTextFirstLineOffset()) - - rHTMLWrt.m_nFirstLineIndent; - if (rHTMLWrt.m_nDfltFirstLineIndent != nFirstLineIndent) + - rWrt.m_nFirstLineIndent; + if (rWrt.m_nDfltFirstLineIndent != nFirstLineIndent) { - rHTMLWrt.OutCSS1_UnitProperty(sCSS1_P_text_indent, nFirstLineIndent); + rWrt.OutCSS1_UnitProperty(sCSS1_P_text_indent, nFirstLineIndent); } return rWrt; } -static Writer& OutCSS1_SvxTextLeftMargin(Writer & rWrt, SfxPoolItem const& rHt) +static SwHTMLWriter& OutCSS1_SvxTextLeftMargin(SwHTMLWriter & rWrt, SfxPoolItem const& rHt) { - SwHTMLWriter & rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - const SvxTextLeftMarginItem& rLeftMargin(static_cast<const SvxTextLeftMarginItem&>(rHt)); // No Export of a firm attribute is needed if the new values // match that of the current template // A left margin can exist because of a list nearby - tools::Long nLeftMargin = rLeftMargin.GetTextLeft() - rHTMLWrt.m_nLeftMargin; - if (rHTMLWrt.m_nDfltLeftMargin != nLeftMargin) + tools::Long nLeftMargin = rLeftMargin.GetTextLeft() - rWrt.m_nLeftMargin; + if (rWrt.m_nDfltLeftMargin != nLeftMargin) { - rHTMLWrt.OutCSS1_UnitProperty(sCSS1_P_margin_left, nLeftMargin); + rWrt.OutCSS1_UnitProperty(sCSS1_P_margin_left, nLeftMargin); // max-width = max-width - margin-left for TOC paragraphs with dot leaders - if (rHTMLWrt.m_bParaDotLeaders) - rHTMLWrt.OutCSS1_UnitProperty(sCSS1_P_max_width, tools::Long(DOT_LEADERS_MAX_WIDTH/2.54*72*20) - nLeftMargin); + if (rWrt.m_bParaDotLeaders) + rWrt.OutCSS1_UnitProperty(sCSS1_P_max_width, tools::Long(DOT_LEADERS_MAX_WIDTH/2.54*72*20) - nLeftMargin); } return rWrt; } -static Writer& OutCSS1_SvxRightMargin(Writer & rWrt, SfxPoolItem const& rHt) +static SwHTMLWriter& OutCSS1_SvxRightMargin(SwHTMLWriter & rWrt, SfxPoolItem const& rHt) { - SwHTMLWriter & rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - const SvxRightMarginItem& rRightMargin(static_cast<const SvxRightMarginItem&>(rHt)); // No Export of a firm attribute is needed if the new values // match that of the current template - if (rHTMLWrt.m_nDfltRightMargin != rRightMargin.GetRight()) + if (rWrt.m_nDfltRightMargin != rRightMargin.GetRight()) { - rHTMLWrt.OutCSS1_UnitProperty(sCSS1_P_margin_right, rRightMargin.GetRight()); + rWrt.OutCSS1_UnitProperty(sCSS1_P_margin_right, rRightMargin.GetRight()); } return rWrt; } -static Writer& OutCSS1_SvxLRSpace( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxLRSpace( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter & rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - const SvxLRSpaceItem& rLRItem = static_cast<const SvxLRSpaceItem&>(rHt); // No Export of a firm attribute is needed if the new values // match that of the current template // A left margin can exist because of a list nearby - tools::Long nLeftMargin = rLRItem.GetTextLeft() - rHTMLWrt.m_nLeftMargin; - if( rHTMLWrt.m_nDfltLeftMargin != nLeftMargin ) + tools::Long nLeftMargin = rLRItem.GetTextLeft() - rWrt.m_nLeftMargin; + if( rWrt.m_nDfltLeftMargin != nLeftMargin ) { - rHTMLWrt.OutCSS1_UnitProperty( sCSS1_P_margin_left, nLeftMargin ); + rWrt.OutCSS1_UnitProperty( sCSS1_P_margin_left, nLeftMargin ); // max-width = max-width - margin-left for TOC paragraphs with dot leaders - if( rHTMLWrt.m_bParaDotLeaders ) - rHTMLWrt.OutCSS1_UnitProperty( sCSS1_P_max_width, tools::Long(DOT_LEADERS_MAX_WIDTH/2.54*72*20) - nLeftMargin ); + if( rWrt.m_bParaDotLeaders ) + rWrt.OutCSS1_UnitProperty( sCSS1_P_max_width, tools::Long(DOT_LEADERS_MAX_WIDTH/2.54*72*20) - nLeftMargin ); } - if( rHTMLWrt.m_nDfltRightMargin != rLRItem.GetRight() ) + if( rWrt.m_nDfltRightMargin != rLRItem.GetRight() ) { - rHTMLWrt.OutCSS1_UnitProperty( sCSS1_P_margin_right, rLRItem.GetRight() ); + rWrt.OutCSS1_UnitProperty( sCSS1_P_margin_right, rLRItem.GetRight() ); } // The LineIndent of the first line might contain the room for numbering tools::Long nFirstLineIndent = static_cast<tools::Long>(rLRItem.GetTextFirstLineOffset()) - - rHTMLWrt.m_nFirstLineIndent; - if( rHTMLWrt.m_nDfltFirstLineIndent != nFirstLineIndent ) + rWrt.m_nFirstLineIndent; + if( rWrt.m_nDfltFirstLineIndent != nFirstLineIndent ) { - rHTMLWrt.OutCSS1_UnitProperty( sCSS1_P_text_indent, + rWrt.OutCSS1_UnitProperty( sCSS1_P_text_indent, nFirstLineIndent ); } return rWrt; } -static Writer& OutCSS1_SvxULSpace( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxULSpace( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter & rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - const SvxULSpaceItem& rULItem = static_cast<const SvxULSpaceItem&>(rHt); - if( rHTMLWrt.m_nDfltTopMargin != rULItem.GetUpper() ) + if( rWrt.m_nDfltTopMargin != rULItem.GetUpper() ) { - rHTMLWrt.OutCSS1_UnitProperty( sCSS1_P_margin_top, + rWrt.OutCSS1_UnitProperty( sCSS1_P_margin_top, static_cast<tools::Long>(rULItem.GetUpper()) ); } - if( rHTMLWrt.m_nDfltBottomMargin != rULItem.GetLower() ) + if( rWrt.m_nDfltBottomMargin != rULItem.GetLower() ) { - rHTMLWrt.OutCSS1_UnitProperty( sCSS1_P_margin_bottom, + rWrt.OutCSS1_UnitProperty( sCSS1_P_margin_bottom, static_cast<tools::Long>(rULItem.GetLower()) ); } return rWrt; } -static Writer& OutCSS1_SvxULSpace_SvxLRSpace( Writer& rWrt, +static SwHTMLWriter& OutCSS1_SvxULSpace_SvxLRSpace( SwHTMLWriter& rWrt, const SvxULSpaceItem *pULItem, const SvxLRSpaceItem *pLRItem ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - if( pLRItem && pULItem && pLRItem->GetLeft() == pLRItem->GetRight() && pLRItem->GetLeft() == pULItem->GetUpper() && pLRItem->GetLeft() == pULItem->GetLower() && - pLRItem->GetLeft() != rHTMLWrt.m_nDfltLeftMargin && - pLRItem->GetRight() != rHTMLWrt.m_nDfltRightMargin && - pULItem->GetUpper() != rHTMLWrt.m_nDfltTopMargin && - pULItem->GetLower() != rHTMLWrt.m_nDfltBottomMargin ) + pLRItem->GetLeft() != rWrt.m_nDfltLeftMargin && + pLRItem->GetRight() != rWrt.m_nDfltRightMargin && + pULItem->GetUpper() != rWrt.m_nDfltTopMargin && + pULItem->GetLower() != rWrt.m_nDfltBottomMargin ) { - rHTMLWrt.OutCSS1_UnitProperty( sCSS1_P_margin, pLRItem->GetLeft() ); + rWrt.OutCSS1_UnitProperty( sCSS1_P_margin, pLRItem->GetLeft() ); } else { @@ -3013,7 +2952,7 @@ static Writer& OutCSS1_SvxULSpace_SvxLRSpace( Writer& rWrt, return rWrt; } -static Writer& OutCSS1_SvxULSpace_SvxLRSpace( Writer& rWrt, +static SwHTMLWriter& OutCSS1_SvxULSpace_SvxLRSpace( SwHTMLWriter& rWrt, const SfxItemSet& rItemSet ) { const SvxLRSpaceItem *pLRSpace = rItemSet.GetItemIfSet( RES_LR_SPACE, false/*bDeep*/ ); @@ -3025,14 +2964,12 @@ static Writer& OutCSS1_SvxULSpace_SvxLRSpace( Writer& rWrt, return rWrt; } -static Writer& OutCSS1_SvxFormatBreak_SwFormatPDesc_SvxFormatKeep( Writer& rWrt, +static SwHTMLWriter& OutCSS1_SvxFormatBreak_SwFormatPDesc_SvxFormatKeep( SwHTMLWriter& rWrt, const SvxFormatBreakItem *pBreakItem, const SwFormatPageDesc *pPDescItem, const SvxFormatKeepItem *pKeepItem ) { - SwHTMLWriter & rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - - if( !rHTMLWrt.IsHTMLMode(HTMLMODE_PRINT_EXT) ) + if( !rWrt.IsHTMLMode(HTMLMODE_PRINT_EXT) ) return rWrt; const char *pBreakBefore = nullptr; @@ -3082,32 +3019,31 @@ static Writer& OutCSS1_SvxFormatBreak_SwFormatPDesc_SvxFormatKeep( Writer& rWrt, } } - if (rHTMLWrt.mbSkipHeaderFooter) + if (rWrt.mbSkipHeaderFooter) // No page break when writing only a fragment. return rWrt; if( pBreakBefore ) - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_page_break_before, + rWrt.OutCSS1_PropertyAscii( sCSS1_P_page_break_before, pBreakBefore ); if( pBreakAfter ) - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_page_break_after, + rWrt.OutCSS1_PropertyAscii( sCSS1_P_page_break_after, pBreakAfter ); return rWrt; } -static Writer& OutCSS1_SvxFormatBreak_SwFormatPDesc_SvxFormatKeep( Writer& rWrt, +static SwHTMLWriter& OutCSS1_SvxFormatBreak_SwFormatPDesc_SvxFormatKeep( SwHTMLWriter& rWrt, const SfxItemSet& rItemSet, bool bDeep ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); const SvxFormatBreakItem *pBreakItem = rItemSet.GetItemIfSet( RES_BREAK, bDeep ); const SwFormatPageDesc *pPDescItem = nullptr; - if( !rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) || - !rHTMLWrt.m_bCSS1IgnoreFirstPageDesc || - rHTMLWrt.m_pStartNdIdx->GetIndex() != - rHTMLWrt.m_pCurrentPam->GetPoint()->GetNodeIndex() ) + if( !rWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) || + !rWrt.m_bCSS1IgnoreFirstPageDesc || + rWrt.m_pStartNdIdx->GetIndex() != + rWrt.m_pCurrentPam->GetPoint()->GetNodeIndex() ) pPDescItem = rItemSet.GetItemIfSet( RES_PAGEDESC, bDeep ); const SvxFormatKeepItem *pKeepItem = rItemSet.GetItemIfSet( RES_KEEP, bDeep ); @@ -3120,22 +3056,20 @@ static Writer& OutCSS1_SvxFormatBreak_SwFormatPDesc_SvxFormatKeep( Writer& rWrt, } // Wrapper for OutCSS1_SfxItemSet etc. -static Writer& OutCSS1_SvxBrush( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxBrush( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { OutCSS1_SvxBrush( rWrt, rHt, sw::Css1Background::Attr, nullptr ); return rWrt; } -static Writer& OutCSS1_SvxBrush( Writer& rWrt, const SfxPoolItem& rHt, +static SwHTMLWriter& OutCSS1_SvxBrush( SwHTMLWriter& rWrt, const SfxPoolItem& rHt, sw::Css1Background nMode, const OUString* pGraphicName) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - // The Character-Attribute is skipped, if we are about to // exporting options if( rHt.Which() < RES_CHRATR_END && - rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) + rWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) return rWrt; // start getting a few values @@ -3144,7 +3078,7 @@ static Writer& OutCSS1_SvxBrush( Writer& rWrt, const SfxPoolItem& rHt, OUString aLink = pGraphicName ? *pGraphicName : static_cast<const SvxBrushItem &>(rHt).GetGraphicLink(); SvxGraphicPosition ePos = static_cast<const SvxBrushItem &>(rHt).GetGraphicPos(); - if( sw::Css1Background::Page == nMode && !rHTMLWrt.mbEmbedImages ) + if( sw::Css1Background::Page == nMode && !rWrt.mbEmbedImages ) { // page style images are exported if not tiled if( aLink.isEmpty() || GPOS_TILED==ePos ) @@ -3167,19 +3101,19 @@ static Writer& OutCSS1_SvxBrush( Writer& rWrt, const SfxPoolItem& rHt, // Embedded Graphic -> export WriteEmbedded const Graphic* pGrf = nullptr; - if( rHTMLWrt.mbEmbedImages || aLink.isEmpty()) + if( rWrt.mbEmbedImages || aLink.isEmpty()) { pGrf = static_cast<const SvxBrushItem &>(rHt).GetGraphic(); if( pGrf ) { if( !XOutBitmap::GraphicToBase64(*pGrf, aGraphicInBase64) ) { - rHTMLWrt.m_nWarn = WARN_SWG_POOR_LOAD; + rWrt.m_nWarn = WARN_SWG_POOR_LOAD; } } aLink.clear(); } - else if( !pGraphicName && rHTMLWrt.m_bCfgCpyLinkedGrfs ) + else if( !pGraphicName && rWrt.m_bCfgCpyLinkedGrfs ) { OUString aGraphicAsLink = aLink; rWrt.CopyLocalFileToINet( aGraphicAsLink ); @@ -3305,20 +3239,20 @@ static Writer& OutCSS1_SvxBrush( Writer& rWrt, const SfxPoolItem& rHt, if( !sOut.isEmpty() ) { - rHTMLWrt.OutCSS1_Property(sCSS1_P_background, std::string_view(), &sOut, + rWrt.OutCSS1_Property(sCSS1_P_background, std::string_view(), &sOut, nMode); } return rWrt; } -static void OutCSS1_SvxBorderLine( SwHTMLWriter& rHTMLWrt, +static void OutCSS1_SvxBorderLine( SwHTMLWriter& rWrt, const char *pProperty, const SvxBorderLine *pLine ) { if( !pLine || pLine->isEmpty() ) { - rHTMLWrt.OutCSS1_PropertyAscii( pProperty, sCSS1_PV_none ); + rWrt.OutCSS1_PropertyAscii( pProperty, sCSS1_PV_none ); return; } @@ -3384,28 +3318,26 @@ static void OutCSS1_SvxBorderLine( SwHTMLWriter& rHTMLWrt, // and also the color sOut.append(GetCSS1_Color(pLine->GetColor())); - rHTMLWrt.OutCSS1_PropertyAscii(pProperty, sOut); + rWrt.OutCSS1_PropertyAscii(pProperty, sOut); } -Writer& OutCSS1_SvxBox( Writer& rWrt, const SfxPoolItem& rHt ) +SwHTMLWriter& OutCSS1_SvxBox( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - // Avoid interference between character and paragraph attributes if( rHt.Which() < RES_CHRATR_END && - rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) + rWrt.IsCSS1Source( CSS1_OUTMODE_PARA ) ) return rWrt; if( rHt.Which() == RES_CHRATR_BOX ) { - if( rHTMLWrt.m_bTagOn ) + if( rWrt.m_bTagOn ) { // Inline-block to make the line height changing correspond to the character border - rHTMLWrt.OutCSS1_PropertyAscii(sCSS1_P_display, "inline-block"); + rWrt.OutCSS1_PropertyAscii(sCSS1_P_display, "inline-block"); } else { - HTMLOutFuncs::Out_AsciiTag( rWrt.Strm(), Concat2View(rHTMLWrt.GetNamespace() + OOO_STRING_SVTOOLS_HTML_span), false ); + HTMLOutFuncs::Out_AsciiTag( rWrt.Strm(), Concat2View(rWrt.GetNamespace() + OOO_STRING_SVTOOLS_HTML_span), false ); return rWrt; } } @@ -3422,15 +3354,15 @@ Writer& OutCSS1_SvxBox( Writer& rWrt, const SfxPoolItem& rHt ) { // all Lines are set and equal, or all Lines are not set // => border : ... - OutCSS1_SvxBorderLine( rHTMLWrt, sCSS1_P_border, pTop ); + OutCSS1_SvxBorderLine( rWrt, sCSS1_P_border, pTop ); } else { // otherwise export all Lines separately - OutCSS1_SvxBorderLine( rHTMLWrt, sCSS1_P_border_top, pTop ); - OutCSS1_SvxBorderLine( rHTMLWrt, sCSS1_P_border_bottom, pBottom ); - OutCSS1_SvxBorderLine( rHTMLWrt, sCSS1_P_border_left, pLeft ); - OutCSS1_SvxBorderLine( rHTMLWrt, sCSS1_P_border_right, pRight ); + OutCSS1_SvxBorderLine( rWrt, sCSS1_P_border_top, pTop ); + OutCSS1_SvxBorderLine( rWrt, sCSS1_P_border_bottom, pBottom ); + OutCSS1_SvxBorderLine( rWrt, sCSS1_P_border_left, pLeft ); + OutCSS1_SvxBorderLine( rWrt, sCSS1_P_border_right, pRight ); } tools::Long nTopDist = pTop ? rBoxItem.GetDistance( SvxBoxItemLine::TOP ) : 0; @@ -3441,31 +3373,29 @@ Writer& OutCSS1_SvxBox( Writer& rWrt, const SfxPoolItem& rHt ) if( nTopDist == nBottomDist && nLeftDist == nRightDist ) { OStringBuffer sVal; - AddUnitPropertyValue(sVal, nTopDist, rHTMLWrt.GetCSS1Unit()); + AddUnitPropertyValue(sVal, nTopDist, rWrt.GetCSS1Unit()); if( nTopDist != nLeftDist ) { sVal.append(' '); - AddUnitPropertyValue(sVal, nLeftDist, rHTMLWrt.GetCSS1Unit()); + AddUnitPropertyValue(sVal, nLeftDist, rWrt.GetCSS1Unit()); } - rHTMLWrt.OutCSS1_PropertyAscii(sCSS1_P_padding, sVal); + rWrt.OutCSS1_PropertyAscii(sCSS1_P_padding, sVal); } else { - rHTMLWrt.OutCSS1_UnitProperty( sCSS1_P_padding_top, nTopDist ); - rHTMLWrt.OutCSS1_UnitProperty( sCSS1_P_padding_bottom, nBottomDist ); - rHTMLWrt.OutCSS1_UnitProperty( sCSS1_P_padding_left, nLeftDist ); - rHTMLWrt.OutCSS1_UnitProperty( sCSS1_P_padding_right, nRightDist ); + rWrt.OutCSS1_UnitProperty( sCSS1_P_padding_top, nTopDist ); + rWrt.OutCSS1_UnitProperty( sCSS1_P_padding_bottom, nBottomDist ); + rWrt.OutCSS1_UnitProperty( sCSS1_P_padding_left, nLeftDist ); + rWrt.OutCSS1_UnitProperty( sCSS1_P_padding_right, nRightDist ); } return rWrt; } -static Writer& OutCSS1_SvxFrameDirection( Writer& rWrt, const SfxPoolItem& rHt ) +static SwHTMLWriter& OutCSS1_SvxFrameDirection( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter& rHTMLWrt = static_cast< SwHTMLWriter& >( rWrt ); - // Language will be exported rules only - if( !rHTMLWrt.IsCSS1Source( CSS1_OUTMODE_TEMPLATE ) ) + if( !rWrt.IsCSS1Source( CSS1_OUTMODE_TEMPLATE ) ) return rWrt; SvxFrameDirection nDir = @@ -3488,7 +3418,7 @@ static Writer& OutCSS1_SvxFrameDirection( Writer& rWrt, const SfxPoolItem& rHt ) } if( pStr ) - rHTMLWrt.OutCSS1_PropertyAscii( sCSS1_P_direction, pStr ); + rWrt.OutCSS1_PropertyAscii( sCSS1_P_direction, pStr ); return rWrt; } @@ -3726,32 +3656,28 @@ void SwHTMLWriter::OutCSS1_SfxItemSet( const SfxItemSet& rItemSet, Strm().WriteOString( sOut ); } -Writer& OutCSS1_HintSpanTag( Writer& rWrt, const SfxPoolItem& rHt ) +SwHTMLWriter& OutCSS1_HintSpanTag( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_SPAN_TAG | + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_SPAN_TAG | CSS1_OUTMODE_ENCODE|CSS1_OUTMODE_HINT, nullptr ); Out( aCSS1AttrFnTab, rHt, rWrt ); - if( !rHTMLWrt.m_bFirstCSS1Property && rHTMLWrt.m_bTagOn ) + if( !rWrt.m_bFirstCSS1Property && rWrt.m_bTagOn ) rWrt.Strm().WriteCharPtr( sCSS1_span_tag_end ); return rWrt; } -Writer& OutCSS1_HintStyleOpt( Writer& rWrt, const SfxPoolItem& rHt ) +SwHTMLWriter& OutCSS1_HintStyleOpt( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ) { - SwHTMLWriter& rHTMLWrt = static_cast<SwHTMLWriter&>(rWrt); - - SwCSS1OutMode aMode( rHTMLWrt, CSS1_OUTMODE_STYLE_OPT_ON | + SwCSS1OutMode aMode( rWrt, CSS1_OUTMODE_STYLE_OPT_ON | CSS1_OUTMODE_ENCODE| CSS1_OUTMODE_HINT, nullptr ); Out( aCSS1AttrFnTab, rHt, rWrt ); - if( !rHTMLWrt.m_bFirstCSS1Property ) + if( !rWrt.m_bFirstCSS1Property ) rWrt.Strm().WriteChar( '\"' ); return rWrt; diff --git a/sw/source/filter/html/htmlatr.cxx b/sw/source/filter/html/htmlatr.cxx index 5988270e615c..a3b1335501a7 100644 --- a/sw/source/filter/html/htmlatr.cxx +++ b/sw/source/filter/html/htmlatr.cxx @@ -91,7 +91,7 @@ HTMLOutEvent const aAnchorEventTable[] = { nullptr, nullptr, SvMacroItemId::NONE } }; -static Writer& OutHTML_SvxAdjust( Writer& rWrt, const SfxPoolItem& rHt ); +static SwHTMLWriter& OutHTML_SvxAdjust( SwHTMLWriter& rWrt, const SfxPoolItem& rHt ); sal_uInt16 SwHTMLWriter::GetDefListLvl( std::u16string_view rNm, sal_uInt16 nPoolId ) { @@ -421,15 +421,13 @@ SwHTMLFormatInfo::~SwHTMLFormatInfo() { } -static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, +static void OutHTML_SwFormat( SwHTMLWriter& rWrt, const SwFormat& rFormat, const SfxItemSet *pNodeItemSet, SwHTMLTextCollOutputInfo& rInfo ) { OSL_ENSURE( RES_CONDTXTFMTCOLL==rFormat.Which() || RES_TXTFMTCOLL==rFormat.Which(), "not a paragraph style" ); - SwHTMLWriter & rHWrt = static_cast<SwHTMLWriter&>(rWrt); - // First, some flags sal_uInt16 nNewDefListLvl = 0; sal_uInt16 nNumStart = USHRT_MAX; @@ -441,11 +439,11 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, rInfo.bParaPossible = false; // a <P> may be additionally output bool bNoEndTag = false; // don't output an end tag - rHWrt.m_bNoAlign = false; // no ALIGN=... possible + rWrt.m_bNoAlign = false; // no ALIGN=... possible - if (rHWrt.mbXHTML) + if (rWrt.mbXHTML) { - rHWrt.m_bNoAlign = true; + rWrt.m_bNoAlign = true; } sal_uInt8 nBulletGrfLvl = 255; // The bullet graphic we want to output @@ -454,10 +452,10 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, const SwTextNode* pTextNd = rWrt.m_pCurrentPam->GetPointNode().GetTextNode(); SwHTMLNumRuleInfo aNumInfo; - if( rHWrt.GetNextNumInfo() ) + if( rWrt.GetNextNumInfo() ) { - aNumInfo = *rHWrt.GetNextNumInfo(); - rHWrt.ClearNextNumInfo(); + aNumInfo = *rWrt.GetNextNumInfo(); + rWrt.ClearNextNumInfo(); } else { @@ -490,7 +488,7 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, { nNumStart = static_cast< sal_uInt16 >(pTextNd->GetActualListStartValue()); } - OSL_ENSURE( rHWrt.m_nLastParaToken == HtmlTokenId::NONE, + OSL_ENSURE( rWrt.m_nLastParaToken == HtmlTokenId::NONE, "<PRE> was not closed before <LI>." ); } } @@ -498,18 +496,18 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, // Now, we're getting the token and, if necessary, the class std::unique_ptr<SwHTMLFormatInfo> pTmpInfo(new SwHTMLFormatInfo(&rFormat)); SwHTMLFormatInfo *pFormatInfo; - SwHTMLFormatInfos::iterator it = rHWrt.m_TextCollInfos.find( pTmpInfo ); - if (it != rHWrt.m_TextCollInfos.end()) + SwHTMLFormatInfos::iterator it = rWrt.m_TextCollInfos.find( pTmpInfo ); + if (it != rWrt.m_TextCollInfos.end()) { pFormatInfo = it->get(); } else { - pFormatInfo = new SwHTMLFormatInfo( &rFormat, rWrt.m_pDoc, rHWrt.m_xTemplate.get(), - rHWrt.m_bCfgOutStyles, rHWrt.m_eLang, - rHWrt.m_nCSS1Script ); - rHWrt.m_TextCollInfos.insert(std::unique_ptr<SwHTMLFormatInfo>(pFormatInfo)); - if( rHWrt.m_aScriptParaStyles.count( rFormat.GetName() ) ) + pFormatInfo = new SwHTMLFormatInfo( &rFormat, rWrt.m_pDoc, rWrt.m_xTemplate.get(), + rWrt.m_bCfgOutStyles, rWrt.m_eLang, + rWrt.m_nCSS1Script ); + rWrt.m_TextCollInfos.insert(std::unique_ptr<SwHTMLFormatInfo>(pFormatInfo)); + if( rWrt.m_aScriptParaStyles.count( rFormat.GetName() ) ) pFormatInfo->bScriptDependent = true; } @@ -525,12 +523,12 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, if (rInfo.aToken == OOO_STRING_SVTOOLS_HTML_address) { rInfo.bParaPossible = true; - rHWrt.m_bNoAlign = true; + rWrt.m_bNoAlign = true; } else if (rInfo.aToken == OOO_STRING_SVTOOLS_HTML_blockquote) { rInfo.bParaPossible = true; - rHWrt.m_bNoAlign = true; + rWrt.m_bNoAlign = true; } else if (rInfo.aToken == OOO_STRING_SVTOOLS_HTML_parabreak) { @@ -538,14 +536,14 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, } else if (rInfo.aToken == OOO_STRING_SVTOOLS_HTML_preformtxt) { - if (HtmlTokenId::PREFORMTXT_ON == rHWrt.m_nLastParaToken) + if (HtmlTokenId::PREFORMTXT_ON == rWrt.m_nLastParaToken) { bOutNewLine = true; } else { nToken = HtmlTokenId::PREFORMTXT_ON; - rHWrt.m_bNoAlign = true; + rWrt.m_bNoAlign = true; bNoEndTag = true; } } @@ -553,7 +551,7 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, { bDT = rInfo.aToken == OOO_STRING_SVTOOLS_HTML_dt; rInfo.bParaPossible = !bDT; - rHWrt.m_bNoAlign = true; + rWrt.m_bNoAlign = true; bForceDL = true; } } @@ -587,18 +585,18 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, pNodeItemSet ? pNodeItemSet->Get(RES_UL_SPACE) : rFormat.GetULSpace(); - if( (rHWrt.m_bOutHeader && + if( (rWrt.m_bOutHeader && rWrt.m_pCurrentPam->GetPoint()->GetNodeIndex() == rWrt.m_pCurrentPam->GetMark()->GetNodeIndex()) || - rHWrt.m_bOutFooter ) + rWrt.m_bOutFooter ) { - if( rHWrt.m_bCfgOutStyles ) + if( rWrt.m_bCfgOutStyles ) { SvxULSpaceItem aULSpaceItem( rULSpace ); - if( rHWrt.m_bOutHeader ) - aULSpaceItem.SetLower( rHWrt.m_nHeaderFooterSpace ); + if( rWrt.m_bOutHeader ) + aULSpaceItem.SetLower( rWrt.m_nHeaderFooterSpace ); else - aULSpaceItem.SetUpper( rHWrt.m_nHeaderFooterSpace ); + aULSpaceItem.SetUpper( rWrt.m_nHeaderFooterSpace ); if (!rInfo.moItemSet) { @@ -606,8 +604,8 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, } rInfo.moItemSet->Put( aULSpaceItem ); } - rHWrt.m_bOutHeader = false; - rHWrt.m_bOutFooter = false; + rWrt.m_bOutHeader = false; + rWrt.m_bOutFooter = false; } if( bOutNewLine ) @@ -628,7 +626,7 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, // Consider the lower spacing of the paragraph? (never in the last // paragraph of tables) - bool bUseParSpace = !rHWrt.m_bOutTable || + bool bUseParSpace = !rWrt.m_bOutTable || (rWrt.m_pCurrentPam->GetPoint()->GetNodeIndex() != rWrt.m_pCurrentPam->GetMark()->GetNodeIndex()); // If styles are exported, indented paragraphs become definition lists @@ -638,7 +636,7 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, SvxTextLeftMarginItem const& rTextLeftMargin( pNodeItemSet ? pNodeItemSet->Get(RES_MARGIN_TEXTLEFT) : rFormat.GetTextLeftMargin()); - if( (!rHWrt.m_bCfgOutStyles || bForceDL) && !rInfo.bInNumberBulletList ) + if( (!rWrt.m_bCfgOutStyles || bForceDL) && !rInfo.bInNumberBulletList ) { sal_Int32 nLeftMargin; if( bForceDL ) @@ -648,10 +646,10 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, ? rTextLeftMargin.GetTextLeft() - pFormatInfo->nLeftMargin : 0; - if( nLeftMargin > 0 && rHWrt.m_nDefListMargin > 0 ) + if( nLeftMargin > 0 && rWrt.m_nDefListMargin > 0 ) { - nNewDefListLvl = static_cast< sal_uInt16 >((nLeftMargin + (rHWrt.m_nDefListMargin/2)) / - rHWrt.m_nDefListMargin); + nNewDefListLvl = static_cast< sal_uInt16 >((nLeftMargin + (rWrt.m_nDefListMargin/2)) / + rWrt.m_nDefListMargin); if( nNewDefListLvl == 0 && bForceDL && !bDT ) nNewDefListLvl = 1; } @@ -672,32 +670,32 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, // Instead of a DD we must use a DT from the level above this one. nNewDefListLvl++; } - else if( !nNewDefListLvl && !rHWrt.m_bCfgOutStyles && bPara && + else if( !nNewDefListLvl && !rWrt.m_bCfgOutStyles && bPara && rULSpace.GetLower()==0 && - ((bUseParSpace && bIsNextTextNode) || rHWrt.m_nDefListLvl==1) && + ((bUseParSpace && bIsNextTextNode) || rWrt.m_nDefListLvl==1) && (!pAdjItem || SvxAdjust::Left==pAdjItem->GetAdjust()) ) { // Export paragraphs without a lower spacing as DT nNewDefListLvl = 1; bDT = true; rInfo.bParaPossible = false; - rHWrt.m_bNoAlign = true; + rWrt.m_bNoAlign = true; } } - if( nNewDefListLvl != rHWrt.m_nDefListLvl ) - rHWrt.OutAndSetDefList( nNewDefListLvl ); + if( nNewDefListLvl != rWrt.m_nDefListLvl ) + rWrt.OutAndSetDefList( nNewDefListLvl ); bool bAtLeastOneNumbered = false; // if necessary, start a bulleted or numbered list if( rInfo.bInNumberBulletList ) { - OSL_ENSURE( !rHWrt.m_nDefListLvl, "DL cannot be inside OL!" ); - OutHTML_NumberBulletListStart( rHWrt, aNumInfo, bAtLeastOneNumbered ); + OSL_ENSURE( !rWrt.m_nDefListLvl, "DL cannot be inside OL!" ); + OutHTML_NumberBulletListStart( rWrt, aNumInfo, bAtLeastOneNumbered ); if( bNumbered ) { - if( !rHWrt.m_aBulletGrfs[nBulletGrfLvl].isEmpty() ) + if( !rWrt.m_aBulletGrfs[nBulletGrfLvl].isEmpty() ) bNumbered = false; else nBulletGrfLvl = 255; @@ -706,64 +704,64 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, // Take the defaults of the style, because they don't need to be // exported - rHWrt.m_nDfltLeftMargin = pFormatInfo->nLeftMargin; - rHWrt.m_nDfltRightMargin = pFormatInfo->nRightMargin; - rHWrt.m_nDfltFirstLineIndent = pFormatInfo->nFirstLineIndent; + rWrt.m_nDfltLeftMargin = pFormatInfo->nLeftMargin; + rWrt.m_nDfltRightMargin = pFormatInfo->nRightMargin; + rWrt.m_nDfltFirstLineIndent = pFormatInfo->nFirstLineIndent; if( rInfo.bInNumberBulletList ) { - if( !rHWrt.IsHTMLMode( HTMLMODE_LSPACE_IN_NUMBER_BULLET ) ) - rHWrt.m_nDfltLeftMargin = rTextLeftMargin.GetTextLeft(); + if( !rWrt.IsHTMLMode( HTMLMODE_LSPACE_IN_NUMBER_BULLET ) ) + rWrt.m_nDfltLeftMargin = rTextLeftMargin.GetTextLeft(); // In numbered lists, don't output a first line indent. - rHWrt.m_nFirstLineIndent = rFirstLine.GetTextFirstLineOffset(); + rWrt.m_nFirstLineIndent = rFirstLine.GetTextFirstLineOffset(); } - if( rInfo.bInNumberBulletList && bNumbered && bPara && !rHWrt.m_bCfgOutStyles ) + if( rInfo.bInNumberBulletList && bNumbered && bPara && !rWrt.m_bCfgOutStyles ) { // a single LI doesn't have spacing - rHWrt.m_nDfltTopMargin = 0; - rHWrt.m_nDfltBottomMargin = 0; + rWrt.m_nDfltTopMargin = 0; + rWrt.m_nDfltBottomMargin = 0; } - else if( rHWrt.m_nDefListLvl && bPara ) + else if( rWrt.m_nDefListLvl && bPara ) { // a single DD doesn't have spacing, as well - rHWrt.m_nDfltTopMargin = 0; - rHWrt.m_nDfltBottomMargin = 0; + rWrt.m_nDfltTopMargin = 0; + rWrt.m_nDfltBottomMargin = 0; } else { - rHWrt.m_nDfltTopMargin = pFormatInfo->nTopMargin; + rWrt.m_nDfltTopMargin = pFormatInfo->nTopMargin; // if in the last paragraph of a table the lower paragraph spacing // is changed, Netscape doesn't get it. That's why we don't // export anything here for now, by setting this spacing to the // default value. - if( rHWrt.m_bCfgNetscape4 && !bUseParSpace ) - rHWrt.m_nDfltBottomMargin = rULSpace.GetLower(); + if( rWrt.m_bCfgNetscape4 && !bUseParSpace ) + rWrt.m_nDfltBottomMargin = rULSpace.GetLower(); else - rHWrt.m_nDfltBottomMargin = pFormatInfo->nBottomMargin; + rWrt.m_nDfltBottomMargin = pFormatInfo->nBottomMargin; } - if( rHWrt.m_nDefListLvl ) + if( rWrt.m_nDefListLvl ) { - rHWrt.m_nLeftMargin = - (rHWrt.m_nDefListLvl-1) * rHWrt.m_nDefListMargin; + rWrt.m_nLeftMargin = + (rWrt.m_nDefListLvl-1) * rWrt.m_nDefListMargin; } - if( rHWrt.m_bLFPossible && !rHWrt.m_bFirstLine ) - rHWrt.OutNewLine(); // paragraph tag on a new line + if( rWrt.m_bLFPossible && !rWrt.m_bFirstLine ) + rWrt.OutNewLine(); // paragraph tag on a new line rInfo.bOutPara = false; // this is now our new token - rHWrt.ChangeParaToken( nToken ); + rWrt.ChangeParaToken( nToken ); bool bHasParSpace = bUseParSpace && rULSpace.GetLower() > 0; // XHTML doesn't allow character children for <blockquote>. - bool bXhtmlBlockQuote = rHWrt.mbXHTML && rInfo.aToken == OOO_STRING_SVTOOLS_HTML_blockquote; + bool bXhtmlBlockQuote = rWrt.mbXHTML && rInfo.aToken == OOO_STRING_SVTOOLS_HTML_blockquote; // if necessary, start a new list item bool bNumberedForListItem = bNumbered; - if (!bNumberedForListItem && rHWrt.mbXHTML && bAtLeastOneNumbered) + if (!bNumberedForListItem && rWrt.mbXHTML && bAtLeastOneNumbered) { // OutHTML_NumberBulletListEnd() will end a list item if at least one text node is numbered // in the list, so open the list item with the same condition here. @@ -771,8 +769,8 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, } if( rInfo.bInNumberBulletList && bNumberedForListItem ) { - HtmlWriter html(rWrt.Strm(), rHWrt.maNamespace); - html.prettyPrint(rHWrt.m_bPrettyPrint); + HtmlWriter html(rWrt.Strm(), rWrt.maNamespace); + html.prettyPrint(rWrt.m_bPrettyPrint); html.start(OOO_STRING_SVTOOLS_HTML_li); if( USHRT_MAX != nNumStart ) html.attribute(OOO_STRING_SVTOOLS_HTML_O_value, OString::number(nNumStart)); @@ -780,32 +778,32 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, html.characters(""); } - if( rHWrt.m_nDefListLvl > 0 && !bForceDL ) + if( rWrt.m_nDefListLvl > 0 && !bForceDL ) { OString aTag = bDT ? OOO_STRING_SVTOOLS_HTML_dt : OOO_STRING_SVTOOLS_HTML_dd; - HTMLOutFuncs::Out_AsciiTag( rWrt.Strm(), Concat2View(rHWrt.GetNamespace() + aTag) ); + HTMLOutFuncs::Out_AsciiTag( rWrt.Strm(), Concat2View(rWrt.GetNamespace() + aTag) ); } if( pAdjItem && - rHWrt.IsHTMLMode( HTMLMODE_NO_CONTROL_CENTERING ) && - rHWrt.HasControls() ) + rWrt.IsHTMLMode( HTMLMODE_NO_CONTROL_CENTERING ) && + rWrt.HasControls() ) { // The align=... attribute does behave strange in netscape // if there are controls in a paragraph, because the control and // all text behind the control does not recognize this attribute. - OString sOut = "<" + rHWrt.GetNamespace() + OOO_STRING_SVTOOLS_HTML_division; + OString sOut = "<" + rWrt.GetNamespace() + OOO_STRING_SVTOOLS_HTML_division; rWrt.Strm().WriteOString( sOut ); - rHWrt.m_bTextAttr = false; - rHWrt.m_bOutOpts = true; + rWrt.m_bTextAttr = false; + rWrt.m_bOutOpts = true; OutHTML_SvxAdjust( rWrt, *pAdjItem ); rWrt.Strm().WriteChar( '>' ); pAdjItem = nullptr; - rHWrt.m_bNoAlign = false; + rWrt.m_bNoAlign = false; rInfo.bOutDiv = true; - rHWrt.IncIndentLevel(); - rHWrt.m_bLFPossible = true; - rHWrt.OutNewLine(); + rWrt.IncIndentLevel(); + rWrt.m_bLFPossible = true; + rWrt.OutNewLine(); } // for BLOCKQUOTE, ADDRESS and DD we output another paragraph token, if @@ -813,20 +811,20 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, // - a lower spacing or a paragraph alignment exists // Also, XHTML does not allow character children in this context. OString aToken = rInfo.aToken; - if( (!rHWrt.m_bCfgOutStyles || rHWrt.mbXHTML) && rInfo.bParaPossible && !bPara && + if( (!rWrt.m_bCfgOutStyles || rWrt.mbXHTML) && rInfo.bParaPossible && !bPara && (bHasParSpace || bXhtmlBlockQuote || pAdjItem) ) { - HTMLOutFuncs::Out_AsciiTag( rWrt.Strm(), Concat2View(rHWrt.GetNamespace() + rInfo.aToken) ); + HTMLOutFuncs::Out_AsciiTag( rWrt.Strm(), Concat2View(rWrt.GetNamespace() + rInfo.aToken) ); aToken = OOO_STRING_SVTOOLS_HTML_parabreak; bPara = true; - rHWrt.m_bNoAlign = false; + rWrt.m_bNoAlign = false; } LanguageType eLang; if (rInfo.moItemSet) - eLang = static_cast<const SvxLanguageItem&>(rInfo.moItemSet->Get(SwHTMLWriter::GetLangWhichIdFromScript(rHWrt.m_nCSS1Script))).GetLanguage(); + eLang = static_cast<const SvxLanguageItem&>(rInfo.moItemSet->Get(SwHTMLWriter::GetLangWhichIdFromScript(rWrt.m_nCSS1Script))).GetLanguage(); else - eLang = rHWrt.m_eLang; + eLang = rWrt.m_eLang; if( rInfo.moItemSet ) { @@ -842,7 +840,7 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, } // and the text direction - SvxFrameDirection nDir = rHWrt.GetHTMLDirection( + SvxFrameDirection nDir = rWrt.GetHTMLDirection( (pNodeItemSet ? pNodeItemSet->Get( RES_FRAMEDIR ) : rFormat.GetFrameDir() ).GetValue() ); @@ -857,38 +855,38 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, // - a user format is exported, or // - a paragraph attribute exists if( !bPara || - (!rInfo.bInNumberBulletList && !rHWrt.m_nDefListLvl) || + (!rInfo.bInNumberBulletList && !rWrt.m_nDefListLvl) || (rInfo.bInNumberBulletList && !bNumbered) || - (!rHWrt.m_bCfgOutStyles && + (!rWrt.m_bCfgOutStyles && (bHasParSpace || bXhtmlBlockQuote || pAdjItem || - (eLang != LANGUAGE_DONTKNOW && eLang != rHWrt.m_eLang))) || - nDir != rHWrt.m_nDirection || - rHWrt.m_bCfgOutStyles ) + (eLang != LANGUAGE_DONTKNOW && eLang != rWrt.m_eLang))) || + nDir != rWrt.m_nDirection || + rWrt.m_bCfgOutStyles ) { // now, options are output - rHWrt.m_bTextAttr = false; - rHWrt.m_bOutOpts = true; + rWrt.m_bTextAttr = false; + rWrt.m_bOutOpts = true; - OString sOut = "<" + rHWrt.GetNamespace() + aToken; + OString sOut = "<" + rWrt.GetNamespace() + aToken; - if( eLang != LANGUAGE_DONTKNOW && eLang != rHWrt.m_eLang ) + if( eLang != LANGUAGE_DONTKNOW && eLang != rWrt.m_eLang ) { rWrt.Strm().WriteOString( sOut ); sOut = ""; - rHWrt.OutLanguage( eLang ); + rWrt.OutLanguage( eLang ); } - if( nDir != rHWrt.m_nDirection ) + if( nDir != rWrt.m_nDirection ) { if( !sOut.isEmpty() ) { rWrt.Strm().WriteOString( sOut ); sOut = ""; } - rHWrt.OutDirection( nDir ); + rWrt.OutDirection( nDir ); } - if( rHWrt.m_bCfgOutStyles && + if( rWrt.m_bCfgOutStyles && (!pFormatInfo->aClass.isEmpty() || pFormatInfo->bScriptDependent) ) { sOut += " " OOO_STRING_SVTOOLS_HTML_O_class "=\""; @@ -899,7 +897,7 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, { if( !aClass.isEmpty() ) aClass += "-"; - switch( rHWrt.m_nCSS1Script ) + switch( rWrt.m_nCSS1Script ) { case CSS1_OUTMODE_WESTERN: aClass += "western"; @@ -919,19 +917,19 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, sOut = ""; // if necessary, output alignment - if( !rHWrt.m_bNoAlign && pAdjItem ) + if( !rWrt.m_bNoAlign && pAdjItem ) OutHTML_SvxAdjust( rWrt, *pAdjItem ); - rHWrt.m_bParaDotLeaders = bPara && rHWrt.m_bCfgPrintLayout && rHWrt.indexOfDotLeaders( + rWrt.m_bParaDotLeaders = bPara && rWrt.m_bCfgPrintLayout && rWrt.indexOfDotLeaders( pTextNd->GetAnyFormatColl().GetPoolFormatId(), pTextNd->GetText()) > -1; // and now, if necessary, the STYLE options - if (rHWrt.m_bCfgOutStyles && rInfo.moItemSet) + if (rWrt.m_bCfgOutStyles && rInfo.moItemSet) { OutCSS1_ParaTagStyleOpt( rWrt, *rInfo.moItemSet ); } - if (rHWrt.m_bParaDotLeaders) { + if (rWrt.m_bParaDotLeaders) { sOut += " " OOO_STRING_SVTOOLS_HTML_O_class "=\"" sCSS2_P_CLASS_leaders "\"><" OOO_STRING_SVTOOLS_HTML_O_span; @@ -944,7 +942,7 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, // is a </P> supposed to be written? rInfo.bOutPara = bPara && - ( rHWrt.m_bCfgOutStyles || bHasParSpace ); + ( rWrt.m_bCfgOutStyles || bHasParSpace ); // if no end tag is supposed to be written, delete it if( bNoEndTag ) @@ -957,79 +955,77 @@ static void OutHTML_SwFormat( Writer& rWrt, const SwFormat& rFormat, OSL_ENSURE( nBulletGrfLvl < MAXLEVEL, "There are not this many layers." ); const SwNumFormat& rNumFormat = aNumInfo.GetNumRule()->Get(nBulletGrfLvl); OutHTML_BulletImage( rWrt, OOO_STRING_SVTOOLS_HTML_image, rNumFormat.GetBrush(), - rHWrt.m_aBulletGrfs[nBulletGrfLvl]); + rWrt.m_aBulletGrfs[nBulletGrfLvl]); } - rHWrt.GetNumInfo() = aNumInfo; + rWrt.GetNumInfo() = aNumInfo; // reset the defaults - rHWrt.m_nDfltLeftMargin = 0; - rHWrt.m_nDfltRightMargin = 0; - rHWrt.m_nDfltFirstLineIndent = 0; - rHWrt.m_nDfltTopMargin = 0; - rHWrt.m_nDfltBottomMargin = 0; - rHWrt.m_nLeftMargin = 0; - rHWrt.m_nFirstLineIndent = 0; + rWrt.m_nDfltLeftMargin = 0; + rWrt.m_nDfltRightMargin = 0; + rWrt.m_nDfltFirstLineIndent = 0; + rWrt.m_nDfltTopMargin = 0; + rWrt.m_nDfltBottomMargin = 0; + rWrt.m_nLeftMargin = 0; + rWrt.m_nFirstLineIndent = 0; } -static void OutHTML_SwFormatOff( Writer& rWrt, const SwHTMLTextCollOutputInfo& rInfo ) +static void OutHTML_SwFormatOff( SwHTMLWriter& rWrt, const SwHTMLTextCollOutputInfo& rInfo ) { - SwHTMLWriter & rHWrt = static_cast<SwHTMLWriter&>(rWrt); - // if there is no token, we don't need to output anything if( rInfo.aToken.isEmpty() ) { - rHWrt.FillNextNumInfo(); - const SwHTMLNumRuleInfo& rNextInfo = *rHWrt.GetNextNumInfo(); + rWrt.FillNextNumInfo(); + const SwHTMLNumRuleInfo& rNextInfo = *rWrt.GetNextNumInfo(); // a bulleted list must be closed in PRE as well if( rInfo.bInNumberBulletList ) { - const SwHTMLNumRuleInfo& rNRInfo = rHWrt.GetNumInfo(); + const SwHTMLNumRuleInfo& rNRInfo = rWrt.GetNumInfo(); if( rNextInfo.GetNumRule() != rNRInfo.GetNumRule() || rNextInfo.GetDepth() != rNRInfo.GetDepth() || rNextInfo.IsNumbered() || rNextInfo.IsRestart() ) - rHWrt.ChangeParaToken( HtmlTokenId::NONE ); - OutHTML_NumberBulletListEnd( rHWrt, rNextInfo ); + rWrt.ChangeParaToken( HtmlTokenId::NONE ); + OutHTML_NumberBulletListEnd( rWrt, rNextInfo ); } else if( rNextInfo.GetNumRule() != nullptr ) - rHWrt.ChangeParaToken( HtmlTokenId::NONE ); + rWrt.ChangeParaToken( HtmlTokenId::NONE ); return; } if( rInfo.ShouldOutputToken() ) { - if( rHWrt.m_bPrettyPrint && rHWrt.m_bLFPossible ) - rHWrt.OutNewLine( true ); + if( rWrt.m_bPrettyPrint && rWrt.m_bLFPossible ) + rWrt.OutNewLine( true ); // if necessary, for BLOCKQUOTE, ADDRESS and DD another paragraph token // is output, if // - no styles are written and // - a lower spacing exists if( rInfo.bParaPossible && rInfo.bOutPara ) - HTMLOutFuncs::Out_AsciiTag( rWrt.Strm(), Concat2View(rHWrt.GetNamespace() + OOO_STRING_SVTOOLS_HTML_parabreak), false ); + HTMLOutFuncs::Out_AsciiTag( rWrt.Strm(), Concat2View(rWrt.GetNamespace() + OOO_STRING_SVTOOLS_HTML_parabreak), false ); - HTMLOutFuncs::Out_AsciiTag( rWrt.Strm(), Concat2View(rHWrt.GetNamespace() + rInfo.aToken), false ); - rHWrt.m_bLFPossible = ... etc. - the rest is truncated