mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-07-11 05:24:10 +08:00
.
This commit is contained in:
@ -17,7 +17,6 @@
|
||||
|
||||
namespace HTML
|
||||
{
|
||||
template<>
|
||||
bool CAnchorTag<CMDWriter>::Open(const std::vector<NSCSS::CNode>& arSelectors)
|
||||
{
|
||||
if (!Valid())
|
||||
@ -27,7 +26,6 @@ bool CAnchorTag<CMDWriter>::Open(const std::vector<NSCSS::CNode>& arSelectors)
|
||||
return true;
|
||||
}
|
||||
|
||||
template<>
|
||||
void CAnchorTag<CMDWriter>::Close(const NSCSS::CNode& oTagNode)
|
||||
{
|
||||
if (!Valid())
|
||||
@ -48,7 +46,6 @@ void CAnchorTag<CMDWriter>::Close(const NSCSS::CNode& oTagNode)
|
||||
m_pWriter->WriteString(L")");
|
||||
}
|
||||
|
||||
template<>
|
||||
bool CBreakTag<CMDWriter>::Read(const NSCSS::CNode& oTagNode)
|
||||
{
|
||||
if (!Valid())
|
||||
@ -59,7 +56,6 @@ bool CBreakTag<CMDWriter>::Read(const NSCSS::CNode& oTagNode)
|
||||
return true;
|
||||
}
|
||||
|
||||
template<>
|
||||
bool CPreformattedTag<CMDWriter>::Open()
|
||||
{
|
||||
if (!Valid())
|
||||
@ -71,7 +67,6 @@ bool CPreformattedTag<CMDWriter>::Open()
|
||||
return true;
|
||||
}
|
||||
|
||||
template<>
|
||||
void CPreformattedTag<CMDWriter>::Close(const std::vector<NSCSS::CNode>& arSelectors)
|
||||
{
|
||||
if (!Valid())
|
||||
@ -98,7 +93,6 @@ void CPreformattedTag<CMDWriter>::Close(const std::vector<NSCSS::CNode>& arSelec
|
||||
m_pWriter->WriteBreakLine(false);
|
||||
}
|
||||
|
||||
template<>
|
||||
bool CHeaderTag<CMDWriter>::Open(const NSCSS::CNode& oTagNode)
|
||||
{
|
||||
if (!Valid())
|
||||
@ -119,7 +113,6 @@ bool CHeaderTag<CMDWriter>::Open(const NSCSS::CNode& oTagNode)
|
||||
return true;
|
||||
}
|
||||
|
||||
template<>
|
||||
void CHeaderTag<CMDWriter>::Close()
|
||||
{
|
||||
if (Valid())
|
||||
@ -383,7 +376,6 @@ bool ConvertFileToBase64(const std::wstring& wsFilePath, UINT unWidth, UINT unHe
|
||||
return bResult;
|
||||
}
|
||||
|
||||
template<>
|
||||
bool CImageTag<CMDWriter>::Read(const std::vector<NSCSS::CNode>& arSelectors)
|
||||
{
|
||||
if (!Valid())
|
||||
@ -492,7 +484,6 @@ bool CImageTag<CMDWriter>::Read(const std::vector<NSCSS::CNode>& arSelectors)
|
||||
return true;
|
||||
}
|
||||
|
||||
template<>
|
||||
bool CImageTag<CMDWriter>::ReadSVG(const std::vector<NSCSS::CNode>& arSelectors, const std::wstring& wsSVG)
|
||||
{
|
||||
if (!Valid())
|
||||
@ -508,7 +499,6 @@ bool CImageTag<CMDWriter>::ReadSVG(const std::vector<NSCSS::CNode>& arSelectors,
|
||||
return true;
|
||||
}
|
||||
|
||||
template<>
|
||||
bool CHorizontalRuleTag<CMDWriter>::Write(const std::vector<NSCSS::CNode>& arSelectors)
|
||||
{
|
||||
if (!Valid())
|
||||
@ -521,7 +511,6 @@ bool CHorizontalRuleTag<CMDWriter>::Write(const std::vector<NSCSS::CNode>& arSel
|
||||
return true;
|
||||
}
|
||||
|
||||
template<>
|
||||
bool CBlockquoteTag<CMDWriter>::Open(const std::vector<NSCSS::CNode>& arSelectors)
|
||||
{
|
||||
if (!Valid())
|
||||
@ -533,7 +522,6 @@ bool CBlockquoteTag<CMDWriter>::Open(const std::vector<NSCSS::CNode>& arSelector
|
||||
return true;
|
||||
}
|
||||
|
||||
template<>
|
||||
void CBlockquoteTag<CMDWriter>::Close()
|
||||
{
|
||||
if (!Valid())
|
||||
@ -544,7 +532,6 @@ void CBlockquoteTag<CMDWriter>::Close()
|
||||
m_pWriter->WriteBreakLine(false);
|
||||
}
|
||||
|
||||
template<>
|
||||
bool CListTag<CMDWriter>::Open(const NSCSS::CNode& oTagNode)
|
||||
{
|
||||
if (!Valid())
|
||||
@ -566,7 +553,6 @@ bool CListTag<CMDWriter>::Open(const NSCSS::CNode& oTagNode)
|
||||
return true;
|
||||
}
|
||||
|
||||
template<>
|
||||
void CListTag<CMDWriter>::Close()
|
||||
{
|
||||
if (!Valid())
|
||||
@ -575,7 +561,6 @@ void CListTag<CMDWriter>::Close()
|
||||
m_pWriter->OutList();
|
||||
}
|
||||
|
||||
template<>
|
||||
bool CListElementTag<CMDWriter>::Open()
|
||||
{
|
||||
if (!Valid())
|
||||
@ -598,11 +583,9 @@ bool CListElementTag<CMDWriter>::Open()
|
||||
return true;
|
||||
}
|
||||
|
||||
template<>
|
||||
void CListElementTag<CMDWriter>::Close()
|
||||
{}
|
||||
|
||||
template<>
|
||||
bool CCodeTag<CMDWriter>::Open(const NSCSS::CNode& oTagNode)
|
||||
{
|
||||
if (!Valid())
|
||||
@ -623,7 +606,6 @@ bool CCodeTag<CMDWriter>::Open(const NSCSS::CNode& oTagNode)
|
||||
return true;
|
||||
}
|
||||
|
||||
template<>
|
||||
void CCodeTag<CMDWriter>::Close()
|
||||
{
|
||||
if (!Valid())
|
||||
|
||||
@ -7,51 +7,87 @@
|
||||
|
||||
namespace HTML
|
||||
{
|
||||
template<>
|
||||
bool CAnchorTag<CMDWriter>::Open(const std::vector<NSCSS::CNode>& arSelectors);
|
||||
template<>
|
||||
void CAnchorTag<CMDWriter>::Close(const NSCSS::CNode& oTagNode);
|
||||
#define CLASS_TAG_LIGHT_MD(class_name)\
|
||||
template<>\
|
||||
class C ## class_name ## Tag<CMDWriter> : public INTERFACE_TAGS::I ## class_name ## Tag, public INTERFACE_TAGS::ITag<CMDWriter>
|
||||
|
||||
template<>
|
||||
bool CBreakTag<CMDWriter>::Read(const NSCSS::CNode& oTagNode);
|
||||
CLASS_TAG_LIGHT_MD(Anchor)
|
||||
{
|
||||
public:
|
||||
CAnchorTag(CMDWriter* pWriter) : INTERFACE_TAGS::ITag<CMDWriter>(pWriter) {}
|
||||
bool Open(const std::vector<NSCSS::CNode>& arSelectors) override;
|
||||
void Close(const NSCSS::CNode& oTagNode) override;
|
||||
};
|
||||
|
||||
template<>
|
||||
bool CPreformattedTag<CMDWriter>::Open();
|
||||
template<>
|
||||
void CPreformattedTag<CMDWriter>::Close(const std::vector<NSCSS::CNode>& arSelectors);
|
||||
CLASS_TAG_LIGHT_MD(Break)
|
||||
{
|
||||
public:
|
||||
CBreakTag(CMDWriter* pWriter) : INTERFACE_TAGS::ITag<CMDWriter>(pWriter) {}
|
||||
bool Read(const NSCSS::CNode& oTagNode) override;
|
||||
};
|
||||
|
||||
template<>
|
||||
bool CHeaderTag<CMDWriter>::Open(const NSCSS::CNode& oTagNode);
|
||||
template<>
|
||||
void CHeaderTag<CMDWriter>::Close();
|
||||
CLASS_TAG_LIGHT_MD(Preformatted)
|
||||
{
|
||||
public:
|
||||
CPreformattedTag(CMDWriter* pWriter) : INTERFACE_TAGS::ITag<CMDWriter>(pWriter) {}
|
||||
bool Open() override;
|
||||
void Close(const std::vector<NSCSS::CNode>& arSelectors) override;
|
||||
};
|
||||
|
||||
template<>
|
||||
bool CImageTag<CMDWriter>::Read(const std::vector<NSCSS::CNode>& arSelectors);
|
||||
template<>
|
||||
bool CImageTag<CMDWriter>::ReadSVG(const std::vector<NSCSS::CNode>& arSelectors, const std::wstring& wsSVG);
|
||||
CLASS_TAG_LIGHT_MD(Header)
|
||||
{
|
||||
public:
|
||||
CHeaderTag(CMDWriter* pWriter) : INTERFACE_TAGS::ITag<CMDWriter>(pWriter) {}
|
||||
bool Open(const NSCSS::CNode& oTagNode) override;
|
||||
void Close() override;
|
||||
};
|
||||
|
||||
template<>
|
||||
bool CBlockquoteTag<CMDWriter>::Open(const std::vector<NSCSS::CNode>& arSelectors);
|
||||
template<>
|
||||
void CBlockquoteTag<CMDWriter>::Close();
|
||||
CLASS_TAG_LIGHT_MD(Image)
|
||||
{
|
||||
public:
|
||||
CImageTag(CMDWriter* pWriter) : INTERFACE_TAGS::ITag<CMDWriter>(pWriter) {}
|
||||
bool Read(const std::vector<NSCSS::CNode>& arSelectors) override;
|
||||
bool ReadSVG(const std::vector<NSCSS::CNode>& arSelectors, const std::wstring& wsSVG) override;
|
||||
};
|
||||
|
||||
template<>
|
||||
bool CListTag<CMDWriter>::Open(const NSCSS::CNode& oTagNode);
|
||||
template<>
|
||||
void CListTag<CMDWriter>::Close();
|
||||
CLASS_TAG_LIGHT_MD(Blockquote)
|
||||
{
|
||||
public:
|
||||
CBlockquoteTag(CMDWriter* pWriter) : INTERFACE_TAGS::ITag<CMDWriter>(pWriter) {}
|
||||
bool Open(const std::vector<NSCSS::CNode>& arSelectors) override;
|
||||
void Close() override;
|
||||
};
|
||||
|
||||
template<>
|
||||
bool CHorizontalRuleTag<CMDWriter>::Write(const std::vector<NSCSS::CNode>& arSelectors);
|
||||
CLASS_TAG_LIGHT_MD(List)
|
||||
{
|
||||
public:
|
||||
CListTag(CMDWriter* pWriter) : INTERFACE_TAGS::ITag<CMDWriter>(pWriter) {}
|
||||
bool Open(const NSCSS::CNode& oTagNode) override;
|
||||
void Close() override;
|
||||
};
|
||||
|
||||
template<>
|
||||
bool CListElementTag<CMDWriter>::Open();
|
||||
template<>
|
||||
void CListElementTag<CMDWriter>::Close();
|
||||
CLASS_TAG_LIGHT_MD(HorizontalRule)
|
||||
{
|
||||
public:
|
||||
CHorizontalRuleTag(CMDWriter* pWriter) : INTERFACE_TAGS::ITag<CMDWriter>(pWriter) {}
|
||||
bool Write(const std::vector<NSCSS::CNode>& arSelectors) override;
|
||||
};
|
||||
|
||||
template<>
|
||||
bool CCodeTag<CMDWriter>::Open(const NSCSS::CNode& oTagNode);
|
||||
template<>
|
||||
void CCodeTag<CMDWriter>::Close();
|
||||
CLASS_TAG_LIGHT_MD(ListElement)
|
||||
{
|
||||
public:
|
||||
CListElementTag(CMDWriter* pWriter) : INTERFACE_TAGS::ITag<CMDWriter>(pWriter) {}
|
||||
bool Open() override;
|
||||
void Close() override;
|
||||
};
|
||||
|
||||
CLASS_TAG_LIGHT_MD(Code)
|
||||
{
|
||||
public:
|
||||
CCodeTag(CMDWriter* pWriter) : INTERFACE_TAGS::ITag<CMDWriter>(pWriter) {}
|
||||
bool Open(const NSCSS::CNode& oTagNode) override;
|
||||
void Close() override;
|
||||
};
|
||||
|
||||
struct TElementInfo
|
||||
{
|
||||
|
||||
@ -37,7 +37,6 @@ bool UpdateImageData(const std::wstring& wsImagePath, TImageData& oImageData);
|
||||
|
||||
const static double HTML_FONTS[7] = {7.5, 10, 12, 13.5, 18, 24, 36};
|
||||
|
||||
template<>
|
||||
bool CAnchorTag<COOXMLWriter>::Open(const std::vector<NSCSS::CNode>& arSelectors)
|
||||
{
|
||||
if(!Valid())
|
||||
@ -84,7 +83,6 @@ bool CAnchorTag<COOXMLWriter>::Open(const std::vector<NSCSS::CNode>& arSelectors
|
||||
return true;
|
||||
}
|
||||
|
||||
template<>
|
||||
void CAnchorTag<COOXMLWriter>::Close(const NSCSS::CNode& oTagNode)
|
||||
{
|
||||
if (!Valid())
|
||||
@ -93,7 +91,6 @@ void CAnchorTag<COOXMLWriter>::Close(const NSCSS::CNode& oTagNode)
|
||||
m_pWriter->ClearHyperlinkData();
|
||||
}
|
||||
|
||||
template<>
|
||||
bool CAbbrTag<COOXMLWriter>::Open(const std::vector<NSCSS::CNode>& arSelectors)
|
||||
{
|
||||
if(!Valid())
|
||||
@ -116,7 +113,6 @@ bool CAbbrTag<COOXMLWriter>::Open(const std::vector<NSCSS::CNode>& arSelectors)
|
||||
return true;
|
||||
}
|
||||
|
||||
template<>
|
||||
void CAbbrTag<COOXMLWriter>::Close()
|
||||
{
|
||||
if (!Valid())
|
||||
@ -125,7 +121,6 @@ void CAbbrTag<COOXMLWriter>::Close()
|
||||
m_pWriter->GetCurrentDocument()->WriteString(L"<w:r><w:fldChar w:fldCharType=\"end\"/></w:r>");
|
||||
}
|
||||
|
||||
template<>
|
||||
bool CBreakTag<COOXMLWriter>::Read(const NSCSS::CNode& oTagNode)
|
||||
{
|
||||
if (!Valid())
|
||||
@ -437,7 +432,6 @@ bool CImageTag<COOXMLWriter>::ReadSVG(const std::vector<NSCSS::CNode>& arSelecto
|
||||
return true;
|
||||
}
|
||||
|
||||
template<>
|
||||
bool CFontTag<COOXMLWriter>::Apply(const NSCSS::CNode& oTagNode, size_t unLevel)
|
||||
{
|
||||
if (!Valid())
|
||||
@ -473,7 +467,6 @@ bool CFontTag<COOXMLWriter>::Apply(const NSCSS::CNode& oTagNode, size_t unLevel)
|
||||
return true;
|
||||
}
|
||||
|
||||
template<>
|
||||
bool CInputTag<COOXMLWriter>::Read(const std::vector<NSCSS::CNode>& arSelectors)
|
||||
{
|
||||
if (!Valid())
|
||||
@ -503,7 +496,6 @@ bool CInputTag<COOXMLWriter>::Read(const std::vector<NSCSS::CNode>& arSelectors)
|
||||
return true;
|
||||
}
|
||||
|
||||
template<>
|
||||
bool CBaseFontTag<COOXMLWriter>::Apply(const NSCSS::CNode& oTagNode)
|
||||
{
|
||||
if (!Valid())
|
||||
@ -728,7 +720,6 @@ bool CHorizontalRuleTag<COOXMLWriter>::Write(const std::vector<NSCSS::CNode>& ar
|
||||
}
|
||||
|
||||
|
||||
template<>
|
||||
bool CListTag<COOXMLWriter>::Open(const NSCSS::CNode& oTagNode)
|
||||
{
|
||||
if (!Valid())
|
||||
@ -772,7 +763,6 @@ bool CListTag<COOXMLWriter>::Open(const NSCSS::CNode& oTagNode)
|
||||
return true;
|
||||
}
|
||||
|
||||
template<>
|
||||
void CListTag<COOXMLWriter>::Close()
|
||||
{
|
||||
if (!Valid())
|
||||
@ -781,13 +771,11 @@ void CListTag<COOXMLWriter>::Close()
|
||||
m_pWriter->CloseP();
|
||||
}
|
||||
|
||||
template<>
|
||||
bool CListElementTag<COOXMLWriter>::Open()
|
||||
{
|
||||
return Valid();
|
||||
}
|
||||
|
||||
template<>
|
||||
void CListElementTag<COOXMLWriter>::Close()
|
||||
{
|
||||
if (!Valid())
|
||||
@ -1145,7 +1133,6 @@ std::wstring CalculateSidesToClean(UINT unColumnNumber, const std::vector<CTable
|
||||
}
|
||||
|
||||
|
||||
template<>
|
||||
bool CHTMLTag<COOXMLWriter>::Apply(const NSCSS::CNode& oTagNode)
|
||||
{
|
||||
if (!Valid())
|
||||
|
||||
@ -9,45 +9,77 @@
|
||||
|
||||
namespace HTML
|
||||
{
|
||||
template<>
|
||||
bool CAnchorTag<COOXMLWriter>::Open(const std::vector<NSCSS::CNode>& arSelectors);
|
||||
template<>
|
||||
void CAnchorTag<COOXMLWriter>::Close(const NSCSS::CNode& oTagNode);
|
||||
|
||||
template<>
|
||||
bool CAbbrTag<COOXMLWriter>::Open(const std::vector<NSCSS::CNode>& arSelectors);
|
||||
template<>
|
||||
void CAbbrTag<COOXMLWriter>::Close();
|
||||
|
||||
template<>
|
||||
bool CBreakTag<COOXMLWriter>::Read(const NSCSS::CNode& oTagNode);
|
||||
|
||||
template<>
|
||||
bool CFontTag<COOXMLWriter>::Apply(const NSCSS::CNode& oTagNode, size_t unLevel);
|
||||
|
||||
template<>
|
||||
bool CInputTag<COOXMLWriter>::Read(const std::vector<NSCSS::CNode>& arSelectors);
|
||||
|
||||
template<>
|
||||
bool CBaseFontTag<COOXMLWriter>::Apply(const NSCSS::CNode& oTagNode);
|
||||
|
||||
template<>
|
||||
bool CListTag<COOXMLWriter>::Open(const NSCSS::CNode& oTagNode);
|
||||
template<>
|
||||
void CListTag<COOXMLWriter>::Close();
|
||||
|
||||
template<>
|
||||
bool CListElementTag<COOXMLWriter>::Open();
|
||||
template<>
|
||||
void CListElementTag<COOXMLWriter>::Close();
|
||||
|
||||
template<>
|
||||
bool CHTMLTag<COOXMLWriter>::Apply(const NSCSS::CNode& oTagNode);
|
||||
|
||||
#define CLASS_TAG_LIGHT(class_name)\
|
||||
template<>\
|
||||
class C ## class_name ## Tag<COOXMLWriter> : public INTERFACE_TAGS::I ## class_name ## Tag, public INTERFACE_TAGS::ITag<COOXMLWriter>
|
||||
|
||||
CLASS_TAG_LIGHT(Anchor)
|
||||
{
|
||||
public:
|
||||
CAnchorTag(COOXMLWriter* pWriter) : INTERFACE_TAGS::ITag<COOXMLWriter>(pWriter) {}
|
||||
bool Open(const std::vector<NSCSS::CNode>& arSelectors) override;
|
||||
void Close(const NSCSS::CNode& oTagNode) override;
|
||||
};
|
||||
|
||||
CLASS_TAG_LIGHT(Abbr)
|
||||
{
|
||||
public:
|
||||
CAbbrTag(COOXMLWriter* pWriter) : INTERFACE_TAGS::ITag<COOXMLWriter>(pWriter) {}
|
||||
bool Open(const std::vector<NSCSS::CNode>& arSelectors) override;
|
||||
void Close() override;
|
||||
};
|
||||
|
||||
CLASS_TAG_LIGHT(Break)
|
||||
{
|
||||
public:
|
||||
CBreakTag(COOXMLWriter* pWriter) : INTERFACE_TAGS::ITag<COOXMLWriter>(pWriter) {}
|
||||
bool Read(const NSCSS::CNode& oTagNode) override;
|
||||
};
|
||||
|
||||
CLASS_TAG_LIGHT(Font)
|
||||
{
|
||||
public:
|
||||
CFontTag(COOXMLWriter* pWriter) : INTERFACE_TAGS::ITag<COOXMLWriter>(pWriter) {}
|
||||
bool Apply(const NSCSS::CNode& oTagNode, size_t unLevel) override;
|
||||
};
|
||||
|
||||
CLASS_TAG_LIGHT(Input)
|
||||
{
|
||||
public:
|
||||
CInputTag(COOXMLWriter* pWriter) : INTERFACE_TAGS::ITag<COOXMLWriter>(pWriter) {}
|
||||
bool Read(const std::vector<NSCSS::CNode>& arSelectors) override;
|
||||
};
|
||||
|
||||
CLASS_TAG_LIGHT(BaseFont)
|
||||
{
|
||||
public:
|
||||
CBaseFontTag(COOXMLWriter* pWriter) : INTERFACE_TAGS::ITag<COOXMLWriter>(pWriter) {}
|
||||
bool Apply(const NSCSS::CNode& oTagNode) override;
|
||||
};
|
||||
|
||||
CLASS_TAG_LIGHT(List)
|
||||
{
|
||||
public:
|
||||
CListTag(COOXMLWriter* pWriter) : INTERFACE_TAGS::ITag<COOXMLWriter>(pWriter) {}
|
||||
bool Open(const NSCSS::CNode& oTagNode) override;
|
||||
void Close() override;
|
||||
};
|
||||
|
||||
CLASS_TAG_LIGHT(ListElement)
|
||||
{
|
||||
public:
|
||||
CListElementTag(COOXMLWriter* pWriter) : INTERFACE_TAGS::ITag<COOXMLWriter>(pWriter) {}
|
||||
bool Open() override;
|
||||
void Close() override;
|
||||
};
|
||||
|
||||
CLASS_TAG_LIGHT(HTML)
|
||||
{
|
||||
public:
|
||||
CHTMLTag(COOXMLWriter* pWriter) : INTERFACE_TAGS::ITag<COOXMLWriter>(pWriter) {}
|
||||
bool Apply(const NSCSS::CNode& oTagNode) override;
|
||||
};
|
||||
|
||||
CLASS_TAG_LIGHT(Division)
|
||||
{
|
||||
std::stack<UINT> m_arFootnoteIDs;
|
||||
|
||||
Reference in New Issue
Block a user