93 lines
1.4 KiB
C++
93 lines
1.4 KiB
C++
#ifndef _AVIFILE_FOURCC_HPP_
|
|
#define _AVIFILE_FOURCC_HPP_
|
|
#ifndef _COMMON_WINDOWS_HPP_
|
|
#include <common/windows.hpp>
|
|
#endif
|
|
#ifndef _COMMON_STRING_HPP_
|
|
#include <common/string.hpp>
|
|
#endif
|
|
#ifndef _AVIFILE_AVIDEFS_HPP_
|
|
#include <avifile/avidefs.hpp>
|
|
#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
|
|
|