2016-05-17 03:04:11 +12:00
|
|
|
#pragma once
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
#ifndef TTIO_SVG_INCLUDED
|
|
|
|
#define TTIO_SVG_INCLUDED
|
|
|
|
|
|
|
|
#include "tlevel_io.h"
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
2016-06-29 18:17:12 +12:00
|
|
|
class TLevelReaderSvg final : public TLevelReader {
|
2016-03-19 06:57:51 +13:00
|
|
|
public:
|
2016-06-15 18:43:10 +12:00
|
|
|
TLevelReaderSvg(const TFilePath &path);
|
|
|
|
~TLevelReaderSvg() {}
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-19 20:06:29 +12:00
|
|
|
TLevelP loadInfo() override;
|
|
|
|
TImageReaderP getFrameReader(TFrameId fid) override;
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
// QString getCreator();
|
|
|
|
// friend class TImageReaderPli;
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
private:
|
2016-06-15 18:43:10 +12:00
|
|
|
TLevelP m_level;
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
public:
|
2016-06-15 18:43:10 +12:00
|
|
|
static TLevelReader *create(const TFilePath &f) {
|
|
|
|
return new TLevelReaderSvg(f);
|
|
|
|
}
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
private:
|
2016-06-15 18:43:10 +12:00
|
|
|
// not implemented
|
|
|
|
TLevelReaderSvg(const TLevelReaderSvg &);
|
|
|
|
TLevelReaderSvg &operator=(const TLevelReaderSvg &);
|
2016-03-19 06:57:51 +13:00
|
|
|
};
|
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
namespace Tiio {
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-29 18:17:12 +12:00
|
|
|
class SvgWriterProperties final : public TPropertyGroup {
|
2016-03-19 06:57:51 +13:00
|
|
|
public:
|
2016-06-15 18:43:10 +12:00
|
|
|
TEnumProperty m_strokeMode;
|
|
|
|
TEnumProperty m_outlineQuality;
|
|
|
|
SvgWriterProperties();
|
2016-03-19 06:57:51 +13:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2016-06-29 18:17:12 +12:00
|
|
|
class TLevelWriterSvg final : public TLevelWriter {
|
2016-06-15 18:43:10 +12:00
|
|
|
//! object to manage a pli
|
|
|
|
// ParsedPli *m_pli;
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
//! number of frame in pli
|
|
|
|
// UINT m_frameNumber;
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
// vettore da utilizzare per il calcolo della palette
|
|
|
|
// std::vector<TPixel> m_colorArray;
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
public:
|
2016-06-15 18:43:10 +12:00
|
|
|
TLevelWriterSvg(const TFilePath &path, TPropertyGroup *winfo);
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-19 20:06:29 +12:00
|
|
|
TImageWriterP getFrameWriter(TFrameId fid) override;
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
friend class TImageWriterSvg;
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
public:
|
2016-06-15 18:43:10 +12:00
|
|
|
static TLevelWriter *create(const TFilePath &f, TPropertyGroup *winfo) {
|
|
|
|
return new TLevelWriterSvg(f, winfo);
|
|
|
|
}
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
private:
|
2016-06-15 18:43:10 +12:00
|
|
|
// not implemented
|
|
|
|
TLevelWriterSvg(const TLevelWriterSvg &);
|
|
|
|
TLevelWriterSvg &operator=(const TLevelWriterSvg &);
|
2016-03-19 06:57:51 +13:00
|
|
|
};
|