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>
142 bool bInCntnr,
bool bPNGFallback );
152 {
nullptr,
nullptr, SvMacroItemId::NONE }
159 {
nullptr,
nullptr, SvMacroItemId::NONE }
217 if( pFormatCol && pFormatCol->
GetNumCols() > 1 )
227 if( nTableEnd+1 == nEnd )
232 else if( nTableEnd+2 == nEnd )
243 if( nStt==nEnd-1 && !pTextNd->
Len() )
250 SwNodeOffset nIdx = pHTMLPosFlyFrame->GetNdIndex().GetIndex();
251 bEmpty = (nIdx != nStt) && (nIdx != nStt-1);
252 if( !bEmpty || nIdx > nStt )
261 if(
GPOS_NONE != aBrush->GetGraphicPos() ||
298 const SwNode *pAnchorNode;
307 case RndStdIds::FLY_AT_PAGE:
308 case RndStdIds::FLY_AT_FLY:
312 case RndStdIds::FLY_AT_PARA:
316 if( text::RelOrientation::FRAME == eHoriRel &&
333 case RndStdIds::FLY_AT_CHAR:
334 if( text::RelOrientation::FRAME == eHoriRel || text::RelOrientation::PRINT_AREA == eHoriRel )
351 bool bFlysLeft =
false;
355 bool bRestart =
true;
358 bFlysLeft = bRestart =
false;
414 OString aContainerStr;
453 OSL_ENSURE( aContainerStr.isEmpty(),
"Table: Container is not supposed to be here" );
467 OSL_ENSURE( aContainerStr.isEmpty(),
"Div: Container is not supposed to be here" );
474 OSL_ENSURE( aContainerStr.isEmpty(),
"Spacer: Container is not supposed to be here" );
480 !aContainerStr.isEmpty() );
486 OSL_ENSURE( aContainerStr.isEmpty(),
"Marquee: Container is not supposed to be here" );
508 const OUString& rAlternateText,
517 !rFrameFormat.
GetName().isEmpty() )
521 sOut.append(OString::Concat(
" ") + pStr +
"=\"");
548 const char *pStr =
nullptr;
551 ((RndStdIds::FLY_AT_PARA == eAnchorId) || (RndStdIds::FLY_AT_CHAR == eAnchorId)) )
561 pStr = text::HoriOrientation::RIGHT == rHoriOri.
GetHoriOrient()
569 (RndStdIds::FLY_AS_CHAR == eAnchorId) ) &&
575 case text::VertOrientation::CHAR_TOP:
577 case text::VertOrientation::LINE_CENTER:
580 case text::VertOrientation::LINE_BOTTOM:
593 Size aTwipSpc( 0, 0 );
624 if( aPixelSpc.
Width() )
627 "=\"" + OString::number(aPixelSpc.
Width()) +
"\"");
633 "=\"" + OString::number(aPixelSpc.
Height()) +
"\"");
672 Size aTwipSz( (nPercentWidth ? 0
677 OSL_ENSURE( aTwipSz.
Width() >= 0 && aTwipSz.
Height() >= 0,
"Frame size minus spacing < 0!!!???" );
678 if( aTwipSz.
Width() < 0 )
680 if( aTwipSz.
Height() < 0 )
683 Size aPixelSz( 0, 0 );
697 ((nPercentWidth && nPercentWidth!=255) || aPixelSz.
Width()) )
701 sOut.append(OString::number(
static_cast<sal_Int32
>(nPercentWidth)) +
"%");
703 sOut.append(
static_cast<sal_Int32
>(aPixelSz.
Width()));
708 ((nPercentHeight && nPercentHeight!=255) || aPixelSz.
Height()) )
712 sOut.append(OString::number(
static_cast<sal_Int32
>(nPercentHeight)) +
"%");
714 sOut.append(
static_cast<sal_Int32
>(aPixelSz.
Height()));
735 css::text::WrapTextMode eSurround = pSurround->
GetSurround();
739 case text::HoriOrientation::RIGHT:
743 case css::text::WrapTextMode_NONE:
744 case css::text::WrapTextMode_RIGHT:
747 case css::text::WrapTextMode_LEFT:
748 case css::text::WrapTextMode_PARALLEL:
764 case css::text::WrapTextMode_NONE:
765 case css::text::WrapTextMode_LEFT:
768 case css::text::WrapTextMode_RIGHT:
769 case css::text::WrapTextMode_PARALLEL:
785 "=\"" + OString::Concat(pStr) +
"\">");
786 sRetEndTags = sOut.makeStringAndClear();
799 !rFrameFormat.
GetName().isEmpty() && !bReplacement)
814 if( (nFrameOptions &
HtmlFrmOpts::Alt) && !rAlternateText.empty() && !bReplacement )
820 std::string_view pAlignString;
823 ((RndStdIds::FLY_AT_PARA == eAnchorId) || (RndStdIds::FLY_AT_CHAR == eAnchorId)) && !bReplacement)
830 pAlignString = text::HoriOrientation::RIGHT == rHoriOri.
GetHoriOrient()
838 (RndStdIds::FLY_AS_CHAR == eAnchorId) ) &&
844 case text::VertOrientation::CHAR_TOP:
846 case text::VertOrientation::LINE_CENTER:
849 case text::VertOrientation::LINE_BOTTOM:
855 if (!pAlignString.empty() && !bReplacement)
861 Size aTwipSpc( 0, 0 );
892 if (aPixelSpc.
Width())
928 std::optional<SwFormatFrameSize> aFrameSize;
935 aFrameSize.emplace();
940 pFSItem = &*aFrameSize;
951 Size aTwipSz( (nPercentWidth && nPercentWidth != 255 ? 0
953 (nPercentHeight && nPercentHeight != 255 ? 0
956 OSL_ENSURE( aTwipSz.
Width() >= 0 && aTwipSz.
Height() >= 0,
"Frame size minus spacing < 0!!!???" );
957 if( aTwipSz.
Width() < 0 )
959 if( aTwipSz.
Height() < 0 )
962 Size aPixelSz( 0, 0 );
976 ((nPercentWidth && nPercentWidth!=255) || aPixelSz.
Width()) )
981 if (nPercentWidth == 255)
989 sWidth = OString::number(
static_cast<sal_Int32
>(aPixelSz.
Width()));
994 sWidth = OString::number(
static_cast<sal_Int32
>(nPercentWidth)) +
"%";
998 sWidth = OString::number(
static_cast<sal_Int32
>(aPixelSz.
Width()));
999 if (!
mbXHTML || sWidth !=
"auto")
1006 ((nPercentHeight && nPercentHeight!=255) || aPixelSz.
Height()) )
1011 if (nPercentHeight == 255)
1019 sHeight = OString::number(
static_cast<sal_Int32
>(aPixelSz.
Height()));
1024 sHeight = OString::number(
static_cast<sal_Int32
>(nPercentHeight)) +
"%";
1028 sHeight = OString::number(
static_cast<sal_Int32
>(aPixelSz.
Height()));
1029 if (!
mbXHTML || sHeight !=
"auto")
1042 if (RndStdIds::FLY_AT_PARA != nAnchorId && RndStdIds::FLY_AT_CHAR != nAnchorId)
1048 std::string_view pSurroundString;
1051 css::text::WrapTextMode eSurround = pSurround->
GetSurround();
1055 case text::HoriOrientation::RIGHT:
1059 case css::text::WrapTextMode_NONE:
1060 case css::text::WrapTextMode_RIGHT:
1063 case css::text::WrapTextMode_LEFT:
1064 case css::text::WrapTextMode_PARALLEL:
1080 case css::text::WrapTextMode_NONE:
1081 case css::text::WrapTextMode_LEFT:
1084 case css::text::WrapTextMode_RIGHT:
1085 case css::text::WrapTextMode_PARALLEL:
1096 if (!pSurroundString.empty())
1117 const ImageMap* pIMap = pAltImgMap;
1118 if( !pIMap && pURLItem )
1120 pIMap = pURLItem->
GetMap();
1128 if (!aIMapName.isEmpty())
1129 aNameBase = aIMapName;
1133 if (aIMapName.isEmpty())
1134 aIMapName = aNameBase + OUString::number(rWrt.
m_nImgMapCnt);
1144 if (aIMapName.equalsIgnoreAsciiCase(rImgMapName))
1153 aIMapName = aNameBase + OUString::number( rWrt.
m_nImgMapCnt );
1157 bool bScale =
false;
1169 OSL_ENSURE( nWidth > 0,
"Are there any graphics that are 0 twip wide!?" );
1173 if (rRealSize.
Width() != nWidth)
1186 OSL_ENSURE( nHeight > 0,
"Are there any graphics that are 0 twip high!?" );
1190 if (rRealSize.
Height() != nHeight)
1199 OString aIndMap, aIndArea;
1200 const char *pIndArea =
nullptr, *pIndMap =
nullptr;
1207 pIndArea = aIndArea.getStr();
1208 pIndMap = aIndMap.getStr();
1214 aScaledIMap.Scale(aScaleX, aScaleY);
1218 SAL_NEWLINE_STRING, pIndArea, pIndMap );
1225 SAL_NEWLINE_STRING, pIndArea, pIndMap );
1231OUString getFrameFormatText(
const SwFrameFormat& rFrameFormat)
1240 const SwNodeOffset nEnd = nodes[nStt]->EndOfSectionIndex();
1245 if (
const auto* pTextNd = nodes[i]->GetTextNode())
1250 nullptr, 0, -1,
true,
true,
false,
1256 return result.makeStringAndClear();
1262 const OUString& rGraphicURL,
1263 Graphic const & rGraphic,
const OUString& rAlternateText,
1265 const char *pMarkType,
1267 std::u16string_view rMimeType )
1282 OUString aGraphicURL( rGraphicURL );
1289 OUString aIMapName = lclWriteOutImap(rWrt, rItemSet, rFrameFormat, rRealSize, pAltImgMap, pURLItem);
1296 if( pMarkType && !rFrameFormat.
GetName().isEmpty() )
1304 if (pURLItem || pMacItem)
1312 aMapURL = pURLItem->
GetURL();
1319 if( !aMapURL.isEmpty() || !
aName.isEmpty() || !aTarget.isEmpty() || bEvents )
1324 if( !aMapURL.isEmpty() || bEvents )
1329 if( !
aName.isEmpty() )
1334 if( !aTarget.isEmpty() )
1342 if (!rMacTable.
empty())
1356 Size aTwipBorder( 0, 0 );
1357 const ::editeng::SvxBorderLine *pColBorderLine =
nullptr;
1358 const ::editeng::SvxBorderLine *pBorderLine = pBoxItem->
GetLeft();
1361 pColBorderLine = pBorderLine;
1362 aTwipBorder.
AdjustWidth(pBorderLine->GetOutWidth() );
1365 pBorderLine = pBoxItem->
GetRight();
1368 pColBorderLine = pBorderLine;
1369 aTwipBorder.
AdjustWidth(pBorderLine->GetOutWidth() );
1372 pBorderLine = pBoxItem->
GetTop();
1375 pColBorderLine = pBorderLine;
1382 pColBorderLine = pBorderLine;
1389 if( (aTwipBorder.
Width() || aTwipBorder.
Height()) &&
1395 if( !aPixelBorder.
Width() && aTwipBorder.
Width() )
1400 if( aPixelBorder.
Width() )
1404 o3tl::narrowing<sal_uInt16>(aPixelBorder.
Width() + aPixelBorder.
Height());
1407 if( pColBorderLine )
1422 OUString aGraphicInBase64;
1445 if (!rMimeType.empty())
1453 if (!rMacTable.
empty())
1474 if( !aIMapName.isEmpty() )
1481 OUString aAltText = rAlternateText;
1484 if (OUString aFrameText = getFrameFormatText(rFrameFormat); !aFrameText.isEmpty())
1485 aAltText = aFrameText;
1489 if (aAltText.isEmpty())
1516 const OUString &rGraphicURL)
1518 OUString aGraphicInBase64;
1534 else if(!aLink.isEmpty())
1545 aLink = rGraphicURL;
1547 if(!aLink.isEmpty())
1555 sOut.append(OString::Concat(
"<") + pTag);
1558 if(!aLink.isEmpty())
1567 sOut.append(
"list-style-image: url("
1590 bool bTopCaption =
false;
1596 if( !pTableNd && pTextNd )
1602 OSL_ENSURE( pTableNd,
"Frame does not contain a table" );
1606 OSL_ENSURE( nTableEnd == nEnd - 1 ||
1607 (nTableEnd == nEnd - 2 && !bTopCaption),
1608 "Invalid frame content for a table" );
1610 if( nTableEnd == nEnd - 2 )
1614 aCaption = pTextNd->
GetText();
1620 true, &rFrameFormat );
1651 "=\"" + OString::number(nCols) +
"\"");
1656 if( nGutter!=USHRT_MAX )
1661 ->LogicToPixel(
Size(nGutter,0),
1665 "=\"" + OString::number(nGutter) +
"\"");
1687 OSL_ENSURE( pSttNd,
"Where is the start node" );
1694 true, &rFrameFormat );
1724 if( !aEndTags.isEmpty() )
1770 OSL_ENSURE( pSttNd,
"Where is the start node" );
1777 true, &rFrameFormat );
1787 if( !aEndTags.isEmpty() )
1805 OUString
aName =
aURL.getBase() +
"_" +
aURL.getExtension() +
"_"
1808 aURL.setExtension(
u"ole");
1813 SAL_WARN(
"sw.html",
"SwReqIfReader::WrapGraphicInRtf() failed");
1819 rWrt.
Strm().
WriteOString(Concat2View(
" data=\"" + aFileName.toUtf8() +
"\""));
1843 std::optional<Size> aDPI;
1848 Graphic aGraphic(
const_cast<SwFrameFormat &
>(rFrameFormat).MakeGraphic( &aIMap, 2100000, aDPI ) );
1855 aGraphic = pGrafObj->GetGraphic();
1860 bWritePNGFallback =
false;
1865 OUString GraphicURL;
1872 OUString aFilterName(
"JPG");
1873 XOutFlags nFlags = XOutFlags::UseGifIfPossible | XOutFlags::UseNativeIfPossible;
1875 if (rWrt.
mbReqIF && !bWritePNGFallback)
1878 aFilterName =
"PNG";
1879 nFlags = XOutFlags::NONE;
1885 aFilterName.clear();
1889 if( aGraphic.
GetType() == GraphicType::NONE ||
1904 uno::Reference<beans::XPropertySet> xGraphic(aGraphic.
GetXGraphic(), uno::UNO_QUERY);
1905 if (xGraphic.is() &&
aMimeType.isEmpty())
1906 xGraphic->getPropertyValue(
"MimeType") >>=
aMimeType;
1916 if (bWritePNGFallback && aLink.
GetType() != GfxLinkType::NativePng)
1929 bool bInCntnr,
bool bPNGFallback )
1939 OSL_ENSURE( pGrfNd,
"Grf node expected" );
1949 if (aGraphic.
GetType() == GraphicType::GdiMetafile)
1952 bWritePNGFallback =
false;
1955 OUString aGraphicURL;
1970 XOutFlags nFlags = XOutFlags::UseGifIfSensible |
1971 XOutFlags::UseNativeIfPossible;
1977 nFlags = XOutFlags::MirrorVert | XOutFlags::MirrorHorz;
1986 OUString aFilterName;
1992 if (!bWritePNGFallback)
1998 aFilterName =
"PNG";
2007 const_cast<Graphic&
>(rGraphic).makeAvailable();
2009 if (rWrt.
mbReqIF && bWritePNGFallback)
2012 const std::shared_ptr<VectorGraphicData>& pVectorGraphicData = rGraphic.
getVectorGraphicData();
2013 if (pVectorGraphicData && pVectorGraphicData->getType() == VectorGraphicDataType::Svg)
2015 aFilterName =
"svg";
2019 aFilterName =
"emf";
2021 else if (pVectorGraphicData && pVectorGraphicData->getType() == VectorGraphicDataType::Wmf)
2023 aFilterName =
"wmf";
2027 aFilterName =
"tif";
2032 aFilterName, nFlags, &aMM100Size,
nullptr, &
aMimeType );
2050 uno::Reference<beans::XPropertySet> xGraphic(aGraphic.
GetXGraphic(), uno::UNO_QUERY);
2051 if (xGraphic.is() &&
aMimeType.isEmpty())
2052 xGraphic->getPropertyValue(
"MimeType") >>=
aMimeType;
2061 if (bWritePNGFallback && aLink.
GetType() != GfxLinkType::NativePng)
2110 .append( bHeader ?
"header" :
"footer" ).append(
"\"");
2134 "=\"" + OString::number(nSize) +
"\"";
2140 OSL_ENSURE( pSttNd,
"Where is the start node" );
2142 if( !bHeader && !aSpacer.isEmpty() )
2163 if( bHeader && !aSpacer.isEmpty() )
2180 if(
aURL.empty() ||
aURL[0] !=
'#' )
2187 bool bFound =
false, bEncoded =
false;
2188 while( !bFound &&
nPos > 0 )
2201 bFound = (c ==
'C' || c ==
'c');
2207 if( !bFound ||
nPos < 2 )
2213 OUString sCmp = OUString(
aURL.substr(bEncoded ?
nPos+2 :
nPos)).replaceAll(
" ",
"");
2214 if( sCmp.isEmpty() )
2217 sCmp = sCmp.toAsciiLowerCase();
2219 if( sCmp ==
"region" ||
2221 sCmp ==
"graphic" ||
2226 OUString aURL2(
aURL);
2233 else if( sCmp ==
"outline" )
2237 OUString aOutline(
aURL.substr( 0,
nPos-1 ) );
2249 OUString aURL2(
aURL);
2269 nullptr != ( pTextAttr = pINetFormat->GetTextINetFormat()) &&
2279 auto pURL =
dynamic_cast<const SwFormatURL*
>(pItem);
2283 const ImageMap *pIMap = pURL->GetMap();
static OutputDevice * GetDefaultDevice()
GfxLinkType GetType() const
css::uno::Reference< css::graphic::XGraphic > GetXGraphic() const
GraphicType GetType() const
GfxLink GetGfxLink() const
BitmapChecksum GetChecksum() const
const std::shared_ptr< VectorGraphicData > & getVectorGraphicData() const
void attribute(std::string_view aAttribute, const char *aValue)
bool end(const OString &aElement)
void start(const OString &aElement)
void characters(std::string_view rChars)
const OUString & GetURL() const
const OUString & GetName() const
IMapObject * GetIMapObject(size_t nPos) const
size_t GetIMapObjectCount() const
SAL_WARN_UNUSED_RESULT Point LogicToPixel(const Point &rLogicPt) const
Item2Range GetItemSurrogates(sal_uInt16 nWhich) const
SfxItemPool * GetPool() const
const T * GetItemIfSet(TypedWhichId< T > nWhich, bool bSrchInParent=true) const
constexpr tools::Long Height() const
tools::Long AdjustHeight(tools::Long n)
void setWidth(tools::Long nWidth)
tools::Long AdjustWidth(tools::Long n)
void setHeight(tools::Long nHeight)
constexpr tools::Long Width() const
SvStream & WriteOString(std::string_view rStr)
SvStream & WriteChar(char nChar)
const editeng::SvxBorderLine * GetTop() const
sal_Int16 CalcLineSpace(SvxBoxItemLine nLine, bool bEvenIfNoLine=false, bool bAllowNegative=false) const
const editeng::SvxBorderLine * GetRight() const
const editeng::SvxBorderLine * GetLeft() const
const editeng::SvxBorderLine * GetBottom() const
const Graphic * GetGraphic(OUString const &referer=OUString()) const
const OUString & GetGraphicLink() const
tools::Long GetRight() const
tools::Long GetLeft() const
const SvxMacroTableDtor & GetMacroTable() const
tools::Long GetRight() const
tools::Long GetHeight() const
tools::Long GetWidth() const
const Size & GetSize() const
tools::Long GetTextLeft() const
sal_uInt16 GetUpper() const
sal_uInt16 GetLower() const
const SwMirrorGrf & GetMirrorGrf(bool=true) const
const SfxPoolItem & GetAttr(sal_uInt16 nWhich, bool bInParent=true) const
SS for PoolItems: hard attributation.
const SwAttrSet & GetSwAttrSet() const
Does node has already its own auto-attributes? Access to SwAttrSet.
bool GotoOutline(SwPosition &rPos, const OUString &rName, SwRootFrame const *=nullptr) const
SwPosFlyFrames GetAllFlyFormats(const SwPaM *, bool bDrawAlso, bool bAsCharAlso=false) const
Returns positions of all FlyFrames in the document.
const SwAttrPool & GetAttrPool() const
Content, content of frame (header, footer, fly).
const SwNodeIndex * GetContentIdx() const
virtual Size GetTwipSize() const override
bool IsLinkedFile() const
const Graphic & GetGrf(bool bWait=false) const
bool GetFileFilterNms(OUString *pFileNm, OUString *pFilterNm) const
const SdrObject * GetSdrObject() const
const SwFrameFormat & GetFormat() const
sal_Int32 GetContentIndex() const
AllHtmlFlags const & GetOutMode() const
HtmlPosition GetOutPos() const
bool mbXHTML
If XHTML markup should be written instead of HTML.
std::vector< OUString > m_aOutlineMarks
void CollectLinkTargets()
void OutAndSetDefList(sal_uInt16 nNewLvl)
SwHTMLPosFlyFrames m_aHTMLPosFlyFrames
void ChangeParaToken(HtmlTokenId nNew)
static const SdrObject * GetMarqueeTextObj(const SwDrawFrameFormat &rFormat)
std::set< OUString > m_aImplicitMarks
static OString convertDirection(SvxFrameDirection nDirection)
std::vector< OUString > m_aImgMapNames
SwHTMLFrameType GuessFrameType(const SwFrameFormat &rFrameFormat, const SdrObject *&rpStrObj)
void OutDirection(SvxFrameDirection nDir)
void OutFrameFormat(AllHtmlFlags nType, const SwFrameFormat &rFormat, const SdrObject *pSdrObj)
OUString convertHyperlinkHRefValue(const OUString &rURL)
std::optional< sal_Int32 > m_nShapeDPI
DPI used when exporting a vector shape as a bitmap.
std::vector< SwNodeOffset > m_aOutlineMarkPoss
std::unique_ptr< utl::TempFileNamed > mpTempBaseURL
Temporary base URL for paste of images.
void AddLinkTarget(std::u16string_view aURL)
bool m_bExportImagesAsOLE
ReqIF mode: export images as OLE objects.
sal_Int32 m_nDfltRightMargin
std::vector< SwFormatINetFormat * > m_aINetFormats
OString GetNamespace() const
Determines the prefix string needed to respect the requested namespace alias.
sal_Int32 m_nDfltLeftMargin
bool mbReqIF
If the ReqIF subset of XHTML should be written.
OString OutFrameFormatOptions(const SwFrameFormat &rFrameFormat, const OUString &rAltText, HtmlFrmOpts nFrameOpts)
OString GetIndentString(sal_uInt16 nIncLvl=0)
void OutCSS1_FrameFormatOptions(const SwFrameFormat &rFrameFormat, HtmlFrmOpts nFrameOpts, const SdrObject *pSdrObj=nullptr, const SfxItemSet *pItemSet=nullptr)
sal_uInt16 m_nDfltTopMargin
sal_uInt16 m_nHeaderFooterSpace
static SwHTMLFrameType GuessOLENodeFrameType(const SwNode &rNd)
sal_uInt16 m_nDfltBottomMargin
void OutNewLine(bool bCheck=false)
OString maNamespace
XML namespace, in case of XHTML.
void writeFrameFormatOptions(HtmlWriter &aHtml, const SwFrameFormat &rFrameFormat, std::u16string_view rAltText, HtmlFrmOpts nFrameOpts)
static const SdrObject * GetHTMLControl(const SwDrawFrameFormat &rFormat)
bool IsHTMLMode(sal_uInt32 nMode) const
SvxFrameDirection GetHTMLDirection(SvxFrameDirection nDir) const
static void GetEEAttrsFromDrwObj(SfxItemSet &rItemSet, const SdrObject *pObj)
void OutImplicitMark(std::u16string_view rMark, const char *pMarkType)
bool OutFlyFrame(SwNodeOffset nNdIdx, sal_Int32 nContentIdx, HtmlPosition nPos)
OUString GetTitle() const
Graphic GetGraphic() const
Marks a node in the document model.
SwNodeOffset GetIndex() const
Base class of the Writer document model elements.
SwTextNode * GetTextNode()
Inline methods from Node.hxx.
SwNodeOffset GetIndex() const
SwNodes & GetNodes()
Node is in which nodes-array/doc?
SwNodeOffset EndOfSectionIndex() const
SwContentNode * GetContentNode()
SwTableNode * GetTableNode()
bool IsDocNodes() const
Is the NodesArray the regular one of Doc? (and not the UndoNds, ...) Implementation in doc....
For querying current flys in document.
Starts a section of nodes in the document model.
SwTextAttr subclass that tracks the location of the wrapped SwFormatURL.
const SwTextNode * GetpTextNode() const
SwTextNode is a paragraph in the document model.
virtual sal_Int32 Len() const override
const OUString & GetText() const
const OUString * GetOrigFileName() const
std::shared_ptr< SwUnoCursor > m_pCurrentPam
const OUString & GetBaseURL() const
bool CopyLocalFileToINet(OUString &rFileNm)
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, OUString *pMediaType=nullptr)
static bool GraphicToBase64(const Graphic &rGraphic, OUString &rOUString, bool bAddPrefix=true, ConvertDataFormat aTargetFormat=ConvertDataFormat::Unknown)
Value erase_extract(size_t index)
std::pair< const_iterator, bool > insert(Value &&x)
constexpr ::Color COL_TRANSPARENT(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
EmbeddedObjectRef * pObject
std::set< SwPosFlyFrame, SwPosFlyFrameCmp > SwPosFlyFrames
@ Fixed
Frame cannot be moved in Var-direction.
constexpr TypedWhichId< SwFormatURL > RES_URL(117)
constexpr TypedWhichId< SwFormatFrameSize > RES_FRM_SIZE(89)
constexpr TypedWhichId< SwFormatCol > RES_COL(115)
constexpr TypedWhichId< SwFormatVertOrient > RES_VERT_ORIENT(108)
constexpr TypedWhichId< SwFormatINetFormat > RES_TXTATR_INETFMT(51)
constexpr TypedWhichId< SvxMacroItem > RES_FRMMACRO(114)
constexpr TypedWhichId< SwDrawFrameFormat > RES_DRAWFRMFMT(165)
constexpr TypedWhichId< SvxBoxItem > RES_BOX(112)
constexpr TypedWhichId< SvxRightMarginItem > RES_MARGIN_RIGHT(93)
constexpr TypedWhichId< SvxTextLeftMarginItem > RES_MARGIN_TEXTLEFT(92)
constexpr TypedWhichId< SwFormatSurround > RES_SURROUND(107)
constexpr TypedWhichId< SvxLRSpaceItem > RES_LR_SPACE(97)
constexpr TypedWhichId< SvxULSpaceItem > RES_UL_SPACE(98)
HTMLOutEvent const aAnchorEventTable[]
SwAttrFnTab aHTMLAttrFnTab
SwHTMLWriter & OutHTML_INetFormat(SwHTMLWriter &rWrt, const SwFormatINetFormat &rINetFormat, bool bOn)
SwHTMLWriter & OutHTML_DrawFrameFormatAsMarquee(SwHTMLWriter &rWrt, const SwDrawFrameFormat &rFormat, const SdrObject &rSdrObject)
AllHtmlFlags getHTMLOutFrameParaPrtAreaTable(SwHTMLFrameType eFrameType, sal_uInt16 nExportMode)
AllHtmlFlags getHTMLOutFramePageFlyTable(SwHTMLFrameType eFrameType, sal_uInt16 nExportMode)
AllHtmlFlags getHTMLOutFrameParaOtherTable(SwHTMLFrameType eFrameType, sal_uInt16 nExportMode)
AllHtmlFlags getHTMLOutFrameParaFrameTable(SwHTMLFrameType eFrameType, sal_uInt16 nExportMode)
SwHTMLWriter & OutHTML_HeaderFooter(SwHTMLWriter &rWrt, const SwFrameFormat &rFrameFormat, bool bHeader)
static SwHTMLWriter & OutHTML_FrameFormatAsDivOrSpan(SwHTMLWriter &rWrt, const SwFrameFormat &rFrameFormat, bool bSpan)
SwHTMLWriter & OutHTML_BulletImage(SwHTMLWriter &rWrt, const char *pTag, const SvxBrushItem *pBrush, const OUString &rGraphicURL)
static SwHTMLWriter & OutHTML_FrameFormatTableNode(SwHTMLWriter &rWrt, const SwFrameFormat &rFrameFormat)
HTMLOutEvent const aIMapEventTable[]
HTMLOutEvent const aImageEventTable[]
const HtmlFrmOpts HTML_FRMOPTS_SPACER
static SwHTMLWriter & OutHTML_FrameFormatAsMulticol(SwHTMLWriter &rWrt, const SwFrameFormat &rFormat, bool bInCntnr)
const HtmlFrmOpts HTML_FRMOPTS_IMG_CNTNR
SwHTMLWriter & OutHTML_ImageEnd(HtmlWriter &rHtml, SwHTMLWriter &rWrt)
static SwHTMLWriter & OutHTML_FrameFormatGrfNode(SwHTMLWriter &rWrt, const SwFrameFormat &rFormat, bool bInCntnr, bool bPNGFallback)
const HtmlFrmOpts HTML_FRMOPTS_IMG
static void OutHTML_ImageOLEEnd(SwHTMLWriter &rWrt)
Ends the OLE version of an image in the ReqIF + OLE case.
const HtmlFrmOpts HTML_FRMOPTS_DIV
const HtmlFrmOpts HTML_FRMOPTS_MULTICOL
static SwHTMLWriter & OutHTML_FrameFormatAsImage(SwHTMLWriter &rWrt, const SwFrameFormat &rFormat, bool bPNGFallback)
SwHTMLWriter & OutHTML_ImageStart(HtmlWriter &rHtml, SwHTMLWriter &rWrt, const SwFrameFormat &rFrameFormat, const OUString &rGraphicURL, Graphic const &rGraphic, const OUString &rAlternateText, const Size &rRealSize, HtmlFrmOpts nFrameOpts, const char *pMarkType, const ImageMap *pAltImgMap, std::u16string_view rMimeType)
const HtmlFrmOpts HTML_FRMOPTS_CNTNR
const HtmlFrmOpts HTML_FRMOPTS_MULTICOL_CSS1
static SwHTMLWriter & OutHTML_FrameFormatAsMarquee(SwHTMLWriter &rWrt, const SwFrameFormat &rFrameFormat, const SdrObject &rSdrObj)
const HtmlFrmOpts HTML_FRMOPTS_IMG_CSS1
const HtmlFrmOpts HTML_FRMOPTS_IMG_ALL
static void OutHTML_ImageOLEStart(SwHTMLWriter &rWrt, const Graphic &rGraphic, const SwFrameFormat &rFrameFormat)
Starts the OLE version of an image in the ReqIF + OLE case.
static SwHTMLWriter & OutHTML_FrameFormatAsSpacer(SwHTMLWriter &rWrt, const SwFrameFormat &rFormat)
SwHTMLWriter & OutHTML_DrawFrameFormatAsControl(SwHTMLWriter &rWrt, const SwDrawFrameFormat &rFormat, const SdrUnoObj &rFormObj, bool bInCntnr)
#define OOO_STRING_SVTOOLS_HTML_O_height
#define OOO_STRING_SVTOOLS_HTML_SPTYPE_vertical
#define OOO_STRING_SVTOOLS_HTML_O_data
#define OOO_STRING_SVTOOLS_HTML_O_target
#define OOO_STRING_SVTOOLS_HTML_O_clear
#define OOO_STRING_SVTOOLS_HTML_O_color
#define OOO_STRING_SVTOOLS_HTML_AL_left
#define OOO_STRING_SVTOOLS_HTML_O_SDonmouseover
#define OOO_STRING_SVTOOLS_HTML_O_align
#define OOO_STRING_SVTOOLS_HTML_division
#define OOO_STRING_SVTOOLS_HTML_O_title
#define OOO_STRING_SVTOOLS_HTML_O_SDonerror
#define OOO_STRING_SVTOOLS_HTML_VA_middle
#define OOO_STRING_SVTOOLS_HTML_O_SDonmouseout
#define OOO_STRING_SVTOOLS_HTML_O_onmouseout
#define OOO_STRING_SVTOOLS_HTML_O_dir
#define OOO_STRING_SVTOOLS_HTML_spacer
#define OOO_STRING_SVTOOLS_HTML_O_onmouseover
#define OOO_STRING_SVTOOLS_HTML_VA_absmiddle
#define OOO_STRING_SVTOOLS_HTML_O_size
#define OOO_STRING_SVTOOLS_HTML_SPTYPE_block
#define OOO_STRING_SVTOOLS_HTML_anchor
#define OOO_STRING_SVTOOLS_HTML_VA_bottom
#define OOO_STRING_SVTOOLS_HTML_O_onerror
#define OOO_STRING_SVTOOLS_HTML_multicol
#define OOO_STRING_SVTOOLS_HTML_span
#define OOO_STRING_SVTOOLS_HTML_VA_absbottom
#define OOO_STRING_SVTOOLS_HTML_O_src
#define OOO_STRING_SVTOOLS_HTML_VA_top
#define OOO_STRING_SVTOOLS_HTML_O_cols
#define OOO_STRING_SVTOOLS_HTML_O_SDonabort
#define OOO_STRING_SVTOOLS_HTML_image
#define OOO_STRING_SVTOOLS_HTML_O_SDonload
#define OOO_STRING_SVTOOLS_HTML_map
#define OOO_STRING_SVTOOLS_HTML_O_class
#define OOO_STRING_SVTOOLS_HTML_O_href
#define OOO_STRING_SVTOOLS_HTML_O_onabort
#define OOO_STRING_SVTOOLS_HTML_O_hspace
#define OOO_STRING_SVTOOLS_HTML_VA_texttop
#define OOO_STRING_SVTOOLS_HTML_AL_right
#define OOO_STRING_SVTOOLS_HTML_O_ismap
#define OOO_STRING_SVTOOLS_HTML_O_border
#define OOO_STRING_SVTOOLS_HTML_O_vspace
#define OOO_STRING_SVTOOLS_HTML_O_type
#define OOO_STRING_SVTOOLS_HTML_O_onload
#define OOO_STRING_SVTOOLS_HTML_O_name
#define OOO_STRING_SVTOOLS_HTML_font
#define OOO_STRING_SVTOOLS_HTML_O_id
#define OOO_STRING_SVTOOLS_HTML_O_gutter
#define OOO_STRING_SVTOOLS_HTML_O_width
#define OOO_STRING_SVTOOLS_HTML_object
#define OOO_STRING_SVTOOLS_HTML_linebreak
#define OOO_STRING_SVTOOLS_HTML_O_usemap
#define OOO_STRING_SVTOOLS_HTML_O_alt
#define OOO_STRING_SVTOOLS_HTML_O_style
SwHTMLWriter & OutHTML_FrameFormatOLENode(SwHTMLWriter &rWrt, const SwFrameFormat &rFrameFormat, bool bInCntnr)
SwHTMLWriter & OutHTML_FrameFormatOLENodeGrf(SwHTMLWriter &rWrt, const SwFrameFormat &rFrameFormat, bool bInCntnr, bool bWriteReplacementGraphic)
SwHTMLWriter & OutHTML_SwTableNode(SwHTMLWriter &rWrt, SwTableNode &rNode, const SwFrameFormat *pFlyFrameFormat, const OUString *pCaption, bool bTopCaption)
#define SAL_WARN(area, stream)
if(aStr !=aBuf) UpdateName_Impl(m_xFollowLb.get()
bool WrapGraphicInRtf(const Graphic &rGraphic, const SwFrameFormat &rFormat, SvStream &rRtf)
Wraps an image in an RTF fragment.
SVL_DLLPUBLIC Link< OUString *, bool > const & GetMaybeFileHdl()
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)
SVL_DLLPUBLIC OUString simpleNormalizedMakeRelative(OUString const &baseUriReference, OUString const &uriReference)
OUString encodeForXml(std::u16string_view rStr)
constexpr Point convert(const Point &rPoint, o3tl::Length eFrom, o3tl::Length eTo)
OString OUStringToOString(std::u16string_view str, ConnectionSettings const *settings)
const sal_Unicode *const aMimeType[]
HtmlContainerFlags nContainer
static SVT_DLLPUBLIC SvStream & Out_AsciiTag(SvStream &, std::string_view rStr, bool bOn=true)
static SVT_DLLPUBLIC SvStream & Out_String(SvStream &, const OUString &, OUString *pNonConvertableChars=nullptr)
static SVT_DLLPUBLIC bool PrivateURLToInternalImg(OUString &rURL)
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)
static SVT_DLLPUBLIC SvStream & FlushToAscii(SvStream &)
static SVT_DLLPUBLIC void applyEvents(HtmlWriter &rHtmlWriter, const SvxMacroTableDtor &rMacroTable, const HTMLOutEvent *pEventTable, bool bOutStarBasic)
static SVT_DLLPUBLIC void applyColor(HtmlWriter &rHtmlWriter, std::string_view aAttributeName, const Color &rColor)
Marks a position in the document model.
SwNodeOffset GetNodeIndex() const
#define WARN_SWG_POOR_LOAD
const sal_Unicode cMarkSeparator
SwHTMLWriter & Out_SfxItemSet(const SwAttrFnTab, SwHTMLWriter &, const SfxItemSet &, bool bDeep)
@ Replacement
The graphic frame is a replacement image of an OLE object.
#define HTMLMODE_BORDER_NONE
#define HTMLMODE_ABS_POS_FLY
#define HTMLMODE_VERT_SPACER