20 #include <com/sun/star/text/HoriOrientation.hpp>
21 #include <com/sun/star/text/VertOrientation.hpp>
22 #include <com/sun/star/text/RelOrientation.hpp>
23 #include <com/sun/star/beans/XPropertySet.hpp>
43 #include <osl/diagnose.h>
150 {
nullptr,
nullptr, SvMacroItemId::NONE }
157 {
nullptr,
nullptr, SvMacroItemId::NONE }
180 pObj = GetHTMLControl( static_cast<const SwDrawFrameFormat &>(rFrameFormat) );
211 sal_uLong nEnd = m_pDoc->GetNodes()[nStt-1]->EndOfSectionIndex();
217 static_cast<const SwFormatCol *
>(pItem)->GetNumCols() > 1 )
227 if( nTableEnd+1 == nEnd )
232 else if( nTableEnd+2 == nEnd )
243 if( nStt==nEnd-1 && !pTextNd->
Len() )
248 if( m_pHTMLPosFlyFrames )
250 for(
auto & pHTMLPosFlyFrame : *m_pHTMLPosFlyFrames )
253 bEmpty = (nIdx != nStt) && (nIdx != nStt-1);
254 if( !bEmpty || nIdx > nStt )
276 else if( m_pDoc->GetNodes()[nStt+1]->IsTableNode() )
279 m_pDoc->
GetNodes()[nStt+1]->GetTableNode();
290 return static_cast< sal_uInt16
>(eType);
296 "number of browser configurations has changed" );
299 m_pDoc->GetAllFlyFormats(m_bWriteAll ?
nullptr : m_pCurrentPam.get(),
true));
301 for(
const auto& rpItem : aFlyPos)
314 case RndStdIds::FLY_AT_PAGE:
315 case RndStdIds::FLY_AT_FLY:
319 case RndStdIds::FLY_AT_PARA:
323 if( text::RelOrientation::FRAME == eHoriRel &&
338 case RndStdIds::FLY_AT_CHAR:
339 if( text::RelOrientation::FRAME == eHoriRel || text::RelOrientation::PRINT_AREA == eHoriRel )
350 if( !m_pHTMLPosFlyFrames )
353 m_pHTMLPosFlyFrames->insert( std::make_unique<SwHTMLPosFlyFrame>(*rpItem, pSdrObj, nMode) );
360 bool bFlysLeft =
false;
364 bool bRestart =
true;
365 while( m_pHTMLPosFlyFrames && bRestart )
367 bFlysLeft = bRestart =
false;
372 for( ;
i < m_pHTMLPosFlyFrames->size() &&
373 (*m_pHTMLPosFlyFrames)[
i]->GetNdIndex().GetIndex() < nNdIdx;
i++ )
375 for( ; !bRestart &&
i < m_pHTMLPosFlyFrames->size() &&
376 (*m_pHTMLPosFlyFrames)[
i]->GetNdIndex().GetIndex() == nNdIdx;
i++ )
386 std::unique_ptr<SwHTMLPosFlyFrame> flyHolder = m_pHTMLPosFlyFrames->erase_extract(
i);
388 if( m_pHTMLPosFlyFrames->empty() )
390 m_pHTMLPosFlyFrames.reset();
428 OString aContainerStr;
439 sOut.append(
'<').append(GetNamespace() + aContainerStr).append(
' ')
441 .append(
"sd-abs-pos").append(
'\"');
442 Strm().WriteOString( sOut.makeStringAndClear() );
453 OutCSS1_FrameFormatOptions( rFrameFormat, nFrameFlags, pSdrObject );
454 Strm().WriteChar(
'>' );
459 m_bLFPossible =
true;
466 OSL_ENSURE( aContainerStr.isEmpty(),
"Table: Container is not supposed to be here" );
480 OSL_ENSURE( aContainerStr.isEmpty(),
"Div: Container is not supposed to be here" );
487 OSL_ENSURE( aContainerStr.isEmpty(),
"Spacer: Container is not supposed to be here" );
492 static_cast<const SwDrawFrameFormat &>(rFrameFormat), dynamic_cast<const SdrUnoObj&>(*pSdrObject),
493 !aContainerStr.isEmpty() );
499 OSL_ENSURE( aContainerStr.isEmpty(),
"Marquee: Container is not supposed to be here" );
501 static_cast<const SwDrawFrameFormat &>(rFrameFormat), *pSdrObject );
514 m_bLFPossible =
true;
521 const OUString& rAlternateText,
531 !rFrameFormat.
GetName().isEmpty() )
535 sOut.append(
' ').append(pStr).
537 Strm().WriteOString( sOut.makeStringAndClear() );
546 Strm().WriteOString( sOut.makeStringAndClear() );
547 OutDirection( nDir );
555 Strm().WriteOString( sOut.makeStringAndClear() );
561 const char *pStr =
nullptr;
564 ((RndStdIds::FLY_AT_PARA == eAnchorId) || (RndStdIds::FLY_AT_CHAR == eAnchorId)) )
574 pStr = text::HoriOrientation::RIGHT == rHoriOri.
GetHoriOrient()
579 if( (nFrameOpts & HtmlFrmOpts::Align) && !pStr &&
581 (RndStdIds::FLY_AS_CHAR == eAnchorId) ) &&
584 switch( static_cast<const SwFormatVertOrient*>(pItem)->GetVertOrient() )
587 case text::VertOrientation::CHAR_TOP:
589 case text::VertOrientation::LINE_CENTER:
592 case text::VertOrientation::LINE_BOTTOM:
601 append(pStr).append(
"\"");
605 Size aTwipSpc( 0, 0 );
610 ( static_cast<const SvxLRSpaceItem*>(pItem)->GetLeft() +
611 static_cast<const SvxLRSpaceItem*>(pItem)->GetRight() ) / 2 );
612 m_nDfltLeftMargin = m_nDfltRightMargin = aTwipSpc.
Width();
618 ( static_cast<const SvxULSpaceItem*>(pItem)->GetUpper() +
619 static_cast<const SvxULSpaceItem*>(pItem)->GetLower() ) / 2 );
620 m_nDfltTopMargin = m_nDfltBottomMargin =
static_cast<sal_uInt16
>(aTwipSpc.
Height());
635 if( aPixelSpc.
Width() )
638 append(
"=\"").append(static_cast<sal_Int32>(aPixelSpc.
Width())).append(
"\"");
644 append(
"=\"").append(static_cast<sal_Int32>(aPixelSpc.
Height())).append(
"\"");
677 SwFrameSize::Fixed == static_cast<const SwFormatFrameSize *>(pItem)->GetHeightSizeType()) )
684 Size aTwipSz( (nPercentWidth ? 0
689 OSL_ENSURE( !aTwipSz.
IsEmpty(),
"Frame size minus spacing < 0!!!???" );
690 if( aTwipSz.
Width() < 0 )
692 if( aTwipSz.
Height() < 0 )
695 Size aPixelSz( 0, 0 );
709 ((nPercentWidth && nPercentWidth!=255) || aPixelSz.
Width()) )
714 sOut.append(static_cast<sal_Int32>(nPercentWidth)).append(
'%');
716 sOut.append(static_cast<sal_Int32>(aPixelSz.
Width()));
721 ((nPercentHeight && nPercentHeight!=255) || aPixelSz.
Height()) )
726 sOut.append(static_cast<sal_Int32>(nPercentHeight)).append(
'%');
728 sOut.append(static_cast<sal_Int32>(aPixelSz.
Height()));
734 Strm().WriteOString( sOut.makeStringAndClear() );
746 css::text::WrapTextMode eSurround = pSurround->
GetSurround();
750 case text::HoriOrientation::RIGHT:
754 case css::text::WrapTextMode_NONE:
755 case css::text::WrapTextMode_RIGHT:
758 case css::text::WrapTextMode_LEFT:
759 case css::text::WrapTextMode_PARALLEL:
761 m_bClearRight =
true;
775 case css::text::WrapTextMode_NONE:
776 case css::text::WrapTextMode_LEFT:
779 case css::text::WrapTextMode_RIGHT:
780 case css::text::WrapTextMode_PARALLEL:
796 append(
"=\"").append(pStr).append(
"\">");
797 sRetEndTags = sOut.makeStringAndClear();
811 !rFrameFormat.
GetName().isEmpty() && !bReplacement)
821 OString sDirection = convertDirection(nCurrentDirection);
826 if( (nFrameOptions &
HtmlFrmOpts::Alt) && !rAlternateText.empty() && !bReplacement )
832 const char* pAlignString =
nullptr;
835 ((RndStdIds::FLY_AT_PARA == eAnchorId) || (RndStdIds::FLY_AT_CHAR == eAnchorId)) && !bReplacement)
842 pAlignString = text::HoriOrientation::RIGHT == rHoriOri.
GetHoriOrient()
847 if( (nFrameOptions & HtmlFrmOpts::Align) && !pAlignString &&
849 (RndStdIds::FLY_AS_CHAR == eAnchorId) ) &&
852 switch( static_cast<const SwFormatVertOrient*>(pItem)->GetVertOrient() )
855 case text::VertOrientation::CHAR_TOP:
857 case text::VertOrientation::LINE_CENTER:
860 case text::VertOrientation::LINE_BOTTOM:
866 if (pAlignString && !bReplacement)
872 Size aTwipSpc( 0, 0 );
877 ( static_cast<const SvxLRSpaceItem*>(pItem)->GetLeft() +
878 static_cast<const SvxLRSpaceItem*>(pItem)->GetRight() ) / 2 );
879 m_nDfltLeftMargin = m_nDfltRightMargin = aTwipSpc.
Width();
885 ( static_cast<const SvxULSpaceItem*>(pItem)->GetUpper() +
886 static_cast<const SvxULSpaceItem*>(pItem)->GetLower() ) / 2 );
887 m_nDfltTopMargin = m_nDfltBottomMargin =
static_cast<sal_uInt16
>(aTwipSpc.
Height());
902 if (aPixelSpc.
Width())
942 SwFrameSize::Fixed == static_cast<const SwFormatFrameSize *>(pItem)->GetHeightSizeType()) )
949 Size aTwipSz( (nPercentWidth ? 0
954 OSL_ENSURE( !aTwipSz.
IsEmpty(),
"Frame size minus spacing < 0!!!???" );
955 if( aTwipSz.
Width() < 0 )
957 if( aTwipSz.
Height() < 0 )
960 Size aPixelSz( 0, 0 );
974 ((nPercentWidth && nPercentWidth!=255) || aPixelSz.
Width()) )
978 sWidth = OString::number(static_cast<sal_Int32>(nPercentWidth)) +
"%";
980 sWidth = OString::number(static_cast<sal_Int32>(aPixelSz.
Width()));
985 ((nPercentHeight && nPercentHeight!=255) || aPixelSz.
Height()) )
989 sHeight = OString::number(static_cast<sal_Int32>(nPercentHeight)) +
"%";
991 sHeight = OString::number(static_cast<sal_Int32>(aPixelSz.
Height()));
1005 const char* pSurroundString =
nullptr;
1009 css::text::WrapTextMode eSurround = pSurround->
GetSurround();
1013 case text::HoriOrientation::RIGHT:
1017 case css::text::WrapTextMode_NONE:
1018 case css::text::WrapTextMode_RIGHT:
1021 case css::text::WrapTextMode_LEFT:
1022 case css::text::WrapTextMode_PARALLEL:
1024 m_bClearRight =
true;
1038 case css::text::WrapTextMode_NONE:
1039 case css::text::WrapTextMode_LEFT:
1042 case css::text::WrapTextMode_RIGHT:
1043 case css::text::WrapTextMode_PARALLEL:
1045 m_bClearLeft =
true;
1054 if (pSurroundString)
1075 pURLItem =
static_cast<const SwFormatURL*
>( pItem);
1079 const ImageMap* pIMap = pAltImgMap;
1080 if( !pIMap && pURLItem )
1082 pIMap = pURLItem->
GetMap();
1090 if (!aIMapName.isEmpty())
1091 aNameBase = aIMapName;
1095 if (aIMapName.isEmpty())
1096 aIMapName = aNameBase + OUString::number(rHTMLWrt.
m_nImgMapCnt);
1106 if (aIMapName.equalsIgnoreAsciiCase(rImgMapName))
1115 aIMapName = aNameBase + OUString::number( rHTMLWrt.
m_nImgMapCnt );
1119 bool bScale =
false;
1131 OSL_ENSURE( nWidth > 0,
"Are there any graphics that are 0 twip wide!?" );
1135 if (rRealSize.
Width() != nWidth)
1148 OSL_ENSURE( nHeight > 0,
"Are there any graphics that are 0 twip high!?" );
1152 if (rRealSize.
Height() != nHeight)
1161 OString aIndMap, aIndArea;
1162 const char *pIndArea =
nullptr, *pIndMap =
nullptr;
1169 pIndArea = aIndArea.getStr();
1170 pIndMap = aIndMap.getStr();
1176 aScaledIMap.Scale(aScaleX, aScaleY);
1200 const OUString& rGraphicURL,
1201 Graphic const & rGraphic,
const OUString& rAlternateText,
1203 const char *pMarkType,
1205 const OUString& rMimeType )
1221 OUString aGraphicURL( rGraphicURL );
1229 OUString aIMapName = lclWriteOutImap(rHTMLWrt, rItemSet, rFrameFormat, rRealSize, pAltImgMap, pURLItem);
1238 if( pMarkType && !rFrameFormat.
GetName().isEmpty() )
1250 if (pURLItem || pMacItem)
1258 aMapURL = pURLItem->
GetURL();
1265 if( !aMapURL.isEmpty() || !aName.isEmpty() || !aTarget.isEmpty() || bEvents )
1270 if( !aMapURL.isEmpty() || bEvents )
1275 if( !aName.isEmpty() )
1280 if( !aTarget.isEmpty() )
1288 if (!rMacTable.
empty())
1297 sal_uInt16 nBorderWidth = 0;
1301 Size aTwipBorder( 0, 0 );
1304 const ::editeng::SvxBorderLine *pColBorderLine =
nullptr;
1305 const ::editeng::SvxBorderLine *pBorderLine = pBoxItem->
GetLeft();
1308 pColBorderLine = pBorderLine;
1309 aTwipBorder.
AdjustWidth(pBorderLine->GetOutWidth() );
1312 pBorderLine = pBoxItem->
GetRight();
1315 pColBorderLine = pBorderLine;
1316 aTwipBorder.
AdjustWidth(pBorderLine->GetOutWidth() );
1319 pBorderLine = pBoxItem->
GetTop();
1322 pColBorderLine = pBorderLine;
1329 pColBorderLine = pBorderLine;
1336 if( (aTwipBorder.
Width() || aTwipBorder.
Height()) &&
1342 if( !aPixelBorder.
Width() && aTwipBorder.
Width() )
1347 if( aPixelBorder.
Width() )
1351 static_cast<sal_uInt16
>(aPixelBorder.
Width() + aPixelBorder.
Height());
1354 if( pColBorderLine )
1367 OStringBuffer sBuffer;
1370 OUString aGraphicInBase64;
1374 sBuffer.append(
":");
1387 aHtml.attribute(aAttribute, sBuffer.makeStringAndClear().getStr());
1393 if (!rMimeType.isEmpty())
1401 if (!rMacTable.
empty())
1412 if ((nFrameOpts & HtmlFrmOpts::Border) && !bReplacement)
1422 if( !aIMapName.isEmpty() )
1431 if (rAlternateText.isEmpty())
1433 aHtml.characters(
" ");
1435 aHtml.characters(rAlternateText.toUtf8());
1453 const OUString &rGraphicURL)
1457 OUString aGraphicInBase64;
1473 else if(!aLink.isEmpty())
1484 aLink = rGraphicURL;
1486 if(!aLink.isEmpty())
1494 sOut.append(
'<').append(pTag);
1498 if(!aLink.isEmpty())
1506 sOut.append(
"list-style-image: ").append(
"url(").
1530 bool bTopCaption =
false;
1536 if( !pTableNd && pTextNd )
1542 OSL_ENSURE( pTableNd,
"Frame does not contain a table" );
1546 OSL_ENSURE( nTableEnd == nEnd - 1 ||
1547 (nTableEnd == nEnd - 2 && !bTopCaption),
1548 "Invalid frame content for a table" );
1550 if( nTableEnd == nEnd - 2 )
1551 pTextNd = rHTMLWrt.
m_pDoc->
GetNodes()[nTableEnd+1]->GetTextNode();
1554 aCaption = pTextNd->
GetText();
1560 true, &rFrameFormat );
1594 append(
"=\"").append(static_cast<sal_Int32>(nCols)).append(
"\"");
1605 MapMode(MapUnit::MapTwip) ).Width());
1608 append(
"=\"").append(static_cast<sal_Int32>(nGutter)).append(
"\"");
1629 OSL_ENSURE( pSttNd,
"Where is the start node" );
1636 true, &rFrameFormat );
1668 if( !aEndTags.isEmpty() )
1696 sOut.append(
'<').append(rHTMLWrt.
GetNamespace() + aTag);
1716 OSL_ENSURE( pSttNd,
"Where is the start node" );
1723 true, &rFrameFormat );
1733 if( !aEndTags.isEmpty() )
1747 Graphic aGraphic( const_cast<SwFrameFormat &>(rFrameFormat).MakeGraphic( &aIMap ) );
1749 OUString GraphicURL;
1754 if( aGraphic.
GetType() == GraphicType::NONE ||
1757 (XOutFlags::UseGifIfPossible|
1788 OSL_ENSURE( pGrfNd,
"Grf node expected" );
1797 OUString aGraphicURL;
1812 XOutFlags nFlags = XOutFlags::UseGifIfSensible |
1813 XOutFlags::UseNativeIfPossible;
1819 nFlags = XOutFlags::MirrorVert | XOutFlags::MirrorHorz;
1829 OUString aFilterName(
"");
1835 aFilterName =
"PNG";
1836 nFlags &= ~
XOutFlags::UseNativeIfPossible;
1838 aMimeType =
"image/png";
1848 aFilterName, nFlags, &aMM100Size );
1867 if (
xGraphic.is() && aMimeType.isEmpty())
1868 xGraphic->getPropertyValue(
"MimeType") >>= aMimeType;
1886 SAL_WARN(
"sw.html",
"SwReqIfReader::WrapGraphicInRtf() failed");
1898 pGrfNd->
GetTwipSize(), nFrameFlags,
"graphic",
nullptr, aMimeType );
1925 static_cast<const SwDrawFrameFormat &>(rFrameFormat),
1946 .append( bHeader ?
"header" :
"footer" ).append(
"\"");
1970 append(
"=\"").append(static_cast<sal_Int32>(nSize)).append(
"\"").
1971 makeStringAndClear();
1977 OSL_ENSURE( pSttNd,
"Where is the start node" );
1979 if( !bHeader && !aSpacer.isEmpty() )
2000 if( bHeader && !aSpacer.isEmpty() )
2017 if( rURL.isEmpty() || rURL[0] !=
'#' )
2023 sal_Int32
nPos = rURL.getLength();
2024 bool bFound =
false, bEncoded =
false;
2025 while( !bFound && nPos > 0 )
2034 bFound = (rURL.getLength() - nPos) >=3 && rURL[ nPos+1 ] ==
'7';
2038 bFound = (c ==
'C' || c ==
'c');
2044 if( !bFound || nPos < 2 )
2047 OUString
aURL( rURL.copy( 1 ) );
2050 OUString sCmp =
aURL.copy(bEncoded ? nPos+2 : nPos).replaceAll(
" ",
"");
2051 if( sCmp.isEmpty() )
2054 sCmp = sCmp.toAsciiLowerCase();
2056 if( sCmp ==
"region" ||
2058 sCmp ==
"graphic" ||
2067 m_aImplicitMarks.insert(
aURL );
2069 else if( sCmp ==
"outline" )
2073 OUString aOutline(
aURL.copy( 0, nPos-1 ) );
2074 SwPosition aPos( *m_pCurrentPam->GetPoint() );
2075 if( m_pDoc->GotoOutline( aPos, aOutline ) )
2079 decltype(m_aOutlineMarkPoss)::size_type nIns=0;
2080 while( nIns < m_aOutlineMarkPoss.size() &&
2081 m_aOutlineMarkPoss[nIns] < nIdx )
2084 m_aOutlineMarkPoss.insert( m_aOutlineMarkPoss.begin()+nIns, nIdx );
2089 m_aOutlineMarks.insert( m_aOutlineMarks.begin()+nIns,
aURL );
2104 nullptr != ( pTextAttr = pINetFormat->GetTextINetFormat()) &&
2108 AddLinkTarget( pINetFormat->GetValue() );
2114 auto pURL =
dynamic_cast<const SwFormatURL*
>(pItem);
2117 AddLinkTarget( pURL->GetURL() );
2118 const ImageMap *pIMap = pURL->GetMap();
2121 for(
size_t i=0;
i<pIMap->GetIMapObjectCount(); ++
i )
2123 const IMapObject* pObj = pIMap->GetIMapObject(
i );
2126 AddLinkTarget( pObj->
GetURL() );
const HtmlFrmOpts HTML_FRMOPTS_SPACER
#define OOO_STRING_SVTOOLS_HTML_O_src
Graphic GetGraphic() const
Starts a section of nodes in the document model.
static SVT_DLLPUBLIC void applyEvents(HtmlWriter &rHtmlWriter, const SvxMacroTableDtor &rMacroTable, const HTMLOutEvent *pEventTable, bool bOutStarBasic)
#define OOO_STRING_SVTOOLS_HTML_O_vspace
#define OOO_STRING_SVTOOLS_HTML_O_onload
std::set< SwPosFlyFramePtr, SwPosFlyFrameCmp > SwPosFlyFrames
tools::Long GetWidth() const
static const SdrObject * GetMarqueeTextObj(const SwDrawFrameFormat &rFormat)
constexpr TypedWhichId< SwFormatSurround > RES_SURROUND(101)
sal_uInt16 GuessFrameType(const SwFrameFormat &rFrameFormat, const SdrObject *&rpStrObj)
sal_uLong GetIndex() const
const OUString & GetBaseURL() const
#define OOO_STRING_SVTOOLS_HTML_VA_texttop
static Writer & OutHTML_FrameFormatAsSpacer(Writer &rWrt, const SwFrameFormat &rFormat)
#define OOO_STRING_SVTOOLS_HTML_O_clear
#define OOO_STRING_SVTOOLS_HTML_VA_bottom
Marks a position in the document model.
std::vector< OUString > m_aImgMapNames
#define OOO_STRING_SVTOOLS_HTML_SPTYPE_vertical
HtmlContainerFlags nContainer
sal_uInt16 GetLower() const
static SVT_DLLPUBLIC SvStream & Out_String(SvStream &, const OUString &, rtl_TextEncoding eDestEnc, OUString *pNonConvertableChars=nullptr)
static SVT_DLLPUBLIC void applyColor(HtmlWriter &rHtmlWriter, const OString &aAttributeName, const Color &rColor)
void setWidth(tools::Long nWidth)
const OUString & GetText() const
static bool GraphicToBase64(const Graphic &rGraphic, OUString &rOUString, bool bAddPrefix=true, ConvertDataFormat aTargetFormat=ConvertDataFormat::Unknown)
#define OOO_STRING_SVTOOLS_HTML_O_title
static Writer & OutHTML_FrameFormatAsMulticol(Writer &rWrt, const SwFrameFormat &rFormat, bool bInCntnr)
Point LogicToLogic(const Point &rPtSource, const MapMode *pMapModeSource, const MapMode *pMapModeDest) const
constexpr TypedWhichId< SwFormatCol > RES_COL(109)
#define OOO_STRING_SVTOOLS_HTML_O_ismap
#define OOO_STRING_SVTOOLS_HTML_VA_absmiddle
constexpr TypedWhichId< SwFormatFrameSize > RES_FRM_SIZE(89)
BitmapChecksum GetChecksum() const
OUString getBase(sal_Int32 nIndex=LAST_SEGMENT, bool bIgnoreFinalSlash=true, DecodeMechanism eMechanism=DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
sal_Int32 GetContentIndex() const
#define OOO_STRING_SVTOOLS_HTML_O_SDonmouseover
const OUString & GetName() const
#define HTMLMODE_BORDER_NONE
Writer & OutHTML_FrameFormatOLENodeGrf(Writer &rWrt, const SwFrameFormat &rFrameFormat, bool bInCntnr)
virtual sal_Int32 Len() const override
tools::Long GetRight() const
constexpr::Color COL_TRANSPARENT(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
AllHtmlFlags const aHTMLOutFrameParaFrameTable[MAX_FRMTYPES][MAX_BROWSERS]
#define OOO_STRING_SVTOOLS_HTML_O_dir
OUString m_aNonConvertableCharacters
bool IsLinkedFile() const
#define OOO_STRING_SVTOOLS_HTML_map
void OutFrameFormat(AllHtmlFlags nType, const SwFrameFormat &rFormat, const SdrObject *pSdrObj)
static SVT_DLLPUBLIC SvStream & Out_ImageMap(SvStream &, const OUString &, const ImageMap &, const OUString &, const HTMLOutEvent *pEventTable, bool bOutStarBasic, const char *pDelim, const char *pIndentArea, const char *pIndentMap, rtl_TextEncoding eDestEnc=RTL_TEXTENCODING_MS_1252, OUString *pNonConvertableChars=nullptr)
#define OOO_STRING_SVTOOLS_HTML_O_gutter
Content, content of frame (header, footer, fly).
SvStream & WriteOString(const OString &rStr)
#define OOO_STRING_SVTOOLS_HTML_O_id
size_t GetIMapObjectCount() const
const editeng::SvxBorderLine * GetRight() const
HTMLOutEvent const aImageEventTable[]
AllHtmlFlags const aHTMLOutFrameParaPrtAreaTable[MAX_FRMTYPES][MAX_BROWSERS]
SVL_DLLPUBLIC OUString simpleNormalizedMakeRelative(OUString const &baseUriReference, OUString const &uriReference)
OString maNamespace
XML namespace, in case of XHTML.
css::uno::Reference< css::graphic::XGraphic > GetXGraphic() const
const HtmlFrmOpts HTML_FRMOPTS_IMG_CSS1
HtmlPosition GetOutPos() const
#define OOO_STRING_SVTOOLS_HTML_O_alt
#define OOO_STRING_SVTOOLS_HTML_O_usemap
Writer & Out_SfxItemSet(const SwAttrFnTab, Writer &, const SfxItemSet &, bool bDeep)
static OutputDevice * GetDefaultDevice()
#define OOO_STRING_SVTOOLS_HTML_O_onmouseout
constexpr tools::Long Width() const
void OutNewLine(bool bCheck=false)
constexpr TypedWhichId< SwFormatVertOrient > RES_VERT_ORIENT(102)
const sal_uInt16 MAX_BROWSERS
#define OOO_STRING_SVTOOLS_HTML_O_size
static SVT_DLLPUBLIC SvStream & Out_AsciiTag(SvStream &, const OString &rStr, bool bOn=true)
SwTableNode * GetTableNode()
bool mbReqIF
If the ReqIF subset of XHTML should be written.
#define OOO_STRING_SVTOOLS_HTML_O_height
constexpr TypedWhichId< SwDrawFrameFormat > RES_DRAWFRMFMT(159)
SwAttrFnTab aHTMLAttrFnTab
bool setExtension(OUString const &rTheExtension, sal_Int32 nIndex=LAST_SEGMENT, bool bIgnoreFinalSlash=true, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8)
#define OOO_STRING_SVTOOLS_HTML_O_href
#define WARN_SWG_POOR_LOAD
#define OOO_STRING_SVTOOLS_HTML_O_SDonabort
sal_uLong GetIndex() const
OString GetIndentString(sal_uInt16 nIncLvl=0)
#define OOO_STRING_SVTOOLS_HTML_O_onabort
static ErrCode WriteGraphic(const Graphic &rGraphic, OUString &rFileName, const OUString &rFilterName, const XOutFlags nFlags, const Size *pMtfSize_100TH_MM=nullptr, const css::uno::Sequence< css::beans::PropertyValue > *pFilterData=nullptr)
#define OOO_STRING_SVTOOLS_HTML_VA_top
std::unique_ptr< utl::TempFile > mpTempBaseURL
Temporary base URL for paste of images.
const Graphic * GetGraphic(OUString const &referer=OUString()) const
OString OUStringToOString(std::u16string_view str, ConnectionSettings const *settings)
bool GetFileFilterNms(OUString *pFileNm, OUString *pFilterNm) const
bool IsHTMLMode(sal_uInt32 nMode) const
#define OOO_STRING_SVTOOLS_HTML_O_hspace
std::vector< SwFormatINetFormat * > m_aINetFormats
constexpr TypedWhichId< SwFormatINetFormat > RES_TXTATR_INETFMT(51)
void ChangeParaToken(HtmlTokenId nNew)
#define OOO_STRING_SVTOOLS_HTML_O_data
bool WrapGraphicInRtf(const Graphic &rGraphic, const Size &rLogicSize, SvStream &rRtf)
Wraps an image in an RTF fragment.
#define OOO_STRING_SVTOOLS_HTML_O_class
#define OOO_STRING_SVTOOLS_HTML_font
void OutImplicitMark(std::u16string_view rMark, const char *pMarkType)
const SwFrameFormat & GetFormat() const
const editeng::SvxBorderLine * GetTop() const
tools::Long GetTextLeft() const
#define OOO_STRING_SVTOOLS_HTML_O_SDonerror
The graphic frame is a replacement image of an OLE object.
rtl_TextEncoding m_eDestEnc
#define OOO_STRING_SVTOOLS_HTML_O_onerror
const editeng::SvxBorderLine * GetLeft() const
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
const HtmlFrmOpts HTML_FRMOPTS_IMG
#define OOO_STRING_SVTOOLS_HTML_O_border
void attribute(const OString &aAttribute, const char *aValue)
GraphicType GetType() const
static Writer & OutHTML_FrameFormatAsImage(Writer &rWrt, const SwFrameFormat &rFormat)
sal_uInt16 m_nHeaderFooterSpace
Writer & OutHTML_SwTableNode(Writer &rWrt, SwTableNode &rNode, const SwFrameFormat *pFlyFrameFormat, const OUString *pCaption, bool bTopCaption)
static Writer & OutHTML_FrameFormatAsMarquee(Writer &rWrt, const SwFrameFormat &rFrameFormat, const SdrObject &rSdrObj)
SVL_DLLPUBLIC Link< OUString *, bool > const & GetMaybeFileHdl()
constexpr TypedWhichId< SvxMacroItem > RES_FRMMACRO(108)
bool OutFlyFrame(sal_uLong nNdIdx, sal_Int32 nContentIdx, HtmlPosition nPos, HTMLOutContext *pContext=nullptr)
constexpr TypedWhichId< SwFormatURL > RES_URL(111)
static SVT_DLLPUBLIC SvStream & FlushToAscii(SvStream &, HTMLOutContext &rContext)
SwContentNode * GetContentNode()
static Writer & OutHTML_FrameFormatGrfNode(Writer &rWrt, const SwFrameFormat &rFormat, bool bInCntnr)
const char *const aMimeType[]
static SVT_DLLPUBLIC bool PrivateURLToInternalImg(OUString &rURL)
#define OOO_STRING_SVTOOLS_HTML_AL_left
#define OOO_STRING_SVTOOLS_HTML_O_onmouseover
#define OOO_STRING_SVTOOLS_HTML_O_name
AllHtmlFlags const aHTMLOutFramePageFlyTable[MAX_FRMTYPES][MAX_BROWSERS]
SwNodes & GetNodes()
Node is in which nodes-array/doc?
#define OOO_STRING_SVTOOLS_HTML_VA_middle
AllHtmlFlags const & GetOutMode() const
const SwTextNode * GetpTextNode() const
tools::Long GetHeight() const
#define OOO_STRING_SVTOOLS_HTML_multicol
const sal_Unicode cMarkSeparator
Writer & OutHTML_DrawFrameFormatAsMarquee(Writer &rWrt, const SwDrawFrameFormat &rFormat, const SdrObject &rSdrObject)
SfxItemPool * GetPool() const
Writer & OutHTML_Image(Writer &rWrt, const SwFrameFormat &rFrameFormat, const OUString &rGraphicURL, Graphic const &rGraphic, const OUString &rAlternateText, const Size &rRealSize, HtmlFrmOpts nFrameOpts, const char *pMarkType, const ImageMap *pAltImgMap, const OUString &rMimeType)
Frame cannot be moved in Var-direction.
static Writer & OutHTML_FrameFormatAsDivOrSpan(Writer &rWrt, const SwFrameFormat &rFrameFormat, bool bSpan)
virtual Size GetTwipSize() const override
bool setBase(OUString const &rTheBase, sal_Int32 nIndex=LAST_SEGMENT, EncodeMechanism eMechanism=EncodeMechanism::WasEncoded, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8)
const HtmlFrmOpts HTML_FRMOPTS_MULTICOL
const SwNodeIndex * GetContentIdx() const
Point LogicToPixel(const Point &rLogicPt) const
const OUString & GetGraphicLink() const
#define OOO_STRING_SVTOOLS_HTML_SPTYPE_block
OUString GetMainURL(DecodeMechanism eMechanism, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
const SwMirrorGrf & GetMirrorGrf(bool=true) const
#define OOO_STRING_SVTOOLS_HTML_O_align
#define OOO_STRING_SVTOOLS_HTML_division
AllHtmlFlags const aHTMLOutFrameParaOtherTable[MAX_FRMTYPES][MAX_BROWSERS]
const HtmlFrmOpts HTML_FRMOPTS_CNTNR
#define OOO_STRING_SVTOOLS_HTML_linebreak
sal_uLong EndOfSectionIndex() const
SwTextNode is a paragraph in the document model.
const SvxMacroTableDtor & GetMacroTable() const
constexpr sal_uInt16 RES_CHRATR_BEGIN(HINT_BEGIN)
Writer & OutHTML_DrawFrameFormatAsControl(Writer &rWrt, const SwDrawFrameFormat &rFormat, const SdrUnoObj &rFormObj, bool bInCntnr)
#define HTMLMODE_ABS_POS_FLY
#define OOO_STRING_SVTOOLS_HTML_AL_right
static Writer & OutHTML_FrameFormatTableNode(Writer &rWrt, const SwFrameFormat &rFrameFormat)
void start(const OString &aElement)
#define OOO_STRING_SVTOOLS_HTML_O_style
constexpr tools::Long Height() const
const HtmlFrmOpts HTML_FRMOPTS_IMG_CNTNR
OUString GetTitle() const
const SdrObject * GetSdrObject() const
#define OOO_STRING_SVTOOLS_HTML_O_cols
#define OOO_STRING_SVTOOLS_HTML_O_target
const o3tl::enumarray< SvxAdjust, unsigned short > aSvxToUnoAdjust USHRT_MAX
void writeFrameFormatOptions(HtmlWriter &aHtml, const SwFrameFormat &rFrameFormat, std::u16string_view rAltText, HtmlFrmOpts nFrameOpts)
const OUString * GetOrigFileName() const
const HtmlFrmOpts HTML_FRMOPTS_DIV
tools::Long AdjustWidth(tools::Long n)
#define HTMLMODE_VERT_SPACER
HTMLOutEvent const aIMapEventTable[]
OString GetNamespace() const
Determines the prefix string needed to respect the requested namespace alias.
#define OOO_STRING_SVTOOLS_HTML_spacer
const HtmlFrmOpts HTML_FRMOPTS_IMG_ALL
Writer & OutHTML_HeaderFooter(Writer &rWrt, const SwFrameFormat &rFrameFormat, bool bHeader)
constexpr TypedWhichId< SvxLRSpaceItem > RES_LR_SPACE(91)
#define OOO_STRING_SVTOOLS_HTML_image
SvStream & WriteChar(char nChar)
tools::Long AdjustHeight(tools::Long n)
constexpr sal_uInt16 RES_CHRATR_END(46)
constexpr TypedWhichId< SvxBoxItem > RES_BOX(106)
const SwAttrSet & GetSwAttrSet() const
Does node has already its own auto-attributes? Access to SwAttrSet.
#define OOO_STRING_SVTOOLS_HTML_O_SDonmouseout
sal_uInt16 CalcLineSpace(SvxBoxItemLine nLine, bool bEvenIfNoLine=false) const
std::shared_ptr< SwUnoCursor > m_pCurrentPam
const HtmlFrmOpts HTML_FRMOPTS_MULTICOL_CSS1
void setHeight(tools::Long nHeight)
void AddLinkTarget(const OUString &rURL)
#define OOO_STRING_SVTOOLS_HTML_O_type
#define OOO_STRING_SVTOOLS_HTML_O_SDonload
#define OOO_STRING_SVTOOLS_HTML_O_color
void CollectLinkTargets()
#define SAL_WARN(area, stream)
bool IsDocNodes() const
Is the NodesArray the regular one of Doc? (and not the UndoNds, ...) Implementation in doc...
static void GetEEAttrsFromDrwObj(SfxItemSet &rItemSet, const SdrObject *pObj)
#define OOO_STRING_SVTOOLS_HTML_VA_absbottom
if(!pCandidateA->getEnd().equal(pCandidateB->getStart()))
HTMLOutEvent const aAnchorEventTable[]
#define OOO_STRING_SVTOOLS_HTML_object
const SfxPoolItem & GetAttr(sal_uInt16 nWhich, bool bInParent=true) const
SS for PoolItems: hard attributation.
void OutAndSetDefList(sal_uInt16 nNewLvl)
OUString convertHyperlinkHRefValue(const OUString &rURL)
Writer & OutHTML_INetFormat(Writer &rWrt, const SwFormatINetFormat &rINetFormat, bool bOn)
#define OOO_STRING_SVTOOLS_HTML_span
Reference< XGraphic > xGraphic
const editeng::SvxBorderLine * GetBottom() const
const OUString & GetURL() const
#define OOO_STRING_SVTOOLS_HTML_anchor
constexpr TypedWhichId< SvxULSpaceItem > RES_UL_SPACE(92)
#define OOO_STRING_SVTOOLS_HTML_O_width
const Graphic & GetGrf(bool bWait=false) const
#define SAL_NEWLINE_STRING
const Size & GetSize() const
OString OutFrameFormatOptions(const SwFrameFormat &rFrameFormat, const OUString &rAltText, HtmlFrmOpts nFrameOpts)
bool CopyLocalFileToINet(OUString &rFileNm)
SwTextNode * GetTextNode()
Inline methods from Node.hxx.
OUString getExtension(sal_Int32 nIndex=LAST_SEGMENT, bool bIgnoreFinalSlash=true, DecodeMechanism eMechanism=DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
Writer & OutHTML_FrameFormatOLENode(Writer &rWrt, const SwFrameFormat &rFrameFormat, bool bInCntnr)
sal_uInt16 GetUpper() const
Writer & OutHTML_BulletImage(Writer &rWrt, const char *pTag, const SvxBrushItem *pBrush, const OUString &rGraphicURL)
SVL_DLLPUBLIC OUString SmartRel2Abs(INetURLObject const &rTheBaseURIRef, OUString const &rTheRelURIRef, Link< OUString *, bool > const &rMaybeFileHdl=Link< OUString *, bool >(), bool bCheckFileExists=true, bool bIgnoreFragment=false, INetURLObject::EncodeMechanism eEncodeMechanism=INetURLObject::EncodeMechanism::WasEncoded, INetURLObject::DecodeMechanism eDecodeMechanism=INetURLObject::DecodeMechanism::ToIUri, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8, FSysStyle eStyle=FSysStyle::Detect)
void OutCSS1_FrameFormatOptions(const SwFrameFormat &rFrameFormat, HtmlFrmOpts nFrameOpts, const SdrObject *pSdrObj=nullptr, const SfxItemSet *pItemSet=nullptr)
Base class of the Writer document model elements.