Blame toonz/sources/image/mov/tiio_movL.h
|
Shinya Kitaoka |
810553 |
#pragma once
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#ifndef TIIO_MOV_H
|
|
Toshihiro Shimizu |
890ddd |
#define TIIO_MOV_H
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#include "openquicktime.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "tlevel_io.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "tthread.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
class TImageWriterMov;
|
|
Toshihiro Shimizu |
890ddd |
class TImageReaderMov;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
bool IsQuickTimeInstalled();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
class TLevelWriterMov : public TLevelWriter {
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
TLevelWriterMov(const TFilePath &path, TWriterInfo *winfo);
|
|
Shinya Kitaoka |
120a6e |
~TLevelWriterMov();
|
|
Shinya Kitaoka |
120a6e |
TImageWriterP getFrameWriter(TFrameId fid);
|
|
Shinya Kitaoka |
120a6e |
friend class TImageWriterMov;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
static TLevelWriter *create(const TFilePath &f, TWriterInfo *winfo) {
|
|
Shinya Kitaoka |
120a6e |
return new TLevelWriterMov(f, winfo);
|
|
Shinya Kitaoka |
120a6e |
};
|
|
Shinya Kitaoka |
120a6e |
void saveSoundTrack(TSoundTrack *st);
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
class TLevelReaderMov : public TLevelReader {
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
TLevelReaderMov(const TFilePath &path);
|
|
Shinya Kitaoka |
120a6e |
~TLevelReaderMov();
|
|
Shinya Kitaoka |
120a6e |
TImageReaderP getFrameReader(TFrameId fid);
|
|
Shinya Kitaoka |
120a6e |
friend class TImageReaderMov;
|
|
Shinya Kitaoka |
120a6e |
TLevelP loadInfo();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
int m_IOError;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
private:
|
|
Shinya Kitaoka |
120a6e |
TThread::Mutex m_mutex;
|
|
Shinya Kitaoka |
120a6e |
short m_refNum;
|
|
Shinya Kitaoka |
120a6e |
short m_resId;
|
|
Shinya Kitaoka |
120a6e |
long m_depth;
|
|
Shinya Kitaoka |
120a6e |
int m_lx, m_ly;
|
|
Shinya Kitaoka |
120a6e |
oqt_t *m_fileMov;
|
|
Shinya Kitaoka |
120a6e |
int m_lastFrameDecoded;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
static TLevelReader *create(const TFilePath &f) {
|
|
Shinya Kitaoka |
120a6e |
return new TLevelReaderMov(f);
|
|
Shinya Kitaoka |
120a6e |
};
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//-----------------------------------------------------------------------------
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
class TWriterInfoMov : public TWriterInfo {
|
|
Shinya Kitaoka |
120a6e |
// friend TImageWriterMov;
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
static TWriterInfo *create(const string &ext) { return new TWriterInfoMov(); }
|
|
Shinya Kitaoka |
120a6e |
~TWriterInfoMov() {}
|
|
Shinya Kitaoka |
120a6e |
TWriterInfo *clone() const { return new TWriterInfoMov(); }
|
|
Shinya Kitaoka |
120a6e |
|
|
Toshihiro Shimizu |
890ddd |
private:
|
|
Shinya Kitaoka |
120a6e |
TWriterInfoMov() {}
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
TWriterInfoMov(const TWriterInfoMov &);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
TWriterInfoMov &operator=(const TWriterInfoMov &); // not implemented
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
#endif // TIIO_MOV_H
|