Shinya Kitaoka 810553
#pragma once
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifndef TTIO_SVG_INCLUDED
Toshihiro Shimizu 890ddd
#define TTIO_SVG_INCLUDED
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include "tlevel_io.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif
Toshihiro Shimizu 890ddd
Shinya Kitaoka d1f6c4
class TLevelReaderSvg final : public TLevelReader {
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  TLevelReaderSvg(const TFilePath &path);
Shinya Kitaoka 120a6e
  ~TLevelReaderSvg() {}
Toshihiro Shimizu 890ddd
Shinya Kitaoka 473e70
  TLevelP loadInfo() override;
Shinya Kitaoka 473e70
  TImageReaderP getFrameReader(TFrameId fid) override;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  // QString getCreator();
Shinya Kitaoka 120a6e
  // friend class TImageReaderPli;
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
private:
Shinya Kitaoka 120a6e
  TLevelP m_level;
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  static TLevelReader *create(const TFilePath &f) {
Shinya Kitaoka 120a6e
    return new TLevelReaderSvg(f);
Shinya Kitaoka 120a6e
  }
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
private:
Shinya Kitaoka 120a6e
  // not implemented
Shinya Kitaoka 120a6e
  TLevelReaderSvg(const TLevelReaderSvg &);
Shinya Kitaoka 120a6e
  TLevelReaderSvg &operator=(const TLevelReaderSvg &);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
namespace Tiio {
Toshihiro Shimizu 890ddd
Shinya Kitaoka d1f6c4
class SvgWriterProperties final : public TPropertyGroup {
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  TEnumProperty m_strokeMode;
Shinya Kitaoka 120a6e
  TEnumProperty m_outlineQuality;
Shinya Kitaoka 120a6e
  SvgWriterProperties();
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Shinya Kitaoka d1f6c4
class TLevelWriterSvg final : public TLevelWriter {
Shinya Kitaoka 120a6e
  //! object to manage a pli
Shinya Kitaoka 120a6e
  // ParsedPli *m_pli;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  //! number of frame in pli
Shinya Kitaoka 120a6e
  //  UINT  m_frameNumber;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  //  vettore da utilizzare per il calcolo della palette
Shinya Kitaoka 120a6e
  // std::vector<tpixel> m_colorArray;</tpixel>
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  TLevelWriterSvg(const TFilePath &path, TPropertyGroup *winfo);
Toshihiro Shimizu 890ddd
Shinya Kitaoka 473e70
  TImageWriterP getFrameWriter(TFrameId fid) override;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  friend class TImageWriterSvg;
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  static TLevelWriter *create(const TFilePath &f, TPropertyGroup *winfo) {
Shinya Kitaoka 120a6e
    return new TLevelWriterSvg(f, winfo);
Shinya Kitaoka 120a6e
  }
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
private:
Shinya Kitaoka 120a6e
  // not implemented
Shinya Kitaoka 120a6e
  TLevelWriterSvg(const TLevelWriterSvg &);
Shinya Kitaoka 120a6e
  TLevelWriterSvg &operator=(const TLevelWriterSvg &);
Toshihiro Shimizu 890ddd
};