Files
core/OFDFile/src/Content/Content.cpp
2025-04-01 00:39:17 +03:00

42 lines
756 B
C++

#include "Content.h"
namespace OFD
{
CContent::CContent()
{}
CContent::~CContent()
{
for (CLayer* pLayer : m_arLayers)
delete pLayer;
}
bool CContent::Read(CXmlReader& oLiteReader, const CRes* pDocumentRes)
{
if (L"ofd:Content" != oLiteReader.GetName())
return false;
const int nDepth = oLiteReader.GetDepth();
std::wstring wsNodeName;
while (oLiteReader.ReadNextSiblingNode(nDepth))
{
wsNodeName = oLiteReader.GetName();
if (L"ofd:Layer" == wsNodeName)
m_arLayers.push_back(new CLayer(oLiteReader, pDocumentRes));
}
return false;
}
void CContent::Draw(IRenderer* pRenderer, const CRes* pPublicRes) const
{
if (nullptr == pRenderer)
return;
for (const CLayer* pLayer : m_arLayers)
pLayer->Draw(pRenderer, pPublicRes);
}
}