kanjivg-tools/Libraries/Kanimaji/Source/SVG.hpp

32 lines
630 B
C++

#ifndef KANIMAJI_SVG_HPP
#define KANIMAJI_SVG_HPP
#include <memory>
#include <string>
#include <string_view>
#include <vector>
namespace Kanimaji::SVG
{
class Path
{
public:
class Element;
public:
Path(std::string_view definition);
Path(const Path&) = delete;
Path& operator=(const Path&) = delete;
Path(Path&&) = default;
Path& operator=(Path&&) = default;
~Path();
double Length() const;
void Serialize(std::string& out) const;
private:
std::vector<std::unique_ptr<Element>> mSegments;
};
}
#endif // KANIMAJI_SVG_HPP