117 lines
2.1 KiB
C++
117 lines
2.1 KiB
C++
#ifndef _AVIFILE_INDEXCHUNK_HPP_
|
|
#define _AVIFILE_INDEXCHUNK_HPP_
|
|
#ifndef _COMMON_FILE_HPP_
|
|
#include <common/file.hpp>
|
|
#endif
|
|
#ifndef _COMMON_VFW_HPP_
|
|
#include <common/vfw.hpp>
|
|
#endif
|
|
|
|
class IndexChunk : private AVIINDEXENTRY
|
|
{
|
|
public:
|
|
IndexChunk(void);
|
|
IndexChunk(const IndexChunk &someIndexChunk);
|
|
virtual ~IndexChunk();
|
|
bool read(File &inFile);
|
|
IndexChunk &operator=(const IndexChunk &someIndexChunk);
|
|
bool operator==(const IndexChunk &someIndexChunk);
|
|
DWORD indexID(void)const;
|
|
DWORD flags(void)const;
|
|
DWORD offset(void)const;
|
|
DWORD length(void)const;
|
|
private:
|
|
void indexID(DWORD indexID);
|
|
void flags(DWORD flags);
|
|
void offset(DWORD offset);
|
|
void length(DWORD length);
|
|
};
|
|
|
|
inline
|
|
IndexChunk::IndexChunk(void)
|
|
{
|
|
AVIINDEXENTRY::ckid=0;
|
|
AVIINDEXENTRY::dwFlags=0;
|
|
AVIINDEXENTRY::dwChunkOffset=0;
|
|
AVIINDEXENTRY::dwChunkLength=0;
|
|
}
|
|
|
|
inline
|
|
IndexChunk::IndexChunk(const IndexChunk &someIndexChunk)
|
|
{
|
|
*this=someIndexChunk;
|
|
}
|
|
|
|
inline
|
|
IndexChunk::~IndexChunk()
|
|
{
|
|
}
|
|
|
|
inline
|
|
IndexChunk &IndexChunk::operator=(const IndexChunk &someIndexChunk)
|
|
{
|
|
indexID(someIndexChunk.indexID());
|
|
flags(someIndexChunk.flags());
|
|
offset(someIndexChunk.offset());
|
|
length(someIndexChunk.length());
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
bool IndexChunk::operator==(const IndexChunk &someIndexChunk)
|
|
{
|
|
return (indexID()==someIndexChunk.indexID()&&
|
|
flags()==someIndexChunk.flags()&&
|
|
offset()==someIndexChunk.offset()&&
|
|
length()==someIndexChunk.length());
|
|
}
|
|
|
|
inline
|
|
DWORD IndexChunk::indexID(void)const
|
|
{
|
|
return AVIINDEXENTRY::ckid;
|
|
}
|
|
|
|
inline
|
|
void IndexChunk::indexID(DWORD indexID)
|
|
{
|
|
AVIINDEXENTRY::ckid=indexID;
|
|
}
|
|
|
|
inline
|
|
DWORD IndexChunk::flags(void)const
|
|
{
|
|
return AVIINDEXENTRY::dwFlags;
|
|
}
|
|
|
|
inline
|
|
void IndexChunk::flags(DWORD flags)
|
|
{
|
|
AVIINDEXENTRY::dwFlags=0;
|
|
}
|
|
|
|
inline
|
|
DWORD IndexChunk::offset(void)const
|
|
{
|
|
return AVIINDEXENTRY::dwChunkOffset;
|
|
}
|
|
|
|
inline
|
|
void IndexChunk::offset(DWORD offset)
|
|
{
|
|
AVIINDEXENTRY::dwChunkOffset=offset;
|
|
}
|
|
|
|
inline
|
|
DWORD IndexChunk::length(void)const
|
|
{
|
|
return AVIINDEXENTRY::dwChunkLength;
|
|
}
|
|
|
|
inline
|
|
void IndexChunk::length(DWORD length)
|
|
{
|
|
AVIINDEXENTRY::dwChunkLength;
|
|
}
|
|
#endif
|