#ifndef _AVIFILE_FOURCC_HPP_ #define _AVIFILE_FOURCC_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _AVIFILE_AVIDEFS_HPP_ #include #endif class FOURCC { public: FOURCC(void); FOURCC(String driverName); FOURCC(DWORD fccValue); FOURCC(const FOURCC &someFOURCC); virtual ~FOURCC(); FOURCC &operator=(const FOURCC &someFOURCC); WORD operator==(const FOURCC &someFOURCC)const; String toString(void)const; DWORD toDWORD(void)const; operator DWORD(void)const; private: DWORD makeFOURCC(String stringFOURCC)const; String makeFOURCCString(void)const; VFWFOURCC mFOURCC; }; inline FOURCC::FOURCC(void) : mFOURCC(0) { } inline FOURCC::FOURCC(const FOURCC &someFOURCC) { *this=someFOURCC; } inline FOURCC::FOURCC(String stringFOURCC) : mFOURCC(makeFOURCC(stringFOURCC)) { } inline FOURCC::FOURCC(DWORD fccValue) : mFOURCC(fccValue) { } inline FOURCC::~FOURCC() { } inline String FOURCC::toString(void)const { return makeFOURCCString(); } inline FOURCC::operator DWORD(void)const { return mFOURCC; } inline DWORD FOURCC::toDWORD(void)const { return mFOURCC; } inline FOURCC &FOURCC::operator=(const FOURCC &someFOURCC) { mFOURCC=(DWORD)someFOURCC; return *this; } inline WORD FOURCC::operator==(const FOURCC &someFOURCC)const { return (DWORD)*this==(DWORD)someFOURCC; } #endif