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