#ifndef _AVIFILE_FORMATHEADER_HPP_ #define _AVIFILE_FORMATHEADER_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_FILE_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _COMMON_MMSYSTEM_HPP_ #include #endif #ifndef _AVIFILE_AVILISTCHUNK_HPP_ #include #endif #ifndef _AVIFILE_STREAMTYPE_HPP_ #include #endif #ifndef _AVIFILE_AVIBITMAP_HPP_ #include #endif #ifndef _AVIFILE_AVIWAVE_HPP_ #include #endif //#ifndef _AVIFILE_AVIDV_HPP_ //#include //#endif class AVIFormatHeader : public StreamType { public: AVIFormatHeader(void); AVIFormatHeader(const StreamType &someStreamType); AVIFormatHeader(const AVIFormatHeader &someAVIFormatHeader); virtual ~AVIFormatHeader(); bool read(File &inFile); bool write(File &outFile); AVIFormatHeader &operator=(const StreamType &someStreamType); AVIFormatHeader &operator=(const AVIFormatHeader &someAVIFormatHeader); WORD operator==(const AVIFormatHeader &someAVIFormatHeader)const; AVIBitmap &getBitmap(void); AVIWaveFormatEx &getWave(void); private: AVIBitmap mAVIBitmap; AVIWaveFormatEx mAVIWaveFormatEx; // AVIDigitalVideo mAVIDigitalVideo; }; inline AVIFormatHeader::AVIFormatHeader(void) { } inline AVIFormatHeader::AVIFormatHeader(const StreamType &someStreamType) : StreamType(someStreamType) { } inline AVIFormatHeader::AVIFormatHeader(const AVIFormatHeader &someAVIFormatHeader) { *this=someAVIFormatHeader; } inline AVIFormatHeader::~AVIFormatHeader() { } inline AVIFormatHeader &AVIFormatHeader::operator=(const AVIFormatHeader &someAVIFormatHeader) { if(StreamType::Video==streamType())mAVIBitmap=someAVIFormatHeader.mAVIBitmap; else if(StreamType::Audio==streamType())mAVIWaveFormatEx=someAVIFormatHeader.mAVIWaveFormatEx; else if(StreamType::Text==streamType()){;} return *this; } inline AVIFormatHeader &AVIFormatHeader::operator=(const StreamType &someStreamType) { (StreamType&)*this=someStreamType; return *this; } inline WORD AVIFormatHeader::operator==(const AVIFormatHeader &someAVIFormatHeader)const { if(StreamType::Video==streamType())return mAVIBitmap==someAVIFormatHeader.mAVIBitmap; else if(StreamType::Audio==streamType())return mAVIWaveFormatEx==someAVIFormatHeader.mAVIWaveFormatEx; else if(StreamType::Text==streamType())return FALSE; return FALSE; } inline AVIBitmap &AVIFormatHeader::getBitmap(void) { return mAVIBitmap; } inline AVIWaveFormatEx &AVIFormatHeader::getWave(void) { return mAVIWaveFormatEx; } /* inline AVIFormatHeader::operator AVIBitmap&(void) { return mAVIBitmap; } inline AVIFormatHeader::operator AVIWaveFormatEx&(void) { return mAVIWaveFormatEx; } */ #endif