tahoma2d/toonz/sources/image/zcc/tiio_zcc.h

60 lines
1.4 KiB
C
Raw Normal View History

2016-05-17 03:04:11 +12:00
#pragma once
2016-03-19 06:57:51 +13:00
#include "tlevel_io.h"
#include "tfile.h"
#include <map>
#ifdef DOPO_LO_FACCIAMO
class TImageReaderWriterZCC;
struct C {
2016-06-15 18:43:10 +12:00
C() : m_offset(0), m_size(0), m_lx(0), m_ly(0) {}
C(TINT64 offset, long size, int lx, int ly)
: m_offset(offset), m_size(size), m_lx(lx), m_ly(ly) {}
TINT64 m_offset;
long m_size;
int m_lx;
int m_ly;
2016-03-19 06:57:51 +13:00
};
2016-06-15 18:43:10 +12:00
class TLevelReaderWriterZCC : public TLevelReaderWriter {
friend class TImageReaderWriterZCC;
TFile m_file;
TFile m_indexFile;
bool m_initDone;
ULONG m_blockSize;
std::map<int, C> m_map;
2016-03-19 06:57:51 +13:00
public:
2016-06-15 18:43:10 +12:00
TLevelReaderWriterZCC(const TFilePath &path, TReaderWriterInfo *winfo);
~TLevelReaderWriterZCC();
TImageReaderWriterP getFrameReaderWriter(TFrameId fid);
static TLevelReaderWriter *create(const TFilePath &f,
TReaderWriterInfo *winfo) {
return new TLevelReaderWriterZCC(f, winfo);
};
TLevelP loadInfo();
void saveSoundTrack(TSoundTrack *st);
2016-03-19 06:57:51 +13:00
};
//------------------------------------------------------------------------------
2016-06-15 18:43:10 +12:00
class TReaderWriterInfoZCC : public TReaderWriterInfo {
2016-03-19 06:57:51 +13:00
public:
2016-06-15 18:43:10 +12:00
friend TLevelReaderWriterZCC;
2016-03-19 06:57:51 +13:00
public:
2016-06-15 18:43:10 +12:00
static TReaderWriterInfo *create(const string &ext);
~TReaderWriterInfoZCC();
TReaderWriterInfo *clone() const;
2016-03-19 06:57:51 +13:00
private:
2016-06-15 18:43:10 +12:00
TReaderWriterInfoZCC();
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
TReaderWriterInfoZCC(const TReaderWriterInfoZCC &);
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
TReaderWriterInfoZCC &operator=(
const TReaderWriterInfoZCC &); // not implemented
2016-03-19 06:57:51 +13:00
};
#endif