mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-07-14 03:46:15 +08:00
52 lines
1.1 KiB
C++
52 lines
1.1 KiB
C++
#include "DrawingElement.h"
|
|
#include "Frame.h"
|
|
#include "CustomShape.h"
|
|
#include "Group.h"
|
|
#include "Line.h"
|
|
#include "Rect.h"
|
|
|
|
namespace Odp
|
|
{
|
|
namespace Content
|
|
{
|
|
DrawingElement::DrawingElement()
|
|
{
|
|
}
|
|
|
|
DrawingElement::~DrawingElement()
|
|
{
|
|
}
|
|
|
|
DrawingElement::DrawingElement(const XML::XNode& node)
|
|
{
|
|
fromXML(node);
|
|
}
|
|
|
|
const DrawingElement& DrawingElement::operator =(const XML::XNode& node)
|
|
{
|
|
fromXML(node);
|
|
return *this;
|
|
}
|
|
|
|
void DrawingElement::fromXML(const XML::XNode& node)
|
|
{
|
|
const XML::XElement element(node);
|
|
if (element->XName == "frame")
|
|
m_item.reset(new Frame(node));
|
|
else if (element->XName == "custom-shape")
|
|
m_item.reset(new CustomShape(node));
|
|
else if(element->XName == "g")
|
|
m_item.reset(new Group(node));
|
|
else if(element->XName == "line")
|
|
m_item.reset(new Line(node));
|
|
else if(element->XName == "rect")
|
|
m_item.reset(new Rect(node));
|
|
else m_item.reset();
|
|
}
|
|
|
|
const XML::XNode DrawingElement::toXML() const
|
|
{
|
|
return XML::Write(m_item);
|
|
}
|
|
} // namespace Content
|
|
} // namespace Odp
|