Add PDF writer.

This commit is contained in:
jmsgrogan 2022-01-01 18:46:31 +00:00
parent c05b7b6315
commit 9c116b1efd
72 changed files with 1819 additions and 114 deletions

View file

@ -68,3 +68,13 @@ std::size_t XmlElement::GetNumAttributes() const
{
return mAttributes.size();
}
std::size_t XmlElement::GetNumChildren() const
{
return mChildren.size();
}
XmlElement* XmlElement::GetChild(std::size_t index) const
{
return mChildren[index].get();
}

View file

@ -1,18 +1,13 @@
#pragma once
#include "XmlAttribute.h"
#include <memory>
#include <vector>
#include <string>
#include "xml-elements/XmlAttribute.h"
class XmlElement
{
protected:
std::string mTagName;
std::vector<XmlAttributeUPtr> mAttributes;
std::vector<std::unique_ptr<XmlElement> > mChildren;
std::string mText;
public:
XmlElement(const std::string& tagName);
virtual ~XmlElement() = default;
@ -28,8 +23,17 @@ public:
XmlAttribute* GetAttribute(std::size_t index) const;
std::size_t GetNumAttributes() const;
std::size_t GetNumChildren() const;
XmlElement* GetChild(std::size_t index) const;
void SetText(const std::string& text);
void SetTagName(const std::string& tagName);
protected:
std::string mTagName;
std::vector<XmlAttributeUPtr> mAttributes;
std::vector<std::unique_ptr<XmlElement> > mChildren;
std::string mText;
};
using XmlElementPtr = std::shared_ptr<XmlElement>;

View file

@ -2,12 +2,11 @@
#include <memory>
#include <vector>
#include "xml-elements/XmlElement.h"
#include "XmlElement.h"
class XmlProlog : public XmlElement
{
public:
enum class Version{
V1_0
};